//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(); }
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(); } }
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()); }
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); }