Ana içeriğe atla

C# Dinamik İki Nesnenin Çarpışmasını Kontrol Etme (C# Oyun Yapımı)

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

Bu blogdaki popüler yayınlar

Örnek Scratch 3 Projeleri - Scratch Bulmaca Oyunu

 Scratch Bulmaca Oyunu     Oyunu İndir 1)     Sahnemize şekilde gördüğümüz şekilde kuklalarımızı ekliyoruz. Kukla çizimine tıklayıp dikdörtgen aracı ile bir tane kukla ekleyip 12 adet kopyalıyoruz. Resimde ki gibi yerleştiriyoruz.   2)     Çizim aracını kullanarak soru isminde bir kukla oluşturuyoruz. Bu kukla karakterden önce hareket edip soruların yerlerini belli edecek. Bu durumda ana karakterin gidebileceği 3 farklı soru bulunmakta. Rastgele sayı adında bir değişken oluşturup operatörler menüsünde ki bloğu kullanarak 1-3 arasında değerler almasını sağlıyoruz. Rastgele sayı değişkenine göre soru kuklası ve ardından karakterimizin hareketini sağlıyoruz. 3)     Soru kuklalarının kodlarken öncelikle Monkey ana karakterinin soru kuklasına değip değmediniğini   kontrol ediyoruz. Kukla soruya değiyorsa soruyu sorup cevabı bekliyoru...

Örnek Scratch Projeleri - Scratch 3 Mayın Tarlası Oyunu

Scratch Mayın Tarlası Oyunu UYGULAMASI   Oyunu İndir    1)     Sahnemizi dekor kütüphanesinden aşağıdaki görseli seçiyoruz. 2)     Sahnemize Google Görsellerden 3 adet bomba kuklasını ekliyoruz . Ardından patlama kılığını kostümler bölümünden ekliyoruz. Oyun başladığında bomba kılığında ve rastgele konumlarda olmalarını sağlıyoruz. Bombala Giga kuklasına değdiğinde ise oyunun bittiğini ifade eden haberi yolluyoruz. 3)     Giga kuklasını oyunun başında tam sahne ortasında konumlanmasını sağlıyoruz. Bombaya dokunduğunda ise gelen oyun bitti haberini alınca kaybettin tekrar dene mesajı veriyoruz. Eğer anahtar kuklasına değiyorsa kazandı tebrikler mesajı veriyoruz. Giga kuklasının anahtara değmediği durumda ise kuklanın hangi yöne gitmesi gerektiğini soruyoruz. Aldığımız cevaba göre kuklanın yönünü değiştiriyoruz. Ardından kuklanın kaç a...