Ejemplo n.º 1
0
        public override void Ates_et(Ermeydani meydan) //etrafta biri var mı diye bakan fonksiyon
        {
            List <int> map = new List <int>();

            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y));
            map.Add(this.Look(meydan, this.Koordinat.x, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y));
            map.Add(this.Look(meydan, this.Koordinat.x, this.Koordinat.y - 1));
            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y - 1 + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y - 1));
            if (map.Contains(2)) // eğer düşman varsa 1 kare mesafesinde ateş eder
            {
                switch (map.FindIndex(i => i == 2))
                {
                case 0:
                    Fire(meydan.Harita[this.Koordinat.x + 1, this.Koordinat.y].asker); break;

                case 1:
                    Fire(meydan.Harita[this.Koordinat.x, this.Koordinat.y + 1].asker); break;

                case 2:
                    Fire(meydan.Harita[this.Koordinat.x - 1, this.Koordinat.y].asker); break;

                case 3:
                    Fire(meydan.Harita[this.Koordinat.x, this.Koordinat.y - 1].asker); break;
                }
            }
        }
Ejemplo n.º 2
0
        }        // ..... //

        public int Look(Ermeydani meydan, int x, int y)
        {
            if (x < 0 || x > 15 || y < 0 || y > 15)
            {
                return(-1);
            }
            else
            {
                if (meydan.Harita[x, y].isempty)
                {
                    return(0);
                }
                else
                {
                    if (meydan.Harita[x, y].asker.team == this.team)
                    {
                        return(1);
                    }
                    else
                    {
                        return(2);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public override void Move_beach(Ermeydani meydan)
        {
            List <int> map = new List <int>();

            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y));
            map.Add(this.Look(meydan, this.Koordinat.x, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y));
            map.Add(this.Look(meydan, this.Koordinat.x, this.Koordinat.y - 1));
            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y - 1 + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y - 1));
            if (map.Contains(2)) // eğer düşman varsa 1 kare mesafesinde ateş eder
            {
                switch (map.FindIndex(i => i == 2))
                {
                case 0:
                    Walk(meydan.Harita[this.Koordinat.x + 1, this.Koordinat.y].asker); break;

                case 1:
                    Walk(meydan.Harita[this.Koordinat.x, this.Koordinat.y + 1].asker); break;

                case 2:
                    Walk(meydan.Harita[this.Koordinat.x - 1, this.Koordinat.y].asker); break;

                case 3:
                    Walk(meydan.Harita[this.Koordinat.x, this.Koordinat.y - 1].asker); break;
                }
            }
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            LogWriter.logBool = false; //Log tutulsun mu?
            Ermeydani tahta = new Ermeydani(16);
            Takim     red   = new Takim("Red", new Bolge(0, 0), tahta);

            Console.WriteLine(red.Isim);
            for (int i = 0; i < 7; i++)
            {
                Console.WriteLine(red[i]);
            }
            Takim blue = new Takim("Blue", new Bolge(11, 11), tahta);

            Console.WriteLine(blue.Isim);
            for (int i = 0; i < 7; i++)
            {
                Console.WriteLine(blue[i]);
            }
            Console.WriteLine("Savas baslıyor.....3....2....1");
            LogWriter.LogMessage($"Yeni Tur basliyor!!!");
            Savas(red, blue);
            Console.WriteLine("Tekrar?[y|n]");
            if (Console.ReadKey().KeyChar == 'y' || Console.ReadKey().KeyChar == 'Y')
            {
                Main(args);
            }
        }
Ejemplo n.º 5
0
        public void Look_around(Ermeydani meydan) //etrafta biri var mı diye bakan fonksiyon 
        {
            List<int> map = new List<int>();
            map.Add(this.Look(meydan, this.Koordinat.x + 1, this.Koordinat.y));
            map.Add(this.Look(meydan, this.Koordinat.x, this.Koordinat.y + 1));
            map.Add(this.Look(meydan, this.Koordinat.x - 1, this.Koordinat.y));
            map.Add(this.Look(meydan, this.Koordinat.x, this.Koordinat.y - 1));
            if (map.Contains(2))
            {  // eğer düşman varsa ateş eder
                switch (map.FindIndex(i => i == 2))
                {
                    case 0:
                        Fire(meydan.Harita[this.Koordinat.x + 1, this.Koordinat.y].asker); break;
                    case 1:
                        Fire(meydan.Harita[this.Koordinat.x, this.Koordinat.y + 1].asker); break;
                    case 2:
                        Fire(meydan.Harita[this.Koordinat.x - 1, this.Koordinat.y].asker); break;
                    case 3:
                        Fire(meydan.Harita[this.Koordinat.x, this.Koordinat.y - 1].asker); break;

                }
            }

            else
            {

            }
                    

            }
Ejemplo n.º 6
0
        public Takim(String isim, Bolge bas_bolge, Ermeydani tahta)
        {
            this.tahta          = tahta;
            this.isim           = isim;
            this.baslangicBolge = bas_bolge;

            random = new Random();
            TakimiYarat();
        }
Ejemplo n.º 7
0
 public Asker(Bolge bolge, Takim takim, Ermeydani ermeydani)
 {
     this.koordinat = bolge;
     this.takim     = takim;
     this.ermeydani = ermeydani;
     can            = 100;
     canlimi        = true;
     random         = new Random();
 }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            /*
             * Örnek olması açısında iskelet kod hazır olarak verilmiştir. İmplementasyonunuz bunun üzerinden gerçekleştiriniz.
             */
            Ermeydani meydan = new Ermeydani();

            meydan.Basla();
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            Random    rastgele = new Random(); // Random sınıfını kullanıp sayı uretebılmek ıcın kullanılan nesne.
            Takim     dizi = new Takim();      // Takımlara erisebilmek icin tanımlanan bir nesne.
            Ermeydani meydan = new Ermeydani(dizi);
            int       sayi, sayi2, sayi3;      // Her bir askerin ne yapacagını belırleyebılmek icin uc sayı turettık.

            foreach (Asker a in dizi.Birlik)
            {
                a.hareketkontrol = meydan;
            }
            foreach (Asker a in dizi.Birlik2)
            {
                a.hareketkontrol = meydan;
            }
            meydan.BaslangıcKoordinatları(); // Baslangıc pozisyonlarını atadıgımız metot.

            while (meydan.TakimSagligiKontrol())
            {
                sayi = rastgele.Next(0, 7);  //Birlikteki Hangi askerin secileceginin belirlenecegi random sayı.

                sayi2 = rastgele.Next(1, 4); // Secilen askerin hangi hareketi yerine getirecegini belirledigimiz random sayı.
                if (sayi2 == 1)              //uretilen sayi 1 ' e esit ise bekleyecek.
                {
                    dizi.Birlik[sayi].Bekle();
                    Console.WriteLine("İlk takimin" + "" + "(" + dizi.Birlik[sayi].Koordinat.xko + "," + dizi.Birlik[sayi].Koordinat.yko + ")" + " konumundaki askeri bekledi");
                }
                else if (sayi2 == 2) // Sayi 2 ise hareket edecek.
                {
                    dizi.Birlik[sayi].HaraketEt();
                    Console.WriteLine("İlk takimin " + "" + " " + "(" + dizi.Birlik[sayi].Koordinat.xko + "," + dizi.Birlik[sayi].Koordinat.yko + ")" + " konumundaki askeri hareket etti.");
                }
                else if (sayi2 == 3) // Sayi 3 ise ates edecek.
                {
                    dizi.Birlik[sayi].AtesEt();
                    Console.WriteLine("İlk takimin" + "" + "(" + dizi.Birlik[sayi].Koordinat.xko + "," + dizi.Birlik[sayi].Koordinat.yko + ")" + "konumundaki askeri ates etti");
                }
                sayi3 = rastgele.Next(1, 4); // Secilen askerin hangi hareketı yapacagını belırledıgımız random sayı
                if (sayi3 == 1)
                {
                    dizi.Birlik2[sayi].Bekle();
                    Console.WriteLine("İkinci takimin" + "" + "(" + dizi.Birlik2[sayi].Koordinat.xko + "," + dizi.Birlik2[sayi].Koordinat.yko + ")" + " konumundaki askeri bekledi");
                }
                else if (sayi3 == 2)
                {
                    dizi.Birlik2[sayi].HaraketEt();
                    Console.WriteLine("İkinci takimin " + "" + "(" + dizi.Birlik2[sayi].Koordinat.xko + "," + dizi.Birlik2[sayi].Koordinat.yko + ")" + " konumundaki askeri hareket etti.");
                }
                else if (sayi3 == 3)
                {
                    dizi.Birlik2[sayi].AtesEt();
                    Console.WriteLine("İkinci takimin" + "" + "(" + dizi.Birlik2[sayi].Koordinat.xko + "," + dizi.Birlik2[sayi].Koordinat.yko + ")" + "konumundaki askeri ates etti");
                }
            }
            Console.ReadKey();
        }
Ejemplo n.º 10
0
 static void Main(string[] args)
 {
     /*
      * Örnek olması açısında iskelet kod hazır olarak verilmiştir. İmplementasyonunuz bunun üzerinden gerçekleştiriniz.
      */
     //eger calisiyor olsaydı takimlar oluşturulacaktı meydan olusacaktı ve ona göre haraket edeceklerdi bunlara ek
     //bir iki olustur fonksiyonu falan yazmam gerekirdi takim nesnesinden calistirirdim
     Ermeydani ermeydani = new Ermeydani();
     Takim     takim1    = new Takim();
     Takim     takim2    = new Takim();
 }
Ejemplo n.º 11
0
 void Savas(Ermeydani em, Takim tk1, Takim tk2, Random r)
 {
     for (int i = 0; i < 100; i++)
     {
         for (int j = 0; j < 7; j++)
         {
             tk1.Birlik[j].HaraketEt(em, r);
             tk2.Birlik[j].HaraketEt(em, r);
         }
     }
 }
Ejemplo n.º 12
0
        static void Main()
        {
            Program   p   = new Program();
            Random    r   = new Random();
            Ermeydani em  = new Ermeydani();
            Takim     tk1 = new Takim(r);

            tk1.Olustur(em, 1);
            Takim tk2 = new Takim(r);

            tk2.Olustur(em, 2);

            p.Savas(em, tk1, tk2, r);
        }
Ejemplo n.º 13
0
 static void Main(string[] args)
 {
     for (int i = 0; i < 16; i++)
     {
         for (int j = 0; j < 16; j++)
         {
             Ermeydani.harita[i, j] = new Bolge();
         }
     }
     Ermeydani.takimA.takım_olusturma();
     Ermeydani.takimB.takım_olusturma();
     Ermeydani.kapışma();
     Console.ReadKey();
 }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {

            Ermeydani meydan = new Ermeydani(); 
            Takim a = new Takim();
            a.create_team(0, 0, true);
            Takim b = new Takim();
            b.create_team(12, 12, false);
            Random randim = new Random();

            while()

            

        }
Ejemplo n.º 15
0
        public override void HaraketEt(Ermeydani ermeydani)
        {
            int secim = rand.Next(101);

            if (secim < 25) //yukari haraket et
            {
                if (Koordinat.Y >= 1)
                {
                    int x = Koordinat.X;
                    int y = Koordinat.Y;
                    Koordinat = ermeydani.Harita[x, (y - 1)];
                    Console.WriteLine($"x: {x}, y: {y}");
                }
            }
            else if (secim < 50) //asagi haraket et
            {
                if (Koordinat.Y <= 14)
                {
                    int x = Koordinat.X;
                    int y = Koordinat.Y;
                    Koordinat = ermeydani.Harita[x, (y + 1)];
                    Console.WriteLine($"x: {x}, y: {y}");
                }
            }
            else if (secim < 75) //saga haraket et
            {
                if (Koordinat.X <= 14)
                {
                    int x = Koordinat.X;
                    int y = Koordinat.Y;
                    Koordinat = ermeydani.Harita[(x + 1), y];
                    Console.WriteLine($"x: {x}, y: {y}");
                }
            }
            else //sola haraket et
            {
                if (Koordinat.X >= 1)
                {
                    int x = Koordinat.X;
                    int y = Koordinat.Y;
                    Koordinat = ermeydani.Harita[(x - 1), y];
                    Console.WriteLine($"x: {x}, y: {y}");
                }
            }
        }
Ejemplo n.º 16
0
        public override void HaraketEt(Ermeydani em, Random r)
        {
            int secim = r.Next(4);

            try
            {
                //Yukarı
                if (secim == 0)
                {
                    if (Koordinat.y < 15 && em.Harita[Koordinat.x, Koordinat.y + 1] == null)
                    {
                        Koordinat.y += 1;
                        em.Harita[Koordinat.x, Koordinat.y] = null;
                    }
                }
                else if (secim == 1)//Aşağı
                {
                    if (Koordinat.y > 0 && em.Harita[Koordinat.x, Koordinat.y - 1] == null)
                    {
                        Koordinat.y -= 1;
                        em.Harita[Koordinat.x, Koordinat.y] = null;
                    }
                }
                else if (secim == 2) // sağ
                {
                    if (Koordinat.x < 15 && em.Harita[Koordinat.x + 1, Koordinat.y] == null)
                    {
                        Koordinat.x += 1;
                        em.Harita[Koordinat.x, Koordinat.y] = null;
                    }
                }
                else // sol
                {
                    if (Koordinat.x > 0 && em.Harita[Koordinat.x - 1, Koordinat.y] == null)
                    {
                        Koordinat.x -= 1;
                        em.Harita[Koordinat.x, Koordinat.y] = null;
                    }
                }
            }
            catch (Exception)
            {
                throw new NotImplementedException();
            }
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        void Ekle(Ermeydani em, Er a, int dongu, int tk)
        {
            Bolge b;

            while (indis < dongu)
            {
                a = new Er();
                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++;
            }
        }
Ejemplo n.º 19
0
 public override void AtesEt(Ermeydani em, Random r, Takim tk1, Takim tk2)
 {
     try
     {
         if (em.Harita[Koordinat.x, Koordinat.y].takım != em.Harita[Koordinat.x + 3, Koordinat.y].takım)
         {
         }
         else if (em.Harita[Koordinat.x, Koordinat.y].takım != em.Harita[Koordinat.x - 3, Koordinat.y].takım)
         {
         }
         else if (em.Harita[Koordinat.x, Koordinat.y].takım != em.Harita[Koordinat.x, Koordinat.y + 3].takım)
         {
         }
         else if (em.Harita[Koordinat.x, Koordinat.y].takım != em.Harita[Koordinat.x, Koordinat.y - 3].takım)
         {
         }
     }
     catch (Exception)
     {
         throw new NotImplementedException();
     }
 }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            /*
             * Örnek olması açısında iskelet kod hazır olarak verilmiştir. İmplementasyonunuz bunun üzerinden gerçekleştiriniz.
             */
            //please why...
            Ermeydani meydan = new Ermeydani();

            Console.WriteLine("---------------------------------");
            meydan.haritaciz();

            int i = 0;

            while (i != 6)
            {
                meydan.takim1.Birlik[i].HaraketEt(meydan.Harita);
                meydan.haritaciz();
                i = i + 1;
            }


            Console.ReadLine();
        }
Ejemplo n.º 21
0
        static void Main(string[] args)
        {
            StreamWriter streamWriter = File.AppendText("Kayıt.txt");

            streamWriter.WriteLine("Oyun başladı");
            Console.WriteLine("Oyun başladı. Askerler birbirini bulup ateş edene kadar bir süre ekran boş olabilir.");
            //Oyun kurulumu
            Random    rd   = new Random();
            Ermeydani oyun = new Ermeydani();
            Takim     t1   = new Takim();
            Takim     t2   = new Takim();

            oyun.TakımOlustur(t1);
            oyun.TakımOlustur(t2);
            oyun.HaritaYerleşimi(t1, t2);

            for (int i = 0; i < 7; i++)
            {
                streamWriter.WriteLine("Takım 1 Koordinatları -> " + t1.Birlik[i].Koordinat.ReturnX() + " " + t1.Birlik[i].Koordinat.ReturnY());
            }
            for (int i = 0; i < 7; i++)
            {
                streamWriter.WriteLine("Takım 2 Koordinatları -> " + t2.Birlik[i].Koordinat.ReturnX() + " " + t2.Birlik[i].Koordinat.ReturnY());
            }
            System.Threading.Thread.Sleep(500);


            //Oyun başlasın
            bool  herkesÖlüMü = false;
            Asker asker;

            while (true)
            {
                for (int i = 0; i < 7; i++)
                {
                    if (t1.Birlik[i].sağlıkPuanı == 0)
                    {
                        t1.Birlik[i].yaşıyorMu = false;
                    }
                }
                asker = t1.Birlik[rd.Next(7)]; //Her seferinde takım 1in rastgele bir askeri işlem yapacak.
                oyun.İşlemYap(asker, t1, t2, asker.Koordinat, streamWriter);
                asker = t2.Birlik[rd.Next(7)]; //Her seferinde takım 2nin rastgele bir askeri işlem yapacak.
                oyun.İşlemYap(asker, t1, t2, asker.Koordinat, streamWriter);
                //Takımların can değerleri sadece Kayıt.txt'ye kaydediliyor.
                for (int i = 0; i < 7; i++)
                {
                    streamWriter.WriteLine("Takım 1 " + t1.Birlik[i].GetType().Name + " Can " + t1.Birlik[i].sağlıkPuanı);
                }
                for (int i = 0; i < 7; i++)
                {
                    streamWriter.WriteLine("Takım 2" + t1.Birlik[i].GetType().Name + " Can " + t2.Birlik[i].sağlıkPuanı);
                }

                for (int i = 0; i < 7; i++)
                {
                    if (t1.Birlik[i].sağlıkPuanı > 0)
                    {
                        break;
                    }
                    else if (i == 6)
                    {
                        herkesÖlüMü = true;
                        Console.WriteLine("Takım 1 öldü");
                        streamWriter.WriteLine("Takım 1 öldü");
                    }
                }
                for (int i = 0; i < 7; i++)
                {
                    if (t1.Birlik[i].sağlıkPuanı > 0)
                    {
                        break;
                    }
                    else if (i == 6)
                    {
                        herkesÖlüMü = true;
                        Console.WriteLine("Takım 2 öldü");
                        streamWriter.WriteLine("Takım 2 öldü");
                    }
                }
                if (herkesÖlüMü)
                {
                    break;
                }
                System.Threading.Thread.Sleep(60);
            }


            Console.Read();
        }
Ejemplo n.º 22
0
 public Tegmen(Bolge bolge, Takim takim, Ermeydani ermeydani) : base(bolge, takim, ermeydani)
 {
 }
Ejemplo n.º 23
0
 public Er(Bolge bolge, Takim takim, Ermeydani ermeydani) : base(bolge, takim, ermeydani)
 {
     random = new Random();
 }
Ejemplo n.º 24
0
 public Takim(string name, Ermeydani map, Point start, Point end)
 {
     Name = name;
     Map  = map;
     Initialize(start, end);
 }
Ejemplo n.º 25
0
 public Yuzbasi(Bolge bolge, Takim takim, Ermeydani ermeydani) : base(bolge, takim, ermeydani)
 {
 }
Ejemplo n.º 26
0
        static void Main(string[] args)
        {
            Random rand = new Random();

            /*
             * Örnek olması açısında iskelet kod hazır olarak verilmiştir. İmplementasyonunuz bunun üzerinden gerçekleştiriniz.
             */

            Takim     A         = new Takim();
            Takim     B         = new Takim();
            Ermeydani ermeydani = new Ermeydani();

            ermeydani.FillIn();

            YelestirA();
            YelestirB();

            void YelestirA()
            {
                for (int i = 0; i < 3; i++)
                {
                    if (i == 0)
                    {
                        int rs = rand.Next(101);
                        if (rs < 50)
                        {
                            A.Birlik[i] = new Er(ermeydani.Harita[0, 0]);
                        }
                        else
                        {
                            A.Birlik[i] = new Yuzbasi(ermeydani.Harita[0, 0]);
                        }
                    }
                    else if (i == 1)
                    {
                        A.Birlik[i] = new Tegmen(ermeydani.Harita[0, 1]);
                    }
                    else if (i == 2)
                    {
                        int rs = rand.Next(101);
                        if (rs < 50)
                        {
                            A.Birlik[i] = new Er(ermeydani.Harita[0, 2]);
                        }
                        else
                        {
                            A.Birlik[i] = new Tegmen(ermeydani.Harita[0, 2]);
                        }
                    }
                    A.Birlik[3] = new Er(ermeydani.Harita[0, 3]);
                    A.Birlik[4] = new Er(ermeydani.Harita[1, 0]);
                    A.Birlik[5] = new Er(ermeydani.Harita[1, 1]);
                    A.Birlik[6] = new Er(ermeydani.Harita[1, 2]);
                }
            }

            void YelestirB()
            {
                for (int i = 0; i < 3; i++)
                {
                    if (i == 0)
                    {
                        int rs = rand.Next(101);
                        if (rs < 50)
                        {
                            B.Birlik[i] = new Er(ermeydani.Harita[15, 15]);
                        }
                        else
                        {
                            B.Birlik[i] = new Yuzbasi(ermeydani.Harita[15, 15]);
                        }
                    }
                    else if (i == 1)
                    {
                        B.Birlik[i] = new Tegmen(ermeydani.Harita[15, 14]);
                    }
                    else if (i == 2)
                    {
                        int rs = rand.Next(101);
                        if (rs < 50)
                        {
                            B.Birlik[i] = new Er(ermeydani.Harita[15, 13]);
                        }
                        else
                        {
                            B.Birlik[i] = new Tegmen(ermeydani.Harita[15, 13]);
                        }
                    }
                    B.Birlik[3] = new Er(ermeydani.Harita[15, 12]);
                    B.Birlik[4] = new Er(ermeydani.Harita[14, 15]);
                    B.Birlik[5] = new Er(ermeydani.Harita[14, 14]);
                    B.Birlik[6] = new Er(ermeydani.Harita[14, 13]);
                }
            }

            while (true)
            {
                ActionA();
                if (OyunBittiMi() == true)
                {
                    break;
                }

                ActionB();
                if (OyunBittiMi() == true)
                {
                    break;
                }
            }

            void ActionA()
            {
                int secim = rand.Next(101);
                int indis = rand.Next(0, 7);

                if (secim < 30)
                {
                    A.Birlik[indis].Bekle();
                }
                else if (secim < 30)
                {
                    A.Birlik[indis].AtesEt(B);
                }
                else
                {
                    A.Birlik[indis].HaraketEt(ermeydani);
                }
            }

            void ActionB()
            {
                int secim = rand.Next(101);
                int indis = rand.Next(0, 7);

                if (secim < 30)
                {
                    B.Birlik[indis].Bekle();
                }
                else if (secim < 30)
                {
                    B.Birlik[indis].AtesEt(B);
                }
                else
                {
                    B.Birlik[indis].HaraketEt(ermeydani);
                }
            }

            bool OyunBittiMi()
            {
                for (int i = 0; i < 7; i++)
                {
                    if (A.Birlik[i].hayattaMi == true)
                    {
                        return(false);
                    }
                    else if (B.Birlik[i].hayattaMi == true)
                    {
                        return(false);
                    }
                    else
                    {
                        Console.WriteLine("oyun bitti");  return(true);
                    }
                }
                return(false);
            }

            Console.ReadKey();
        }
Ejemplo n.º 27
0
        // ..... //

        //Abstract sınıfların implementasyonları çoçuk sınıflarda gerçekleştirilmelidir.
        public abstract void HaraketEt(Ermeydani ermeydani);
Ejemplo n.º 28
0
        //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);
            }
        }
Ejemplo n.º 29
0
        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;
                        }
                    }
                }
            }
        }
Ejemplo n.º 30
0
        static void Main(string[] args)
        {
            Ermeydani Meydan = new Ermeydani();

            for (int i = 0; i < 16; i++)
            {
                for (int j = 0; j < 16; j++)
                {
                    Meydan.Harita[i, j] = new Bolge();
                }
            }


            Takim A = new Takim();
            Takim B = new Takim();

            for (int i = 0; i < 7; i++)
            {
                A.Birlik[i] = new Er();
                A.Birlik[i] = new Tegmen();
                A.Birlik[i] = new Yuzbasi();
            }

            for (int i = 0; i < 7; i++)
            {
                B.Birlik[i] = new Er();
                B.Birlik[i] = new Tegmen();
                B.Birlik[i] = new Yuzbasi();
            }

            int sayacA = 0;

            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    if (sayacA <= 6)
                    {
                        Meydan.Harita[i, j].BolgedekiAsker = A.Birlik[sayacA];
                        sayacA++;
                    }
                }
            }

            int sayacB = 0;

            for (int i = 15; i > 11; i--)
            {
                for (int j = 15; j > 11; j--)
                {
                    if (sayacB <= 6)
                    {
                        Meydan.Harita[i, j].BolgedekiAsker = B.Birlik[sayacB];

                        sayacB++;
                    }
                }
            }


            int sayac = 1;

            while (true)
            {
                Console.WriteLine("Ermeydanı oynunu");

                foreach (var item in Meydan.Harita)
                {
                    if (sayac > 16)
                    {
                        sayac = 1;
                        System.Console.WriteLine("");
                    }
                    if (item.BolgedekiAsker == null)
                    {
                        Console.Write("{0} ", "[ ]");
                    }
                    else
                    {
                        Console.Write("{0} ", "[*]");
                    }

                    sayac++;
                }
                Thread.Sleep(1000);
                Console.Clear();
            }
        }