c# Desktop

Tetris Oyununu c# Dilini Kullanarak Form Sayfasında Kodlama15

Tetris oyunumuza biraz daha işlevsellik kazandıralım. Şekiller hareket ettikçe hoparlörden ses gelmesini sağlayalım. Form sayfalarında wav uzantılı ses dosyalarını çok rahat kullanabilirsiniz. Ben şekil hareket ettikçe sesin çıkmasını, şekil zemine oturduğunda sesin çıkmasını, satırlar gizlendiğinde de sesin çıkmasını istiyorum.
 
Adım 1: Öncelikle ses dosyalarını buradan bilgisayarımıza indirelim. Siz isterseniz kendi oyununuza ait ses dosyalarını internetten araştırabilirsiniz.
 
Adım 2: Projeye Sounds isminde bir klasör ekleyelim. İndirdiğimiz ses dosyalarını bu klasörün içine kopyalayalım.
 
Adım 3: Bu ses dosyalarının ismini tutacağımız sesler isminde bir dizi tanımlayalım. Ayrıca sesi çalacağımız SoundPlayer tipinde ses değişkenini de tanımlayalım.
 
string[] sesler = { "hareket.wav", "zemin.wav", "doldurma.wav" };
SoundPlayer ses;
 
Adım 4: Sağa ve sola yön tuşlarıyla şekiller hareket ediyordu. Yer müsaitse şekil hareket ediyordu. Şekile ait hareket sesini buralarda kullanacağız.
 
      if (solaGit == true)
         {
           for (int i = 0; i < 4; i++)
            {
               kare[aktifSekil[i]].Visible = false;
               aktifSekil[i] = aktifSekil[i] - 1;
            }
 
             yol = Application.StartupPath.Replace("bin\\Debug", "Sounds\\");
             ses = new SoundPlayer(yol + sesler[0]);
             ses.Play();
          }
 
Projeyi çalıştıralım. Sol yön tuşuna bastığımızda sesin geldiğini görürsünüz.
 
Adım 5: Şimdi sagaGit değişkeninin değeri true olduğunda kullanılan kod bloğunu tekrar düzenleyelim.
 
     if (sagaGit == true)
         {
           for (int i = 3; i > -1; i--)
            {
               kare[aktifSekil[i]].Visible = false;
               aktifSekil[i] = aktifSekil[i] + 1;
            }
 
             yol = Application.StartupPath.Replace("bin\\Debug", "Sounds\\");
             ses = new SoundPlayer(yol + sesler[0]);
             ses.Play();
          }
 
Projeyi çalıştıralım. Sağ yön tuşuna bastığımızda sesin geldiğini görürsünüz.
 
Adım 6: Peki şeklin zemine geldiğini nerede kontrol ediyoruz? Timer olayında SekilSec() metodunu çağırdığımız satırın altına aşağıdaki kodları yazalım.
 
         yol = Application.StartupPath.Replace("bin\\Debug", "Sounds\\");
         ses = new SoundPlayer(yol + sesler[1]);
         ses.Play();
 
Adım 7: Satırın tamamı şekillerle doldurulduğunda doldurma.wav isimli ses dosyasını çalıştıralım. TetrisKontrol() fonksiyonunda satirSil değişkeninin
değerinin true olduğu komut satırının içine aşağıdaki kodları ekleyelim.
 
         int sleepTime = 1500;
         Thread.Sleep(sleepTime);
         yol = Application.StartupPath.Replace("bin\\Debug", "Sounds\\");
         ses = new SoundPlayer(yol + sesler[2]);
         ses.Play();
 
Adım 8: Şekil aşağıya doğru inerken sesin çalmasını sağlayalım. Bunun için devamet değişkeninin değeri true olduğunda tanımlanan kod satırlarına aşağıdaki satırları ekleyelim.
 
         yol = Application.StartupPath.Replace("bin\\Debug", "Sounds\\");
         ses = new SoundPlayer(yol + sesler[0]);
         ses.Play();
 
Projeyi çalıştırdığımızda ses dosyalarının düzgün bir şekilde çalıştığını görürsünüz. Bir sonraki makalede görüşmek üzere.

İlgili Makaleler
c# Console Uygulamalarında ReadKey Metoduyla Klavye Tuşlarını Kontrol Etme
Yıkıcı Metotlar (Destructors)
Sayısal Loto Çekilişini Yapan c# Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Kaçan Buton Oyununu Yapan c# Uygulaması
Yazdırma İletişim Kutusu (PrintDialog)
C# Uygulamalarında HashMap Dizi Oluşturma
C# Uygulamalarında Dictionary Dizi Oluşturma
c# Form Uygulamalarında Ekranın Genişliğini ve Yüksekliğini Bulma
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Konsol Ekranında Kod Yazma ve Çalıştırma
LINQ - Gruplama (Grouping) Örnekleri
Veri Girişi Maskeleme (MaskedTextBox)
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması
Veri Girişi Doğrulama (Input Validation)
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
C# Programlama Dilinde Veri Tipleri
Form Sayfalarında Ayrıntılı ListBox Kullanımı
Form Üzerine Satranç Tahtası Yapan c# Uygulaması
Belirtilen Sayı Kadar Yıldız Oluşturan c# Form Uygulaması

Yorum Ekle
   
Kötü İyi