Exemplo n.º 1
0
        public override void Play(DosGame game)
        {
            while (game.CurrentPlayer == this && !game.CurrentState.IsFinished)
            {
                var moveResult = ChooseMove(game);

                if (moveResult.IsSuccess)
                {
                    continue;
                }

                if (moveResult.HasMessage)
                {
                    game.PublicLog(moveResult.Message);
                }
                game.PublicLog($"*Something went wrong, {Name} quits*");
                game.Quit(this);
                return;
            }

            if (CanBeCalledOut)
            {
                game.CallDos(this);
            }
        }