Esempio n. 1
0
        //const string __GameString__ = "TF__TF_TF__TF";
        //const string __GameString__ = "TF__TF_";
        //const string __GameString__ = "T_T_F";
        //const string __GameString__ = "TF_T_F";



        static void Main(string[] args)
        {
            FrogsAndToadsPlayer _toadChooser  = new ConsolePlayer("Toads");
            FrogsAndToadsPlayer _frogsChooser = new EvaluatingPlayer("Frogs", new MiniMaxEvaluator());
            FrogsAndToadsGame   game          = new FrogsAndToadsGame(
                _toadChooser,
                _frogsChooser,
                __GameString__
                );

            PlayInTurns(game);

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine($"Game over with position {game.PositionString}.");
            Console.WriteLine($"The winner was {game.Winner}");
            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            Console.WriteLine("History:");
            foreach (string positionString in game.StringHistory)
            {
                Console.WriteLine($"    {positionString}");
            }



            Console.ReadLine();
        }
Esempio n. 2
0
 static void PlayInTurns(FrogsAndToadsGame game)
 {
     while (!game.GameIsOver)
     {
         Console.WriteLine();
         Console.WriteLine($"   current position is {game.Position}");
         Console.WriteLine("      Press <Enter>");
         Console.ReadLine();
         game.PlayRound();
     }
 }
Esempio n. 3
0
        public void Play()
        {
            FrogsAndToadsGame game = new FrogsAndToadsGame(toadPlayer, frogPlayer, "T_F");

            game.Play();

            Assert.AreEqual(4, game.History.Count);
            Assert.AreEqual("< T _ F >", game.History[0].ToString());
            Assert.AreEqual("< _ T F >", game.History[1].ToString());
            Assert.AreEqual("< F T _ >", game.History[2].ToString());
            Assert.AreEqual("< F _ T >", game.History[3].ToString());
        }
Esempio n. 4
0
        public void PlayOneMove()
        {
            FrogsAndToadsGame game = new FrogsAndToadsGame(toadPlayer, frogPlayer, "T_F");

            Assert.AreEqual("< T _ F >", game.PositionString);

            game.PlayLeft();
            Assert.AreEqual("< _ T F >", game.PositionString);

            game.PlayRight();
            Assert.AreEqual("< F T _ >", game.PositionString);

            game.PlayLeft();
            Assert.AreEqual("< F _ T >", game.PositionString);
        }