C# Çarpışma Kontrolü
Yukarıda fotoğrafta görmüş olduğunuz fotoğraf hâla geliştirmekte olduğum Bilişim Teknolojileri ve Yazılım dersi için bir oyun projesi. Oyunu C# programlama dili ile geliştiriyorum. C# dili oyun geliştirmek için kullanılmaz genellikle.Oyun geliştirmek için genelde Unity, C++,C gibi diller kullanılır.C# dilinde geliştirmemin nedeni, üniversitede Programlama Dilleri dersi için geliştirilen bir proje olmasıdır. Bu oyunun kilit noktası yukarıdan düşen elmas ve bombaların aşağıda bulunan sandığa değip değmediğinin kontrolüdür.
Bu kontrolü aslında Unity'de kod yazmadan yapabilirsiniz.Ancak C# bir oyun geliştirme platformu olmadığı için bazı sorunlarla karşılaşıyoruz. Bu kontrolün yapılması bazı matematiksel işlemleri beraberinde getiriyor. Bu işlemler sonucunda oyunumuz aslında biraz yavaş çalışıyor. Oyunda elmaslar 5 puan değerinde, bombaları sandığa aldığımız zamanda ekrana Bilişim Teknolojileri ve Yazılım dersi ile ilgili sorular geliyor.Soruyu doğru cevaplarsak 10 Puan kazanıyoruz, yanlış cevaplarsak 20 puan kaybediyoruz.Oyunun detaylı açıklamasını ilerleyen zamanlarda siteye yükleyip açıklayacağım.Ben bu çarpışma kodunu çok zor buldum. Bu yüzden burada kodları paylaşıyorum. Herhangi bir sorunuz olursa benimle iletişime geçebilirsiniz.İyi Çalışmalar.....
Çarpışma Kod Blogu
ptr_bomba.Location = new Point(ptr_bomba.Location.X, ptr_bomba.Location.Y + 15);//bombaları aşagı kaydır
float mutlakX = Math.Abs((ptr_bomba.Left + (ptr_bomba.Width / 2)) - (sandik.Left + (sandik.Width / 2)));/* X koordinatları arası farkın mutlak değeri. */
float mutlakY = Math.Abs((ptr_bomba.Top + (ptr_bomba.Height / 2)) - (sandik.Top + (sandik.Height / 2)));/* Y koordinatları arası farkın mutlak değeri . */
float farkGenislik = (ptr_bomba.Width / 2) + (sandik.Width / 2); /*Genişliklerin yarılarının toplamı.*/
float farkYukselik = (ptr_bomba.Height / 2) + (sandik.Height / 2); /* Yüksekliklerin yarılarının toplamı. */
Yorumlar
Yorum Gönder