Exemple #1
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);
            }
        }