c# Desktop

Tetris Oyununu c# Dilini Kullanarak Form Sayfasında Kodlama8

İkinci şeklimiz mavi renkli olan sağa merdiven basamaklı olan şekildir Bu şeklimizde iki durumda döndürülmektedir. sekilNo değişkenimizin değeri 2 olduğunda bu şekil ile ilgili döndürme işlemi yapılacaktır. Bu şeklin dönme işlemini gerçekleştirelim.

Adım 1: Şeklimize ait durum değişkeninin 1 olması durumunu kontrol edelim.

            case 2:
                if (durum == 1) {
 
                }
                break;
Adım 2: Öncelikle şeklin başlangıçta dönme konumunda olup olmadığını kontrol edelim.
            case 2:
                if (durum == 1) {
                    if (aktifSekil[2] > 10) {
 
                    }
                }
                break;
Adım 3: Şeklimizin bir önceki ve bir sonraki şekle göre durumunu kontrol edelim.
            case 2:
                if (durum == 1) {
                    if (aktifSekil[2] > 10) {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[3] - 10].Visible == false && kare[aktifSekil[3] + 10].Visible == false){
 
                        }
                    }
                }
                break;
Adım 4: Kontrol işlemi doğru sonucu bulduğunda şeklimizi gizleyelim ve yeni şeklin konumunu belirleyelim.
                        case 2:
                            if (durum == 1)
                            {
                                if (aktifSekil[2] > 10)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[3] - 10].Visible == false && kare[aktifSekil[3] + 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[2];
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[3] + 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                break;
Adım 5: Şimdi durum değerinin 2 olması halini kontrol edelim.
                        case 2:
                            if (durum == 1)
                            {
                                if (aktifSekil[2] > 10)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[3] - 10].Visible == false && kare[aktifSekil[3] + 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[2];
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[3] + 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            } else if (durum == 2) {
 
                }
                break;
Adım 6: Şeklimizin önceki ve sonraki konumunu kontrol edelim. Ayrıca şeklin duvarlara yanaşık olup olmadığını da kontrol etmeliyiz.
                        case 2:
                            if (durum == 1)
                            {
                                if (aktifSekil[2] > 10)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[3] - 10].Visible == false && kare[aktifSekil[3] + 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[2];
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[3] + 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] - 2].Visible == false && kare[aktifSekil[3] - 10].Visible == false && !(aktifSekil[0] % 10 == 1))
                                {
 
                    }
 
                }
                break;
Adım 7: Şart cümlemiz doğru sonucu verdiyse mevcut şekli gizleyelim. Yeni şeklin konumunu belirleyelim.
                        case 2:
                            if (durum == 1)
                            {
                                if (aktifSekil[2] > 10)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[3] - 10].Visible == false && kare[aktifSekil[3] + 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[2];
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[3] + 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] - 2].Visible == false && kare[aktifSekil[3] - 10].Visible == false && !(aktifSekil[0] % 10 == 1))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] + 9;
                                    aktifSekil[1] = aktifSekil[0] + 1;
                                    aktifSekil[2] = aktifSekil[1] - 10;
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 1;
                                }
                            }
                            break;
Projemizi kaydedip çalıştıralım. Bu şekilde de dönme işleminin gerçekelştiğini görürsünüz. Bir sonraki derste 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)
CefSharp Kullanan Sekmelere Sahip Chromium Tarayıcı Oluşturma2
Girilen Ad Soyadı Form Sayfasında Dinamik Olarak Gösteren c# Form Uygulaması
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)
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
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ı
Doğum Günü Hesabını Ayrıntılı Olarak Yapan c# Uygulaması
Değişik Özelliklerde Grafik Çizimi Yapan c# Uygulaması
İkinci Dereceden Bir Bilinmeyenli Denklemin Köklerini Bulan c# Console Uygulaması
Veri Girişi Maskeleme (MaskedTextBox)
Nesne Tabanlı Programlamaya Giriş
c# Form Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma

Yorum Ekle
   
Kötü
İyi