Exemple #1
0
        public override void HareketEt(StreamWriter streamWriter)
        {
            string takım;

            takım = hangiTakım ? "Takım 1" : "Takım 2";
            bool yukarı = rd.Next(2) == 1 ? true : false;

            if (yaşıyorMu)
            {
                if (Koordinat.ReturnY() > 0 && yukarı == true)//Yukarı git
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY() - 1, true);
                    streamWriter.WriteLine(takım + "Er'i yukarı hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
                else if (Koordinat.ReturnX() < 15 && yukarı == true)//Mümkün değilse sağa git.
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX() + 1, Koordinat.ReturnY(), true);
                    streamWriter.WriteLine(takım + "Er'i sola hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
                if (Koordinat.ReturnY() < 15 && yukarı == false)//Aşağı git
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY() + 1, true);
                    streamWriter.WriteLine(takım + "Er'i aşağı hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
                else if (Koordinat.ReturnX() > 0 && yukarı == false)//Mümkün değilse sola git.
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX() + 1, Koordinat.ReturnY(), true);
                    streamWriter.WriteLine(takım + "Er'i sağa hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
            }
        }
Exemple #2
0
        public List <Asker> BölgedekiDüşmanlar(Asker ateşEdecekAsker, Takim düşmanTakım, Bolge merkezKonum)
        {                               //Verilen bölge içindeki askerleri tespit eden fonksiyon.
            List <Asker> düşmanlar = new List <Asker>();
            int          rütbe     = 0; //Askerin rütbesine göre kaç blok uzaktaki düşman olduğu tespit edilecek.

            if (ateşEdecekAsker is Er)
            {
                rütbe = 2;
            }
            else if (ateşEdecekAsker is Tegmen)
            {
                rütbe = 3;
            }
            else
            {
                rütbe = 4;
            }
            for (int i = 0; i < 7; i++)
            {
                if (düşmanTakım.Birlik[i].Koordinat.ReturnX() - merkezKonum.ReturnX() < rütbe && düşmanTakım.Birlik[i].Koordinat.ReturnX() - merkezKonum.ReturnX() > -rütbe)
                {
                    if (düşmanTakım.Birlik[i].Koordinat.ReturnY() - merkezKonum.ReturnY() < rütbe && düşmanTakım.Birlik[i].Koordinat.ReturnY() - merkezKonum.ReturnY() > -rütbe)
                    {
                        if (düşmanTakım.Birlik[i].yaşıyorMu)
                        {
                            düşmanlar.Add(düşmanTakım.Birlik[i]);
                        }
                    }
                }
            }
            return(düşmanlar);
        }
Exemple #3
0
        public override void HareketEt(StreamWriter streamWriter)
        {
            string takım;

            takım = hangiTakım ? "Takım 1" : "Takım 2";
            int gidilecekKonum = rd.Next(3);

            if (yaşıyorMu)
            {
                if (Koordinat.ReturnY() > 0 && gidilecekKonum == 0)//Yukarı git
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY() - 1, true);
                    streamWriter.WriteLine(takım + "Teğmen'i yukarı hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
                else if (Koordinat.ReturnY() < 15 && gidilecekKonum == 1)//Aşağı git
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY() + 1, true);
                    streamWriter.WriteLine(takım + "Teğmen'i aşağı hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
                else if (Koordinat.ReturnX() > 0 && gidilecekKonum == 2)//Sağa git
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), true);
                    streamWriter.WriteLine(takım + "Teğmen'i sağa hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
                else if (Koordinat.ReturnX() < 15 && gidilecekKonum == 3)//Sola git
                {
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY(), false);
                    Koordinat = new Bolge(Koordinat.ReturnX(), Koordinat.ReturnY() + 1, true);
                    streamWriter.WriteLine(takım + "Teğmen'i sola hareket etti." + " Koordinatları" + Koordinat.ReturnX().ToString() + " " + Koordinat.ReturnY().ToString());
                }
            }
        }
Exemple #4
0
        public void HaritaYerleşimi(Takim takım1, Takim takım2)
        {
            //Takım1 haritanın sol alt köşesinde, Takım2 ise sağ üst köşede yer alacak.
            bool tekrarOluştur = false;
            int  x, y;

            for (int i = 0; i < 7; i++)
            {
                Bolge b1;
                Bolge b2;
                do
                {
                    x  = rd.Next(5);
                    y  = rd.Next(5);
                    b1 = new Bolge(x + 10, y, true);
                    b2 = new Bolge(x, y + 10, true);
                    for (int j = 0; j < i; j++)
                    {
                        if ((takım1.Birlik[j].Koordinat.ReturnX() == b1.ReturnX() && takım1.Birlik[j].Koordinat.ReturnY() == b1.ReturnY()) || (takım2.Birlik[j].Koordinat.ReturnX() == b2.ReturnX() && takım2.Birlik[j].Koordinat.ReturnY() == b2.ReturnY()))
                        {
                            tekrarOluştur = true;
                            break;
                        }
                        tekrarOluştur = false;
                    }
                } while (tekrarOluştur);
                takım1.Birlik[i].Koordinat = b1;
                takım2.Birlik[i].Koordinat = b2;
            }
        }