Merhaba arkadaşlar! Bugün sizlerle C# Form uygulaması kullanarak iki adet oyun yapacağız: Yılan Oyunu ve Sayı Dizme oyunu.
Form Giriş Ekranı
İlk olarak oyunlara yönlendirme yapacağımız giriş ekranını tasarlayalım:
Form ekranına iki adet büyük buton ekledik. Şimdi sırada oyunların detaylı tasarımları ve kodları var.
1. Sayı Dizme Oyunu
Sayı dizme oyunu ile başlayalım. Öncelikle bir adet PictureBox, iki adet Buton ve süre takibi için bir adet Timer ekliyoruz.
Oyunun mantığı; karışık olarak gelen resim parçalarını 1-15 sırasına göre dizmektir.
Kod Yapısı
Öncelikle değişkenlerimizi tanımlayalım:
List<Bitmap> resimParcalari = new List<Bitmap>(); List<PictureBox> resimAlanlari = new List<PictureBox>(); Bitmap CurrentBitmapImage;
Fotoğrafı 70×70 boyutunda parçalara ayırıp form üzerine yerleştiriyoruz:
// Resmi parçalara ayırma ve rastgele dağıtma
for (int i = 0; i < 16; i++) {
resimParcalari.Add(CurrentBitmapImage.Clone(new Rectangle(new Point((i / 4) * 70, (i % 4) * 70), new Size(70, 70)), System.Drawing.Imaging.PixelFormat.DontCare));
}
// Boşluk kontrolü ve tıklama olayı
void p_Click(object sender, EventArgs e) {
PictureBox resim = (PictureBox)sender;
if ((Math.Abs(resim.Location.X - bosYer.X) == 70 && resim.Location.Y == bosYer.Y) ||
(Math.Abs(resim.Location.Y - bosYer.Y) == 70 && resim.Location.X == bosYer.X)) {
Point gecici = resim.Location;
resim.Location = bosYer;
bosYer = gecici;
}
if (OyunDurumunuKontrolEt()) MessageBox.Show("Tebrikler!");
}
2. Yılan Oyunu
Yılanı çizmek için bir Panel, kontrol için butonlar ve hız ayarı için bir ComboBox kullanıyoruz.
Yılan Oyunu Kodları
public enum yonEnum { tanimsiz, Yukari, Saga, Asagi, Sola }
private void oyna() {
pozisyonBelirle();
if (oyunBitti()) {
gameTimer.Enabled = false;
MessageBox.Show("Oyun Bitti! Puanınız: " + puan);
return;
}
yilanCiz();
}
Oyun Görüntüsü
Projelerin kaynak kodlarını ve diğer detayları yazının sonunda bulabilirsiniz. İyi kodlamalar!
Projeyi kaynak kodlarına buradan ulaşabilirsiniz.