private void _yilan_KendisineDegdi(Yilan yilan, KonsolKonum kuyrukSonu, KonsolKonum yilanBasi) { if (kuyrukSonu == yilanBasi) { return; } }
private static void yilan_HareketEtti(Yilan yilan, KonsolKonum kuyruk, KonsolKonum bas) { Console.SetCursorPosition(bas.SolaOlanUzaklik, bas.UsteOlanUzaklik); Console.Write(yilanSembolu); Console.SetCursorPosition(kuyruk.SolaOlanUzaklik, kuyruk.UsteOlanUzaklik); Console.Write(" "); }
private KonsolKonum YeniKafaKonumuYarat() { KonsolKonum yeniKafaKonumu = new KonsolKonum(); switch (_mevcutYon) { case HareketYonleri.Yukari: yeniKafaKonumu.SolaOlanUzaklik = _mevcutKafaKonumu.SolaOlanUzaklik; yeniKafaKonumu.UsteOlanUzaklik = _mevcutKafaKonumu.UsteOlanUzaklik - 1; break; case HareketYonleri.Asagi: yeniKafaKonumu.SolaOlanUzaklik = _mevcutKafaKonumu.SolaOlanUzaklik; yeniKafaKonumu.UsteOlanUzaklik = _mevcutKafaKonumu.UsteOlanUzaklik + 1; break; case HareketYonleri.Sola: yeniKafaKonumu.SolaOlanUzaklik = _mevcutKafaKonumu.SolaOlanUzaklik - 1; yeniKafaKonumu.UsteOlanUzaklik = _mevcutKafaKonumu.UsteOlanUzaklik; break; case HareketYonleri.Saga: yeniKafaKonumu.SolaOlanUzaklik = _mevcutKafaKonumu.SolaOlanUzaklik + 1; yeniKafaKonumu.UsteOlanUzaklik = _mevcutKafaKonumu.UsteOlanUzaklik; break; } return(yeniKafaKonumu); }
private void CiktiysaGeriGirdir(KonsolKonum yeniKonum) { yeniKonum.SolaOlanUzaklik = yeniKonum.SolaOlanUzaklik > _oyunAlaniGenisligi ? 1 : yeniKonum.SolaOlanUzaklik; yeniKonum.UsteOlanUzaklik = yeniKonum.UsteOlanUzaklik > _oyunAlaniYuksekligi ? 1 : yeniKonum.UsteOlanUzaklik; yeniKonum.SolaOlanUzaklik = yeniKonum.SolaOlanUzaklik < 1 ? _oyunAlaniGenisligi : yeniKonum.SolaOlanUzaklik; yeniKonum.UsteOlanUzaklik = yeniKonum.UsteOlanUzaklik < 1 ? _oyunAlaniYuksekligi : yeniKonum.UsteOlanUzaklik; }
public static void YilaniVeYemiCiz(KonsolKonum[] yilanGovdeKonumlari, KonsolKonum yemKonumu) { foreach (var konum in yilanGovdeKonumlari) { Console.SetCursorPosition(konum.SolaOlanUzaklik, konum.UsteOlanUzaklik); Console.Write(yilanSembolu); } Console.SetCursorPosition(yemKonumu.SolaOlanUzaklik, yemKonumu.UsteOlanUzaklik); Console.Write(yemSembolu); }
public Yilan(int oyunAlaniGenisligi, int oyunAlaniYuksekligi) { Konumlar = new Queue <KonsolKonum>(); _oyunAlaniGenisligi = oyunAlaniGenisligi; _oyunAlaniYuksekligi = oyunAlaniYuksekligi; _mevcutYon = HareketYonleri.Saga; for (int i = 0; i < 4; i++) { var varsayılanNokta = new KonsolKonum() { SolaOlanUzaklik = 5 + i, UsteOlanUzaklik = oyunAlaniYuksekligi / 2 }; Konumlar.Enqueue(varsayılanNokta); if (i == 3) { _mevcutKafaKonumu = varsayılanNokta; } } }
public void HareketEt() { var yeniKafaKonumu = YeniKafaKonumuYarat(); var kuyruktanCikanKonum = Konumlar.Dequeue(); CiktiysaGeriGirdir(yeniKafaKonumu); if (KuyrugaCarptiMi(yeniKafaKonumu)) { YilanKendisineDegdi(this, kuyruktanCikanKonum, yeniKafaKonumu); } Konumlar.Enqueue(yeniKafaKonumu); _mevcutKafaKonumu = yeniKafaKonumu; if (YilanHareketEtti != null) { YilanHareketEtti(this, kuyruktanCikanKonum, yeniKafaKonumu); } }
private void _yilan_KendisineDegdi(Yilan yilan, KonsolKonum kuyrukSonu, KonsolKonum yilanBasi) { }
private void _yilan_hareketEtti(Yilan yilan, KonsolKonum kuyrukSonu, KonsolKonum yilanBasi) { YilanHareketEtti(yilan, kuyrukSonu, yilanBasi); }
private bool KuyrugaCarptiMi(KonsolKonum yeniKafaKonumu) { return(Konumlar.Contains(yeniKafaKonumu)); }