private void btnOyunuBaslat_Click(object sender, EventArgs e) { string ad = txtOyuncu.Text.Replace(";", "").Trim(); if (ad == "") { MessageBox.Show("Lütfen adınızı giriniz."); return; } oyuncu = ad; Text = "Yılan Oyunu - " + ad; Refresh(); pnlGiris.Hide(); Saha.Show(); }
// Yeni oyun için tüm değerleri varsayılan değerlerine eşitliyoruz. private void OyunuYenidenBaslat() { puan = 0; lblPuan.Text = "000"; oyunBittiMi = false; xYon = +1; yYon = 0; yonDegisti = false; lblOyunBitti.Hide(); YilanUret(); YemUret(); Saha.Refresh(); timer1.Interval = 500; timer1.Start(); }
private void timer1_Tick(object sender, EventArgs e) { Point bas = yilan[0]; Point yeniBas = kolayMi ? new Point((bas.X + xYon + sutunSayisi) % sutunSayisi, (bas.Y + yYon + satirSayisi) % satirSayisi) : new Point(bas.X + xYon, bas.Y + yYon); //YENİ BAŞI INSERT ETMEDEN ÖNCE KAFASINI BİR YERE VURUYOR MU DİYE KONTROL EDELİM if (YilaninUzerindeMi(yeniBas.X, yeniBas.Y) || yeniBas.X < 0 || yeniBas.X >= sutunSayisi || yeniBas.Y < 0 || yeniBas.Y >= satirSayisi) { skorKaydet(); timer1.Stop(); lblOyunBitti.Text = string.Format("OYUN BİTTİ\r\nSKORUNUZ: {0:000}\r\n" + "YENİDEN OYNA (F2)", puan); lblOyunBitti.Show(); oyunBittiMi = true; return; } yilan.Insert(0, yeniBas); // yemi yuttu mu if (yeniBas == yem) { puan += kolayMi ? 5 : 10; YemUret(); timer1.Interval = (int)(timer1.Interval * 0.9); } //yutmadıysa kuyruğunu sil else { yilan.RemoveAt(yilan.Count - 1); } //yilan.RemoveAt(yilan.Count - 1); lblPuan.Text = puan.ToString("000"); Saha.Refresh(); yonDegisti = false; // yılan hareket etti tekrar yön değiştirebilir. }