Beispiel #1
0
        private void HratHru(object hrajiciHrac)
        {
            ObecnyHrac hrac = (ObecnyHrac)hrajiciHrac;

            hrac.PripojitRozhrani(Rozhrani);
            hrac.NavazatSpojeniSeSouperem();
            hrac.RozmistitLode();

            if (hrac.MaPravoPrvnihoTahu())
            {
                CilTahu      = hrac.RozhodnoutVlastniTah();
                VysledekTahu = hrac.ZjistitVysledekTahuOdSoupere(CilTahu);

                hrac.ProvestVlastniTah(CilTahu, VysledekTahu);
            }

            while (!HraSkoncila())
            {
                CilTahu      = hrac.ZjistitTahSoupere();
                VysledekTahu = hrac.ProvestTahSoupere(CilTahu);

                hrac.OznamitVysledekTahuSouperi(VysledekTahu);

                if (HraSkoncila())
                {
                    break;
                }

                CilTahu      = hrac.RozhodnoutVlastniTah();
                VysledekTahu = hrac.ZjistitVysledekTahuOdSoupere(CilTahu);

                hrac.ProvestVlastniTah(CilTahu, VysledekTahu);
            }
        }
Beispiel #2
0
        private void HratHru()
        {
            if (Hrac.MaPravoPrvnihoTahu())
            {
                CilTahu      = Hrac.RozhodnoutVlastniTah();
                VysledekTahu = Hrac.ZjistitVysledekTahu(Souper, CilTahu);

                Hrac.ProvestVlastniTah(CilTahu, VysledekTahu);
            }

            while (!HraSkoncila())
            {
                CilTahu      = Hrac.ZjistitTahSoupere();
                VysledekTahu = Hrac.ProvestTahSoupere(CilTahu);

                Hrac.OznamitVysledekTahu(Souper, VysledekTahu);

                if (HraSkoncila())
                {
                    break;
                }

                CilTahu      = Hrac.RozhodnoutVlastniTah();
                VysledekTahu = Hrac.ZjistitVysledekTahu(Souper, CilTahu);

                Hrac.ProvestVlastniTah(CilTahu, VysledekTahu);
            }
        }
Beispiel #3
0
        public void OznamitVysledekTahuSouperi(StavPolicka vysledek)
        {
            Socket postak = VysilaciKomunikacniKanal;
            int    data   = (int)vysledek;

            byte[] Pet = BitConverter.GetBytes(data);
            postak.Send(Pet);
        }
Beispiel #4
0
        public Hrac(IPAddress vlastniAdresa)
        {
            Vysilac  = new IPEndPoint(vlastniAdresa, 10001);
            Prijimac = new IPEndPoint(vlastniAdresa, 10010);

            _nahoda = new Random((int)DateTime.Now.Ticks);

            HerniPole = new StavPolicka[10, 10];
            Lode      = new List <Lod>();
        }
        public void ZobrazitStavHry(StavPolicka[,] vlastniHerniPole, StavPolicka[,] souperovoHerniPole)
        {
            int sirkaPole = vlastniHerniPole.GetLength(0);
            int vyskaPole = vlastniHerniPole.GetLength(1);

            for (int y = 0; y < vyskaPole; y++)
            {
                for (int x = 0; x < sirkaPole; x++)
                {
                    StavPolicka policko = vlastniHerniPole[x, y];

                    if (policko == StavPolicka.Voda)
                    {
                        Console.Write("~");
                    }
                    else if (policko == StavPolicka.Lod)
                    {
                        Console.Write("#");
                    }
                    else if (policko == StavPolicka.Zasah)
                    {
                        Console.Write("X");
                    }
                    else if (policko == StavPolicka.Potopena)
                    {
                        Console.Write("0");
                    }
                    else if (policko == StavPolicka.Neznamo)
                    {
                        Console.Write(":");
                    }
                    else if (policko == StavPolicka.Mimo)
                    {
                        Console.Write("~");
                    }
                    Console.WriteLine();
                    //Udělej ze sebe řádek prosím :)
                }
            }
        }
Beispiel #6
0
        public StavPolicka ZjistitVysledekTahuOdSoupere(Souradnice DataSouradnice)
        {
            BitConverter.GetBytes(DataSouradnice.X);
            BitConverter.GetBytes(DataSouradnice.Y);
            byte[] SouradniceX = new byte[100];
            byte[] SouradniceY = new byte[100];

            Socket postak = VysilaciKomunikacniKanal;

            postak.Send(SouradniceX);
            postak.Send(SouradniceY);

            postak = PrijimaciKomunikacniKanal;

            byte[] jakToDopadlo = new byte[100];
            postak.Receive(jakToDopadlo);

            int         vysledekJakoInt         = BitConverter.ToInt32(jakToDopadlo, startIndex);
            StavPolicka vysledekJakoStavPolicka = (StavPolicka)vysledekJakoInt;

            return(vysledekJakoStavPolicka);
        }
Beispiel #7
0
 protected void NaplnitHerniPoleSoupereHodnotou(StavPolicka hodnota)
 {
     throw new NotImplementedException();
 }
Beispiel #8
0
 public void ProvestVlastniTah(Souradnice tah, StavPolicka vysledek)
 {
     HerniPoleSoupere[tah.X, tah.Y] = vysledek;
 }
Beispiel #9
0
 public void VykomunikovatTahSoupere(Souradnice tah, StavPolicka vysledek)
 {
     throw new NotImplementedException();
 }
Beispiel #10
0
 public void ProvestVlastniTah(Souradnice tah, StavPolicka vysledek)
 {
     throw new NotImplementedException();
 }
Beispiel #11
0
 /// <summary>
 /// Metoda PohybPoPlose slouzi, pro pohyb na plose ktery je zviraznen
 /// </summary>
 /// <param name="x">Aktualni pozice na plose na souradnici x</param>
 /// <param name="y">Aktualni pozice na plose na souradnici y</param>
 /// <param name="stav">Nastavi stav policka</param>
 public void PohybPoPlose(int x, int y, StavPolicka stav)
 {
     poleStavu[x, y] = stav;
 }
Beispiel #12
0
 public void OznamitVysledekTahuSouperi(StavPolicka vysledek)
 {
     throw new NotImplementedException();
 }
Beispiel #13
0
 public void ZobrazitZamerovac(Souradnice souradnice, Souradnice rozsahZobrazeni, StavPolicka zpusobZobrazeni)
 {
     throw new NotImplementedException();
 }
Beispiel #14
0
 public void ZobrazitLod(Lod lod, Souradnice rozsahZobrazeni, StavPolicka zpusobZobrazeni)
 {
     throw new NotImplementedException();
 }
Beispiel #15
0
 public void OznamitVysledekTahu(ObecnyHrac souper, StavPolicka vysledek)
 {
     throw new NotImplementedException();
 }