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# Programında Bigpara Sayfasından Borsa Verilerini Selenium Kütüphanesini Kullanarak Çekme
Konsol Ekranında Kod Yazma ve Çalıştırma
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
Veri Girişi Doğrulama (Input Validation)
Girilen Ad Soyadı Form Sayfasında Dinamik Olarak Gösteren c# Form Uygulaması
CefSharp Kullanan Sekmelere Sahip Chromium Tarayıcı Oluşturma2
Tombala Oyununu Yapan Uygulamayı c# Dilinde Kodlama1
Kompleks Veri Bağlama (Complex Data Binding)
C# Uygulamalarında HashMap Dizi Oluşturma
Metodu Sonlandırma
Basit Veri Bağlama (Simple Data Binding)
Sayısal Loto Çekilişini Yapan c# Uygulaması
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Değişik Özelliklerde Grafik Çizimi Yapan c# Uygulaması
Doğum Günü Hesabını Ayrıntılı Olarak Yapan c# Uygulaması
Veri Girişi Maskeleme (MaskedTextBox)
c# Form Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma
Nesne Tabanlı Programlamaya Giriş
Form Sınıfına Ait Bazı Olayların ve Özelliklerin Kullanılmasına Ait Örnek Uygulama

Yorum Ekle
   
Kötü
İyi