Ejemplo n.º 1
0
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            this.KeyPreview = true;

            var dikeyTasi = 0; //dikey yönde taşıma için
            var yatayTasi = 0; //yatay olarak taşıma için

            // tuşlara basıldığında yatay ve dikey eksende konumlarını hesaplar
            switch (e.KeyCode)
            {
            // sola hareket ettirme
            case Keys.Left:
                dikeyTasi--;
                break;

            // sağa hareket ettirme
            case Keys.Right:
                dikeyTasi++;
                break;

            // aşağı yön tuşuna basınca daha hızlı hareket etmesini sağlama
            case Keys.Down:
                yatayTasi++;
                break;

            // yukarı yön tuşu ile şekli döndürme
            case Keys.Up:
                mevcutSekil.Cevir();
                break;

            default:
                return;
            }

            var basarili = TasimaBasarilimi(yatayTasi, dikeyTasi);

            // şekli döndürme başarılı olmaz ise mevcutta gelen şekle geri döndürür
            if (!basarili && e.KeyCode == Keys.Up)
            {
                mevcutSekil.GeriDondur(); // mevcut şeklin konumu tekrar dondurme
            }
        }