Пример #1
0
        /// <summary>
        /// Metoda spusti hru pro dva hrace
        /// </summary>
        static public void NovaHraProDvaHrace()
        {
            Hrac.index = 0;
            bool   kontrolaJmena1 = true;
            bool   kontrolaJmena2 = true;
            string vstup1         = "Zadejte jméno 1.hráče: ";
            string vstup2         = "Zadejte jméno 2.hráče: ";

            while (kontrolaJmena1) //Ziskani jmena 1.hrace
            {
                Console.Clear();
                Console.SetCursorPosition(1, 3);
                Console.Write(vstup1);
                jmenoHrace1 = Console.ReadLine();

                if (jmenoHrace1.Length < 10)
                {
                    kontrolaJmena1 = false;
                }
                else
                {
                    Hra.Zprava("Zadali jste příliš dlouhé jméno. Můžete zadat Max. 10 znaků", ConsoleColor.Red, ConsoleColor.Cyan);
                }
            }

            while (kontrolaJmena2)  //Ziskani jmena 2.hrace
            {
                Console.Clear();
                Console.SetCursorPosition(1, 3);
                Console.Write(vstup2);
                jmenoHrace2 = Console.ReadLine();

                if (jmenoHrace2.Length < 10)
                {
                    kontrolaJmena2 = false;
                }
                else
                {
                    Hra.Zprava("Zadali jste příliš dlouhé jméno. Můžete zadat Max. 10 znaků", ConsoleColor.Red, ConsoleColor.Cyan);
                }
            }

            Hrac hrac1 = new Hrac(jmenoHrace1, ConsoleColor.DarkGreen);
            Hrac hrac2 = new Hrac(jmenoHrace2, ConsoleColor.Magenta);

            hrac1.OdkryjPolicko += hrac2.OdkryjHerniPolicko;
            hrac2.OdkryjPolicko += hrac1.OdkryjHerniPolicko;
            hrac1.VytvoreniHerniPlochy();
            System.Threading.Thread.Sleep(300);
            hrac2.VytvoreniHerniPlochy();
            hrac1.Pohyb += hrac2.PohybPoHerniPlose;
            hrac2.Pohyb += hrac1.PohybPoHerniPlose;

            //Herni smycka
            while (hrac1.PocetLodi > 0 && hrac2.PocetLodi > 0 && !hrac1.UkonceniHry && !hrac2.UkonceniHry)
            {
                try
                {
                    if (hrac1.NaTahu)
                    {
                        hrac2.KontrolaStavuPolicka = false;
                        while (!hrac2.KontrolaStavuPolicka && !hrac1.UkonceniHry)
                        {
                            Hra.hrac = hrac1;
                            Hra.NaTahu();
                            Hra.HerniOkno(hrac2);
                            hrac1.Hraje();
                        }
                        if (!hrac2.UkonceniHry)
                        {
                            hrac1.NaTahu = false;
                            hrac2.NaTahu = true;
                        }
                    }

                    else if (hrac2.NaTahu)
                    {
                        hrac1.KontrolaStavuPolicka = false;
                        while (!hrac1.KontrolaStavuPolicka && !hrac2.UkonceniHry)
                        {
                            Hra.hrac = hrac2;
                            Hra.NaTahu();
                            Hra.HerniOkno(hrac1);
                            hrac2.Hraje();
                        }

                        if (!hrac2.UkonceniHry)
                        {
                            hrac2.NaTahu = false;
                            hrac1.NaTahu = true;
                        }
                    }
                }

                catch
                {
                    Zvuky.Chyba();
                    Hra.Zprava("Neočekávaná chyba", ConsoleColor.Red, ConsoleColor.Cyan);
                }
            }

            //Vypise na konci hry kdo vyhral
            if (hrac1.PocetLodi > 0 && !hrac1.UkonceniHry && !hrac2.UkonceniHry)
            {
                Zvuky.Vyhra();
                Hra.ZpravaKonecHry("Vyhrál(a)", hrac1);
            }
            else if (hrac2.PocetLodi > 0 && !hrac1.UkonceniHry && !hrac2.UkonceniHry)
            {
                Zvuky.Vyhra();
                Hra.ZpravaKonecHry("Vyhrál(a)", hrac2);
            }
        }
Пример #2
0
        /// <summary>
        /// Metoda spusti hru pro jednoho hrace
        /// </summary>
        public static void NovaHraJednohoHrace()
        {
            Hrac.index = 0;
            bool   kontrolaJmena = true;
            string vstup         = "Zadejte jméno hráče: ";

            while (kontrolaJmena)  //ziskani jemna hrace
            {
                Console.Clear();
                Console.SetCursorPosition(1, 3);
                Console.Write(vstup);
                jmenoHrace1 = Console.ReadLine();

                if (jmenoHrace1.Length < 10)
                {
                    kontrolaJmena = false;
                }
                else
                {
                    Hra.Zprava("Zadali jste příliš dlouhé jméno. Můžete zadat Max. 10 znaků", ConsoleColor.Red, ConsoleColor.Cyan);
                }
            }

            Hrac    hrac    = new Hrac(jmenoHrace1, ConsoleColor.DarkGreen);
            Pocitac pocitac = new Pocitac(ConsoleColor.Red);

            hrac.OdkryjPolicko    += pocitac.OdkryjHerniPolicko;
            pocitac.OdkryjPolicko += hrac.OdkryjHerniPolicko;
            hrac.VytvoreniHerniPlochy();
            System.Threading.Thread.Sleep(300);
            pocitac.VytvoreniHerniPlochy();
            hrac.Pohyb += pocitac.PohybPoHerniPlose;

            //Herni smycka
            while (hrac.PocetLodi > 0 && pocitac.PocetLodi > 0 && !hrac.UkonceniHry && !pocitac.UkonceniHry)
            {
                try
                {
                    if (hrac.NaTahu)
                    {
                        pocitac.KontrolaStavuPolicka = false;
                        while (!pocitac.KontrolaStavuPolicka && !hrac.UkonceniHry)
                        {
                            Hra.hrac = hrac;
                            Hra.NaTahu();
                            Hra.HerniOkno(pocitac);
                            hrac.Hraje();
                        }
                        if (!hrac.UkonceniHry)
                        {
                            hrac.NaTahu    = false;
                            pocitac.NaTahu = true;
                        }
                    }
                    else if (pocitac.NaTahu)
                    {
                        Hra.hrac = pocitac;
                        Hra.NaTahu();
                        Hra.HerniOkno(hrac);
                        pocitac.Hraje();
                        pocitac.NaTahu = false;
                        hrac.NaTahu    = true;
                    }
                }

                catch
                {
                    Zvuky.Chyba();
                    Hra.Zprava("Neočekávaná chyba", ConsoleColor.Red, ConsoleColor.Cyan);
                }
            }

            //Vypis viteze na konci hry
            if (hrac.PocetLodi > 0 && !hrac.UkonceniHry && !pocitac.UkonceniHry)
            {
                Zvuky.Vyhra();
                Hra.ZpravaKonecHry("Vyhrál(a)", hrac);
            }
            else if (pocitac.PocetLodi > 0 && !hrac.UkonceniHry && !pocitac.UkonceniHry)
            {
                Zvuky.Prohra();
                Hra.ZpravaKonecHry("Vyhrál(a)", pocitac);
            }
        }