示例#1
0
 /// <summary>
 /// Přepsaná metoda, která vrátí nejlepší vygenerovaný tah minimaxu.
 /// </summary>
 /// <returns></returns>
 /*public override Tah VratTah()
 {
     return Minimax.VratNejlepsiTah(Manazer.Deska, BarvaHrace, obtiznost);
     // return Minimax.NejlepsiTah(Manazer.Deska, BarvaHrace, obtiznost);
 }*/
 /// <summary>
 /// Změní barvu hráče na opačnou.
 /// </summary>
 public void ZmenBarvu()
 {
     if (BarvaHrace == Manazer.StavPole.obrana)
         BarvaHrace = Manazer.StavPole.utok;
     else
         BarvaHrace = Manazer.StavPole.obrana;
 }
示例#2
0
        public AI(string jmeno, Manazer.StavPole barvaHrace, int Obtiznost)
            : base(jmeno)
        {
            // inicializace prvků
            this.BarvaHrace = barvaHrace;

            // nastavení umělého hráče
            this.UmelaInteligence = true;
            this.obtiznost = Obtiznost;
        }
示例#3
0
        /*public Object Clone()
        {
            HraciDeska NovaHraciDeska = (HraciDeska) MemberwiseClone();
            Pozice NovaPozice = new Pozice(aktualniTah.radek, aktualniTah.sloupec);
            NovaHraciDeska.aktualniTah = NovaPozice;

            return NovaHraciDeska;
        }*/
        /// <summary>
        /// Nastaví hrací desku do počátečního stavu.
        /// </summary>
        public void Restart()
        {
            // Rozměr hrací desky
            rozmer = 7;

            // Nastavíme hrací desku
            deska = new Manazer.StavPole[rozmer, rozmer];

            // Nejprve naplníme desku volnymi pozicemi
            for(int i = 0; i < deska.GetLength(0); i++)
            {
                for(int j = 0; j < deska.GetLength(1); j++)
                {
                    deska[i, j] = Manazer.StavPole.volne;
                }
            }

            // Umístíme útočníky
            for(int i = 0; i < deska.GetLength(0); i++)
            {
                for(int j = 0; j < deska.GetLength(1); j++)
                {
                    if(!Pevnost(i, j))
                    {
                        deska[i, j] = Manazer.StavPole.utok;
                    }
                }
            }

            // Nyní vysekáme rohy hrací desky, protože v rozích nehrajeme
            // Prostě tam střelíme -1: mimo hrací desku
            for(int i = 0; i < deska.GetLength(0); i++)
            {
                for(int j = 0; j < deska.GetLength(1); j++)
                {
                    if(Rohova(i, j))
                    {
                        deska[i, j] = Manazer.StavPole.mimo;
                    }
                }
            }

            // zrušíme aktuální tah
            aktualniTah = null;

            // Vynulujeme počet obránců
            PocetObrancu = 0;

            Console.ForegroundColor = ConsoleColor.White;
        }