private void TakimiYarat() { int k = 0; int[] askerRütbeleri = new int[3]; askerRütbeleri[0] = random.Next(0, 2); askerRütbeleri[1] = random.Next(1, 3); askerRütbeleri[2] = 7 - askerRütbeleri[1] - askerRütbeleri[0]; for (int i = 0; i < askerRütbeleri.Length; i++) { for (int j = 0; j < askerRütbeleri[i]; j++) { Bolge a = tahta.BaslangıcNoktasıVer(baslangicBolge, 5); switch (i) { case 0: birlik[k] = new Yuzbasi(a, this, tahta); break; case 1: birlik[k] = new Tegmen(a, this, tahta); break; case 2: birlik[k] = new Er(a, this, tahta); break; } a.Doldur(birlik[k]); k++; } } }
public void create_team(int x, int y, bool team) { Asker a = new Yuzbasi(); a.putcoor(x + 2, y + 2); a.team = team; birlik[0] = a; a = new Er(); a.putcoor(x + 4, y + 4); a.team = team; birlik[1] = a; a = new Er(); a.putcoor(x + 4, y); a.team = team; birlik[2] = a; a = new Er(); a.putcoor(x, y + 4); a.team = team; birlik[3] = a; a = new Er(); a.putcoor(x, y); a.team = team; birlik[4] = a; a = new Tegmen(); a.putcoor(x + 1, y + 1); a.team = team; birlik[5] = a; a = new Tegmen(); a.putcoor(x + 3, y + 3); a.team = team; birlik[6] = a; }
public Takim() { for (int i = 0; i < 5; i++) { birlik[i] = new Er(); } birlik[5] = new Tegmen(); birlik[6] = new Yuzbasi(); }
public Takim() { birlik[0] = new Yuzbasi(); birlik[1] = new Tegmen(); birlik[2] = new Tegmen(); birlik[3] = new Er(); birlik[4] = new Er(); birlik[5] = new Er(); birlik[6] = new Er(); saglam = true; }
public void takım_olusturma() { int x = rastgele.Next(4); if (x == 0)//1 Teğmenli Takım. { birlik[0] = new Tegmen(); birlik[0].konumbelirle(); for (int i = 1; i < 7; i++) { birlik[i] = new Er(); birlik[i].konumbelirle(); } }//1 Teğmenli takım. else if (x == 1)//2 Twğmenli takım. { birlik[0] = new Tegmen(); birlik[0].konumbelirle(); birlik[1] = new Tegmen(); birlik[1].konumbelirle(); for (int i = 2; i < 7; i++) { birlik[i] = new Er(); birlik[i].konumbelirle(); } }//2 Teğmenli takım. else if (x == 2)//1 Yüzbaşılı 1 Teğmenli takım. { birlik[0] = new Yuzbasi(); birlik[0].konumbelirle(); birlik[1] = new Tegmen(); birlik[1].konumbelirle(); for (int i = 2; i < 7; i++) { birlik[i] = new Er(); birlik[i].konumbelirle(); } } //1 Yüzbaşılı 1 Teğmenli takım. else //1 Yüzbaşılı 2 Teğmenli takım. { birlik[0] = new Yuzbasi(); birlik[0].konumbelirle(); birlik[1] = new Tegmen(); birlik[1].konumbelirle(); birlik[2] = new Tegmen(); birlik[2].konumbelirle(); for (int i = 3; i < 7; i++) { birlik[i] = new Er(); birlik[i].konumbelirle(); } }//1 Yüzbaşılı 2 Teğmenli takım. }
// Create team members and set their locations void Initialize(Point start, Point end) { Random rand = new Random(DateTime.Now.Millisecond); Id = rand.Next(); this.Team = new List <Asker>(); int num_Er = 0, num_Tegmen = 0, num_Yuzbasi = 0; int x, y; Asker soldier; for (int c = 0; c < Size; c++) { soldier = null; while (soldier == null) { double roll = rand.NextDouble(); // 20% Yuzbasi if (.0 < roll && roll <= .2 && num_Yuzbasi < 1) { soldier = new Yuzbasi(); num_Yuzbasi += 1; } // 20% Tegmen if (.2 < roll && roll <= .4 && num_Tegmen < 2) { soldier = new Tegmen(); num_Tegmen += 1; } // 60% Er if (.4 < roll && roll <= 1) { soldier = new Er(); num_Er += 1; } } // Set initial location while (soldier.Location == null) { x = rand.Next(start.X, end.X); y = rand.Next(start.Y, end.Y); Map.Mapping[x, y].MoveIn(soldier); } Map.Log.WriteLine(String.Format("{0} - {1} at {2}", (c + 1), soldier, soldier.Location)); Team.Add(soldier); soldier.Team = this; } }
void Ekle(Ermeydani em, Yuzbasi a, int dongu, int tk) { Bolge b; while (indis < dongu) { a = new Yuzbasi(); b = new Bolge(); do { b.x = r.Next(5) + tk; b.y = r.Next(5) + tk; b.takım = tk; a.Koordinat = b; }while (em.Harita[b.x, b.y] != null); em.Harita[b.x, b.y] = a.Koordinat; birlik[indis] = a; indis++; } }
public void Olustur(Ermeydani em, int tk) { int secim, rand = 0; Yuzbasi yb = new Yuzbasi(); Tegmen tgm = new Tegmen(); Er er = new Er(); if (tk == 1) { rand = 0; } else if (tk == 2) { rand = 11; } Ekle(em, yb, 1, rand); secim = r.Next(2) + 2; Ekle(em, tgm, secim, rand); Ekle(em, er, 7, rand); }
static void Main(string[] args) { Random rnd = new Random(); // Meydan oluşturuldu. Ermeydani meydan = new Ermeydani(); for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { meydan.Harita[i, j] = new Bolge { x = i, y = j, Asker = null }; } } #region TAKIMLAR // Takımlar oluşturuldu. (Eşit, Adeletli İki Takım) Takim maviTakim = new Takim(); Asker[] maviBirlik = new Asker[7]; maviTakim.Ad = "Mavi Takım"; maviTakim.BaslangicBolgesi = new Bolge { x = 0, y = 0 }; maviTakim.BitisBolgesi = new Bolge { x = 4, y = 4 }; for (int i = 0; i < maviBirlik.Length; i++) { bool state = false; while (!state) { int _x = rnd.Next(maviTakim.BaslangicBolgesi.x, maviTakim.BitisBolgesi.x + 1); int _y = rnd.Next(maviTakim.BaslangicBolgesi.x, maviTakim.BitisBolgesi.y + 1); if (meydan.Harita[_x, _y].Asker == null) { if (i < 4) { Er _er = new Er(); _er.Takim = maviTakim; _er.Ermeydani = meydan; _er.Ad = " ME" + i + " "; _er.Koordinat = new Bolge { x = _x, y = _y, Asker = _er }; meydan.Harita[_x, _y].Asker = _er; maviBirlik[i] = _er; } else if (i >= 4 && i < 6) { Tegmen _tegmen = new Tegmen(); _tegmen.Takim = maviTakim; _tegmen.Ermeydani = meydan; _tegmen.Ad = " MT" + i + " "; _tegmen.Koordinat = new Bolge { x = _x, y = _y, Asker = _tegmen }; meydan.Harita[_x, _y].Asker = _tegmen; maviBirlik[i] = _tegmen; } else { Yuzbasi _yuzbasi = new Yuzbasi(); _yuzbasi.Takim = maviTakim; _yuzbasi.Ermeydani = meydan; _yuzbasi.Ad = " MY" + i + " "; _yuzbasi.Koordinat = new Bolge { x = _x, y = _y, Asker = _yuzbasi }; meydan.Harita[_x, _y].Asker = _yuzbasi; maviBirlik[i] = _yuzbasi; } state = true; } } } maviTakim.Birlik = maviBirlik; Takim kirmiziTakim = new Takim(); Asker[] kirmiziBirlik = new Asker[7]; kirmiziTakim.Ad = "Kırmızı Takım"; kirmiziTakim.BaslangicBolgesi = new Bolge { x = 11, y = 11 }; kirmiziTakim.BitisBolgesi = new Bolge { x = 15, y = 15 }; for (int i = 0; i < kirmiziBirlik.Length; i++) { bool state = false; while (!state) { int _x = rnd.Next(kirmiziTakim.BaslangicBolgesi.x, kirmiziTakim.BitisBolgesi.x + 1); int _y = rnd.Next(kirmiziTakim.BaslangicBolgesi.y, kirmiziTakim.BitisBolgesi.y + 1); if (meydan.Harita[_x, _y].Asker == null) { if (i < 4) { Er _er = new Er(); _er.Takim = kirmiziTakim; _er.Ermeydani = meydan; _er.Ad = " KE" + i + " "; _er.Koordinat = new Bolge { x = _x, y = _y, Asker = _er }; meydan.Harita[_x, _y].Asker = _er; kirmiziBirlik[i] = _er; } else if (i >= 4 && i < 6) { Tegmen _tegmen = new Tegmen(); _tegmen.Takim = kirmiziTakim; _tegmen.Ermeydani = meydan; _tegmen.Ad = " KT" + i + " "; _tegmen.Koordinat = new Bolge { x = _x, y = _y, Asker = _tegmen }; meydan.Harita[_x, _y].Asker = _tegmen; kirmiziBirlik[i] = _tegmen; } else { Yuzbasi _yuzbasi = new Yuzbasi(); _yuzbasi.Takim = kirmiziTakim; _yuzbasi.Ermeydani = meydan; _yuzbasi.Ad = " KY" + i + " "; _yuzbasi.Koordinat = new Bolge { x = _x, y = _y, Asker = _yuzbasi }; meydan.Harita[_x, _y].Asker = _yuzbasi; kirmiziBirlik[i] = _yuzbasi; } state = true; } } } kirmiziTakim.Birlik = kirmiziBirlik; #endregion for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { if (meydan.Harita[i, j].Asker != null) { Console.Write(meydan.Harita[i, j].Asker.Ad); } else { Console.Write(" ___ "); } } Console.WriteLine(); } bool gameState = true; while (gameState) { // Mavi Takim Siradaki Asker bool maviState = false; while (!maviState) { int maviTakimSiradakiAsker = rnd.Next(0, maviTakim.Birlik.Length); if (maviTakim.Birlik[maviTakimSiradakiAsker].HayattaMi) { maviState = true; int x = maviTakim.Birlik[maviTakimSiradakiAsker].KararVer(kirmiziTakim); if (x == 0) { for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { if (meydan.Harita[i, j].Asker != null) { Console.Write(meydan.Harita[i, j].Asker.Ad); } else { Console.Write(" ___ "); } } Console.WriteLine(); } Console.WriteLine("Press Enter"); Console.ReadKey(); } if (kirmiziTakim.HayattakiAskerSayisi == 0) { GameOver(); gameState = false; } } } // Kirmizi Takim Siradaki Asker bool kirmiziState = false; while (!kirmiziState) { int kirmiziTakimSiradakiAsker = rnd.Next(0, kirmiziTakim.Birlik.Length); if (kirmiziTakim.Birlik[kirmiziTakimSiradakiAsker].HayattaMi) { kirmiziState = true; int x = kirmiziTakim.Birlik[kirmiziTakimSiradakiAsker].KararVer(maviTakim); if (x == 0) { for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { if (meydan.Harita[i, j].Asker != null) { Console.Write(meydan.Harita[i, j].Asker.Ad); } else { Console.Write(" ___ "); } } Console.WriteLine(); } Console.WriteLine("Press Enter"); Console.ReadKey(); } if (maviTakim.HayattakiAskerSayisi == 0) { GameOver(); gameState = false; } } } } }
//rastsal olarak asker üretmek static void birlikUret(int yuzbasiSayi, int tegmenSayi, int yuzbasiSayi2, int tegmenSayi2) { int[] temp = new int[2]; temp[0] = 0; temp[1] = 0; Ermeydani meydan = new Ermeydani(); Takim takım = new Takim(); Er er = new Er(true, takım, 100, temp); Tegmen tegmen = new Tegmen(true, takım, 100, temp); Yuzbasi yuzbasi = new Yuzbasi(true, takım, 100, temp); Bolge bolge = new Bolge(); int i = 0; if (yuzbasiSayi == 2) { takım.Birlik1[i] = yuzbasi; i++; } if (tegmenSayi == 1) { takım.Birlik1[i] = tegmen; i++; } else { takım.Birlik1[i] = tegmen; i++; takım.Birlik1[i] = tegmen; i++; } for (int x = i; x < 7; x++) { takım.Birlik1[x] = er; } i = 0; if (yuzbasiSayi2 == 2) { takım.Birlik2[i] = yuzbasi; i++; } if (tegmenSayi2 == 1) { takım.Birlik2[i] = tegmen; i++; } else { takım.Birlik2[i] = tegmen; i++; takım.Birlik2[i] = tegmen; i++; } for (int x = i; x < 7; x++) { takım.Birlik2[x] = er; } for (int a = 0; a < 7; a++) { meydan.askerYerlestir(takım.Birlik1[a], takım.Birlik2[a], bolge.harita, a); } }
public List <Bolge> takimkonum = new List <Bolge>(); // why not use birlik ? this is stupid // well because i need to send some kind of bolge array to the map // but this is not an array this is a list ? // Shut up! don't use logic to me ! public Takim(bool takimtype) //constructor istenilene gore haritanin karşı köşelerinde takım olustur konumlar hardcoded ama gelistirilebilir belki bool yerine bir int ile secim yapıp loop icine koyabilirdim uretimi { if (takimtype) { //this is horrible Bolge er0bolge = new Bolge(); er0bolge.X = 0; er0bolge.Y = 1; takimkonum.Add(er0bolge); birlik[0] = new Er(er0bolge, "A"); // daha iyi bir çözüm yolu olabilirdi Bolge er1bolge = new Bolge(); er1bolge.X = 1; er1bolge.Y = 1; takimkonum.Add(er1bolge); birlik[1] = new Er(er1bolge, "A"); // daha iyi bir çözüm yolu olabilirdi Bolge er2bolge = new Bolge(); er2bolge.X = 2; er2bolge.Y = 1; takimkonum.Add(er2bolge); birlik[2] = new Er(er2bolge, "A"); // daha iyi bir çözüm yolu olabilirdi Bolge er3bolge = new Bolge(); er3bolge.X = 3; er3bolge.Y = 1; takimkonum.Add(er3bolge); birlik[3] = new Er(er3bolge, "A"); // daha iyi bir çözüm yolu olabilirdi Bolge teg0bolge = new Bolge(); teg0bolge.X = 0; teg0bolge.Y = 0; takimkonum.Add(teg0bolge); birlik[4] = new Tegmen(teg0bolge, "A"); Bolge teg1bolge = new Bolge(); teg1bolge.X = 2; teg1bolge.Y = 0; takimkonum.Add(teg1bolge); birlik[5] = new Tegmen(teg1bolge, "A"); Bolge yuzbolge = new Bolge(); yuzbolge.X = 1; yuzbolge.Y = 0; takimkonum.Add(yuzbolge); birlik[6] = new Yuzbasi(yuzbolge, "B"); } else { Bolge er0bolge = new Bolge(); er0bolge.X = 12; er0bolge.Y = 14; takimkonum.Add(er0bolge); birlik[0] = new Er(er0bolge, "B"); // daha iyi bir çözüm yolu olabilirdi Bolge er1bolge = new Bolge(); er1bolge.X = 13; er1bolge.Y = 14; takimkonum.Add(er1bolge); birlik[1] = new Er(er1bolge, "B"); // daha iyi bir çözüm yolu olabilirdi Bolge er2bolge = new Bolge(); er2bolge.X = 14; er2bolge.Y = 14; takimkonum.Add(er2bolge); birlik[2] = new Er(er2bolge, "B"); // daha iyi bir çözüm yolu olabilirdi Bolge er3bolge = new Bolge(); er3bolge.X = 15; er3bolge.Y = 14; takimkonum.Add(er3bolge); birlik[3] = new Er(er3bolge, "B"); // daha iyi bir çözüm yolu olabilirdi Bolge teg0bolge = new Bolge(); teg0bolge.X = 13; teg0bolge.Y = 15; takimkonum.Add(teg0bolge); birlik[4] = new Tegmen(teg0bolge, "B"); Bolge teg1bolge = new Bolge(); teg1bolge.X = 15; teg1bolge.Y = 15; takimkonum.Add(teg1bolge); birlik[5] = new Tegmen(teg1bolge, "B"); Bolge yuzbolge = new Bolge(); yuzbolge.X = 14; yuzbolge.Y = 15; takimkonum.Add(yuzbolge); birlik[6] = new Yuzbasi(yuzbolge, "B"); } }