c# Desktop

Tetris Oyununu c# Dilini Kullanarak Form Sayfasında Kodlama11

Altıncı şeklimiz kahverengi renkli olan sola yönlü baston şekildir. Bu şeklimiz dört farklı durumda döndürülmektedir. sekilNo değişkenimizin değeri 6 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 6:
                if (durum == 1) {
 
                }
                break;
Adım 2: Öncelikle şeklin başlangıçta dönme konumunda olup olmadığını kontrol edelim.
            case 6:
                if (durum == 1) {
                    if (aktifSekil[1] > 10) {
 
                    }
                }
                break;
Adım 3: Şeklimizin bir önceki ve bir sonraki şekle göre durumunu kontrol edelim.
            case 6:
                if (durum == 1) {
                    if (aktifSekil[1] > 10) {
                        if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false){
 
                        }
                    }
                }
                break;
Adım 4: Kontrol işlemi doğru sonucu bulduğunda şeklimizi gizleyelim ve yeni şeklin konumunu belirleyelim.
            case 6:
                if (durum == 1) {
                    if (aktifSekil[1] > 10) {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                    }
                }
                break;
Adım 5: Şimdi durum değerinin 2 olması halini kontrol edelim.
            case 6:
                if (durum == 1) {
                    if (aktifSekil[1] > 10) {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 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 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0)){
 
                                       }
 
                             }
                            break;
Adım 7: Şart cümlemiz doğru sonucu verdiyse mevcut şekli gizleyelim. Yeni şeklin konumunu belirleyelim.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            break;
Adım 8: Şimdi durum değerinin 3 olması halini kontrol edelim.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            else if (durum == 3)
                            {
 
                            }
                            break;
Adım 9: Şeklimizin önceki ve sonraki konumunu kontrol edelim. Ayrıca şeklin duvarlara yanaşık olup olmadığını da kontrol etmeliyiz.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            else if (durum == 3)
                            {
                                if (aktifSekil[0] < 191)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[2] + 10].Visible == false && kare[aktifSekil[3] - 10].Visible == false)
                                    {
 
                                    }
                                }
                            }
                            break;
Adım 10: Önceki şekli gizleyelim ve yeni şeklin konumunu belirleyelim.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            else if (durum == 3)
                            {
                                if (aktifSekil[0] < 191)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[2] + 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] + 10;
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] + 1;
                                        durum = 4;
 
                                    }
                                }
                            }
                           break;
Adım 11: durum değişkeninin 4 olması durumunu kontrol edelim.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            else if (durum == 3)
                            {
                                if (aktifSekil[0] < 191)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[2] + 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] + 10;
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] + 1;
                                        durum = 4;
 
                                    }
                                }
                            }
                            else if (durum == 4)
                            {
 
                             }
                            break;
Adım 12: Şeklin önceki ve sonraki konumunu kontrol edelim. Ayrıca şeklin duvarlara denk gelip gelmediğine de bakalım.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            else if (durum == 3)
                            {
                                if (aktifSekil[0] < 191)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[2] + 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] + 10;
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] + 1;
                                        durum = 4;
 
                                    }
                                }
                            }
                            else if (durum == 4)
                            {
                                if (kare[aktifSekil[1] - 1].Visible == false && kare[aktifSekil[1] + 1].Visible == false && kare[aktifSekil[0] + 1].Visible == false && (!(aktifSekil[1] % 10 == 1)))
                                {
 
                                 }
 
                             }
                             break;
Adım 13: Şart doğruysa mevcut şekli gizleyelim. Yeni şeklin konumunu belirleyelim.
                        case 6:
                            if (durum == 1)
                            {
                                if (aktifSekil[1] > 10)
                                {
                                    if (kare[aktifSekil[0] + 10].Visible == false && kare[aktifSekil[1] + 10].Visible == false && kare[aktifSekil[1] - 10].Visible == false)
                                    {
                                        for (int i = 0; i < 4; i++)
                                        {
                                            kare[aktifSekil[i]].Visible = false;
                                        }
                                        aktifSekil[0] = aktifSekil[0] + 10;
                                        aktifSekil[1] = aktifSekil[1] + 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] - 10;
                                        durum = 2;
                                    }
                                }
                            }
                            else if (durum == 2)
                            {
                                if (kare[aktifSekil[2] - 1].Visible == false && kare[aktifSekil[2] + 1].Visible == false && kare[aktifSekil[3] - 1].Visible == false && !(aktifSekil[3] % 10 == 0))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[0] - 10;
                                    aktifSekil[1] = aktifSekil[0] - 10;
                                    aktifSekil[2] = aktifSekil[2];
                                    aktifSekil[3] = aktifSekil[2] + 1;
                                    durum = 3;
 
                                }
                            }
                            else if (durum == 3)
                            {
                                if (aktifSekil[0] < 191)
                                {
                                    if (kare[aktifSekil[2] - 10].Visible == false && kare[aktifSekil[2] + 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] + 10;
                                        aktifSekil[1] = aktifSekil[0] - 10;
                                        aktifSekil[2] = aktifSekil[1] - 10;
                                        aktifSekil[3] = aktifSekil[2] + 1;
                                        durum = 4;
 
                                    }
                                }
                            }
                            else if (durum == 4)
                            {
                                if (kare[aktifSekil[1] - 1].Visible == false && kare[aktifSekil[1] + 1].Visible == false && kare[aktifSekil[0] + 1].Visible == false && (!(aktifSekil[1] % 10 == 1)))
                                {
                                    for (int i = 0; i < 4; i++)
                                    {
                                        kare[aktifSekil[i]].Visible = false;
                                    }
                                    aktifSekil[0] = aktifSekil[1] - 1;
                                    aktifSekil[1] = aktifSekil[1];
                                    aktifSekil[2] = aktifSekil[1] + 11;
                                    aktifSekil[3] = aktifSekil[2] - 10;
                                    durum = 1;
 
                                }
                            }
                            break;
Projemizi kaydedip çalıştıralım. Bu şekilde de dönme işleminin gerçekleştiğini görürsünüz. Bir sonraki derste görüşmek üzere.

 


İlgili Makaleler
Basit Veri Bağlama (Simple Data Binding)
Veri Girişi Doğrulama (Input Validation)
c# Programında Bigpara Sayfasından Borsa Verilerini Selenium Kütüphanesini Kullanarak Çekme
Kompleks Veri Bağlama (Complex Data Binding)
TabControl Panelini Kullanarak Lokantalar İçin Müşteri Siparişi Alan c# Form Uygulaması
Veri Girişi Maskeleme (MaskedTextBox)
Yıkıcı Metotlar (Destructors)
Kaçan Buton Oyununu Yapan c# Uygulaması
Konsol Ekranında Kod Yazma ve Çalıştırma
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Kodlama
Form Sınıfı
Form Sınıfına Ait Bazı Olayların ve Özelliklerin Kullanılmasına Ait Örnek Uygulama
Verilen İki Matrisi Çarpan Programı c# Dilinde Form Ortamında Yapınız
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
c# Console Uygulamalarında Timer Kullanımı
Metodu Sonlandırma
GroupBox Paneliyle Gruplandırılan Bilgisayar Parçalarının Satışını Yapan c# Form Uygulaması
İkinci Dereceden Bir Bilinmeyenli Denklemin Köklerini Bulan c# Console Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması

Yorum Ekle
   
Kötü
İyi