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 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...

Örnek Scratch 3 Projelerei - Scratch 3 Trafik Işık Kontrol Oyunu

Scratch 3 Trafik Işık Kontrolü Oyunu İndir 1) Sahnemize şekilde ilk olarak dikdörtgen aracını kullanarak dört adet yeşil alan ekliyoruz. Ardından yol çizgilerinin ve yaya geçitlerinin tasarımını yapıyoruz. 2) Sahnemizde ki kuklaları Google görselleri indirip resimdeki gibi tasarlıyoruz. 3) Trafik kuklalarını için iki adet değişken oluşturuyoruz. Bu değişkenleri değerlerini 5 saniyede bir değiştirerek ışıkların belli zaman periyotlarında yanmasını sağladık. Burada önemli nokta market bölümünde bulunan trafik ışığını ekstra 5 saniye bekletiyoruz ki oyunun başında diğer ışık ile değerleri aynı olmasın. 4) Araba ve Otobüs kuklasının ışık değişkenlerine göre göre hareket etmesini sağlıyoruz. Resimde görünün otobüs kuklasından farklı olarak araba kuklasında eğer ise değilse blogunu da kontrol etmemiz gereken okul değişkeni olacaktır. 5) İnsan kuklasının hareketlerini de aynı şekilde trafik ışıklarından gelen değişken değerlerine göre yapıyoruz. Aşağı ve Yukarı gi...

Programlama ve Matematik İlişkisi

Programlama ve Matematik İlişkisi             Programlama yapabilmek için matematik gerekli midir? bu sorunun cevabı ne evet nede hayır. Bu durum toplumda programlama ve matematik arasında yanlış bir ilişki kurulmasına neden olmuştur. Matematik bilmeden programlama yapılamaz gibi veya tam tersi.             Galileo derki:” Matematik kabul edelim veya etmeyelim her yerde karşımıza çıkacaktır.”   bu cümleden de anlaşılacağı üzere matematik tüm evrende işler. Bu cümleden anladığımız gibi matematik her yerde işler. Günlük hayatımızdan örnek verecek olursak neredeyse tüm elektronik cihazlarda matematik bilimi kullanılmaktadır. Bu cihazların çalışma prensibi 0 ve 1 olduğu için matematik biliminden faydalanılır. Cep telefonumuza bir mesaj geldiğinden bile bu metnin 0 ve 1’lerden oluşan bir ASCII kodu vardır. Ancak sadece burada değil programlamaya başlamadan algoritma ku...