static Karınca[] TuzakDüş(Karınca[] karıncaDizi) { Karınca[] karıncaDizi1 = new Karınca[karıncaDizi.Length - 1]; karıncaDizi[0].Can--; if (karıncaDizi[0].Can != 0) { Console.WriteLine("Tuzağa Girildi."); ÇukurDüş(karıncaDizi, 1); } else { int a = 0; Console.WriteLine("\nTuzak Giriş, {0} Karıncası Öldü.", karıncaDizi[0].Ad); karıncaDizi[0] = null; foreach (var item in karıncaDizi) { if (item != null) { karıncaDizi1[a] = item; a++; } } } return karıncaDizi1; }
static void ÇukurDüş(List<Canlı> karıncaListe, int çukurBoyut) { Stack çukur = new Stack(); for (int i = 0; i < çukurBoyut; i++) { if (çukurBoyut > karıncaListe.Count) { break; } çukur.Push(karıncaListe[0]); karıncaListe.RemoveAt(0); } for (int i = 0; i < çukurBoyut; i++) { Karınca k = (Karınca)çukur.Pop(); karıncaListe.Add(k); } Console.WriteLine("****ÇIKIŞ"); for (int i = karıncaListe.Count - 1; 0 <= i; i--) { if (karıncaListe[i] != null) Console.Write(karıncaListe[i].Ad + (i > 0 && karıncaListe[i - 1] != null ? "-" : "")); } }
static Karınca[] DiziKarıncaOluştur() { Console.Write("Karınca Sayısını Giriniz: "); int karıncaSay = Int32.Parse(Console.ReadLine()); Karınca[] karıncaDizi = new Karınca[karıncaSay]; for (int i = 0; i < karıncaSay; i++) { Karınca k = new Karınca(nameGenerator()); karıncaDizi[i] = k; } return karıncaDizi; }
static List<Canlı> ListeKarıncaOluştur() { List<Canlı> karıncaListe = new List<Canlı>(); Console.Write("Karınca Sayısını Giriniz: "); int karıncaSay = Int32.Parse(Console.ReadLine()); for (int i = 0; i < karıncaSay; i++) { Canlı k = new Karınca(); k.Ad = nameGenerator(); karıncaListe.Add(k); } return karıncaListe; }
//Arı Oluştur metodu olacak! (Proje notasyonuna göre sadece A seçeneği için??, olmasa bile problem oluşturmaz) static void IlkProblem() { string harfler = "ABCDE"; Karınca[] karıncaDizi = new Karınca[harfler.Length]; for (int i = 0; i < harfler.Length; i++) { Karınca karınca = new Karınca(harfler[i].ToString()); karıncaDizi[i] = karınca; karıncaDizi[i].Can = 1; } int[] çukurBoyutları = { 3, 2, 4 }; object[] alan = new object[10]; alan[2] = çukurBoyutları[0]; alan[4] = çukurBoyutları[1]; alan[8] = çukurBoyutları[2]; Stack tuzak = new Stack(); List<Stack> tListe = new List<Stack>(); tListe.Add(tuzak); alan[6] = tuzak; Console.WriteLine("----BAŞLANGIÇ NOKTASI SIRALAMA----"); for (int i = karıncaDizi.Length - 1; 0 <= i; i--) { if (karıncaDizi[i] != null) Console.Write(karıncaDizi[i].Ad + (i > 0 && karıncaDizi[i - 1] != null ? "-" : "")); } Console.WriteLine(); ÇözümMetodu(alan, çukurBoyutları, karıncaDizi, tListe); Console.WriteLine(); Console.WriteLine("----VARIŞ NOKTASI SIRALAMA----"); for (int i = karıncaDizi.Length - 1; 0 <= i; i--) { if (karıncaDizi[i] != null) Console.Write(karıncaDizi[i].Ad + (i > 0 && karıncaDizi[i - 1] != null ? "-" : "")); } }
static void ÇukurDüş(Karınca[] karıncaDizi, int çukurBoyut) { Stack çukur = new Stack(); for (int i = 0; i < çukurBoyut; i++) { çukur.Push(karıncaDizi[i]); karıncaDizi[i] = null; } int a = 0; for (int i = 0; i < karıncaDizi.Length; i++) { if (karıncaDizi[i] != null) { karıncaDizi[a] = karıncaDizi[i]; karıncaDizi[i] = null; a++; } } for (int i = 0; i < karıncaDizi.Length && çukur.Count != 0; i++) { if (karıncaDizi[i] == null) { Karınca k = (Karınca)çukur.Pop(); karıncaDizi[i] = k; } } for (int i = karıncaDizi.Length - 1; 0 <= i; i--) { if (karıncaDizi[i] != null) Console.Write(karıncaDizi[i].Ad + (i > 0 && karıncaDizi[i - 1] != null ? "-" : "")); } Console.WriteLine(); }