Exemple #1
0
        /// <summary>
        /// Metoda Hraje, umoznuje pohyb na herni plose soupere
        /// </summary>
        public virtual void Hraje()
        {
            bool pohybHrace = true;

            Console.SetCursorPosition(herniPlocha.SirkaX + 35, 5);
            Console.WriteLine("Aktualní pozice: " + herniPlocha.legenda[x] + " , " + herniPlocha.legenda[y]); //Vypise aktualni pozici na plose
            Hra.Napoveda();
            Pohyb(x, y);                                                                                      //Vyznaci policko na kterym se nachazime

            while (pohybHrace)
            {
                klavesa = Console.ReadKey(true);

                switch (klavesa.Key)
                {
                //pohyb na horu
                case ConsoleKey.UpArrow:
                    y--;
                    if (y < 0)
                    {
                        y = herniPlocha.VyskaY - 1;
                    }
                    break;

                //Pohyb dolu
                case ConsoleKey.DownArrow:
                    y++;
                    if (y > herniPlocha.VyskaY - 1)
                    {
                        y = 0;
                    }
                    break;

                //Pohyb do leva
                case ConsoleKey.LeftArrow:
                    x--;
                    if (x < 0)
                    {
                        x = herniPlocha.SirkaX - 1;
                    }
                    break;

                //Pohyb do prava
                case ConsoleKey.RightArrow:
                    x++;
                    if (x > herniPlocha.SirkaX - 1)
                    {
                        x = 0;
                    }
                    break;

                //Stisk ENTER odkryje policko
                case ConsoleKey.Enter:
                    pohybHrace = false;
                    break;

                //Ukonceni hry
                case ConsoleKey.Escape:
                    pohybHrace           = false;
                    UkonceniHry          = true;
                    KontrolaStavuPolicka = true;
                    break;
                }
                Zvuky.Pohyb();  //Zvuk pri pohybu
                Pohyb(x, y);
                Console.SetCursorPosition(herniPlocha.SirkaX + 35, 5);
                Console.WriteLine("Aktualní pozice: " + herniPlocha.legenda[x] + " , " + herniPlocha.legenda[y]);
                Hra.Napoveda();
            }

            //Kdyz neni stisknuto ESC odkryje policko
            if (klavesa.Key != ConsoleKey.Escape)
            {
                OdkryjPolicko(x, y);
            }
        }