Beispiel #1
0
        public void MovePiece(Piece piece)
        {
            if (validMoves.Contains(piece))
            {
                // move piece
                int roll = gui.GameDie.Value;
                if (!piece.IsAtStart())
                {
                    board[piece.Position].OutgoingPiece(piece);
                }
                piece.MovePiece(roll);
                board[piece.Position].IncomingPiece(piece);

                // prepare for next turn
                gui.GameDie.Enable();
                resetBoard();
                validMoves.Clear();
                checkIfDone(players[currentPlayer]);

                // check for extra turn
                if (roll == 6)
                {
                    gui.Dialog.WriteLine($"{Captitalize(players[currentPlayer].Color)} rolled a 6 and gets another turn. ");
                    awaitDiceroll();
                }
                else
                {
                    NextPlayer();
                }
            }
            else
            {
                //gui.Dialog.WriteLine("Invalid move. Click on one of the highlighted fields. ");
            }
        }