コード例 #1
0
ファイル: Program.cs プロジェクト: jakeblack14/GameCore
        private static bool checkCOORD(Player currentPlayer, GameBoard game, Move move)
        {
            if (currentPlayer.getIdentity() == (char)identity.X)
            {
                if (game.getSquareToken(move.Begin) != Square.X)
                {
                    Console.Write("Invalid COORD... Try Again");
                    return(false);
                    //Greater than thye loaction your on
                }
                return(true);
            }

            if (currentPlayer.getIdentity() == (char)identity.O)
            {
                if (game.getSquareToken(move.Begin) != Square.O)
                {
                    Console.Write("Invalid COORD... Try Again");
                    return(false);
                    //Greater than thye loaction your on
                }
                return(true);
            }
            else
            {
                Console.Write("Invalid COORD... Try Again");
                return(false);
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: jakeblack14/GameCore
        //Begin the game
        private static void beginGame(ref Player currentPlayer, ref GameBoard Game,
                                      ref Move move)
        {
            while (!Game.gameOver())
            {
                do
                {
                    move.getBeginMove();
                }while (!checkCOORD(currentPlayer, Game, move));

                do
                {
                    move.getEndMove();
                }while (!checkMove(currentPlayer, Game, move));

                Game.movePiece(move);
                Game.printGameBoard();

                if (currentPlayer.getIdentity() == (char)identity.X)
                {
                    currentPlayer.setPlayer(identity.O);
                }
                else
                {
                    currentPlayer.setPlayer(identity.X);
                }
            }
        }
コード例 #3
0
 private void setFirstPlayer()
 {
     //set the current player to whichever player is going first
     if (playerGoingFirst)
     {
         currentPlayer = PlayerX;
         Debug.Log("PlayerX going first");
     }
     else
     {
         currentPlayer = PlayerO;
         Debug.Log("PlayerO going first");
     }
     //update the game core
     game.newGameBoard(currentPlayer.getIdentity());
 }
コード例 #4
0
        static void Main(string[] args)
        {
            //Define the players
            Player PlayerX = new Player();

            PlayerX.setPlayer(identity.X);
            Player PlayerO = new AIPlayer();

            PlayerO.setPlayer(identity.O);
            Player currentPlayer = null;

            //Find out the first player, and set currentPlayer
            FirstPlayer(PlayerX, PlayerO, ref currentPlayer);

            //Setup the game board
            game = new GameBoard();
            game.newGameBoard(currentPlayer.getIdentity());

            COORD coord = new COORD();
            Move  move  = new Move();

            beginGame(currentPlayer.getIdentity(), ref PlayerX, ref PlayerO, ref game, ref move);
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: jakeblack14/GameCore
        private static bool checkMove(Player currentPlayer, GameBoard game, Move move)
        {
            if (currentPlayer.getIdentity() == (char)identity.X)
            {
                if (game.getSquareToken(move.End) == Square.X)
                {
                    Console.Write("Invalid move... Try Again");
                    return(false);
                    //Greater than the loaction your on
                }

                // Check for Up one
                if (
                    move.Begin.X - 1 == move.End.X &&
                    //Check Left,Center,Right after up one)
                    (
                        move.Begin.Y - 1 == move.End.Y ||
                        (move.Begin.Y == move.End.Y && game.getSquareToken(move.End) != Square.O) ||
                        move.Begin.Y + 1 == move.End.Y
                    ) &&
                    //Check Bounds For X
                    ((move.End.X <= 7 && move.End.X >= 0) &&
                     //Check Bounds For Y
                     (move.End.Y <= 7 && move.End.Y >= 0))
                    )
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            if (currentPlayer.getIdentity() == (char)identity.O)
            {
                if (game.getSquareToken(move.End) == Square.O)
                {
                    Console.Write("Invalid move... Try Again");
                    return(false);
                    //Greater than the loaction your on
                }

                // Check for Down one
                if (
                    move.Begin.X + 1 == move.End.X &&
                    //Check Left,Center,Right after up one)
                    (
                        move.Begin.Y - 1 == move.End.Y ||
                        (move.Begin.Y == move.End.Y && game.getSquareToken(move.End) != Square.X) ||
                        move.Begin.Y + 1 == move.End.Y
                    ) &&
                    //Check Bounds For X
                    ((move.End.X <= 7 && move.End.X >= 0) &&
                     //Check Bounds For Y
                     (move.End.Y <= 7 && move.End.Y >= 0))
                    )
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            return(false);
        }
コード例 #6
0
 public static bool checkMove(Player currentPlayer, Move move)
 {
     return(game.checkMove(currentPlayer.getIdentity(), move));
 }