private string getStringRepresentationOfSquareType(eSquareType i_SquareType)
        {
            string result = null;

            switch (i_SquareType)
            {
            case eSquareType.Empty:
                result = string.Empty;
                break;

            case eSquareType.Player1King:
                result = k_Player1KingSymbol.ToString();
                break;

            case eSquareType.Player1RegularPiece:
                result = k_Player1RegularPieceSymbol.ToString();
                break;

            case eSquareType.Player2King:
                result = k_Player2KingSymbol.ToString();
                break;

            case eSquareType.Player2RegularPiece:
                result = k_Player2RegularPieceSymbol.ToString();
                break;

            default: break;
            }

            return(result);
        }
Example #2
0
        public static string ToStringSqureType(eSquareType i_Type)
        {
            string squareTypeString = string.Empty;

            switch (i_Type)
            {
            case eSquareType.None:
                squareTypeString = "   ";
                break;

            case eSquareType.K:
                squareTypeString = " K ";
                break;

            case eSquareType.O:
                squareTypeString = " O ";
                break;

            case eSquareType.X:
                squareTypeString = " X ";
                break;

            case eSquareType.U:
                squareTypeString = " U ";
                break;
            }

            return(squareTypeString);
        }
Example #3
0
        public static string ToStringSqureType(eSquareType i_Type)
        {
            string squareTypeString = "";

            switch (i_Type)
            {
            case (eSquareType.None):
                squareTypeString = "   ";
                break;

            case (eSquareType.K):
                squareTypeString = " K ";
                break;

            case (eSquareType.O):
                squareTypeString = " O ";
                break;

            case (eSquareType.X):
                squareTypeString = " X ";
                break;

            case (eSquareType.U):
                squareTypeString = " U ";
                break;
            }

            return(squareTypeString);
        }
Example #4
0
 public Player(string i_name, ePlayerType i_TypeOfPlayer, int i_Score, eSquareType i_PieceSymbol, eSquareType i_KingSymbol, bool i_MovesDown)
 {
     this.m_Name         = i_name;
     this.m_Score        = i_Score;
     this.m_TypeOfPlayer = i_TypeOfPlayer;
     this.m_PieceSymbol  = i_PieceSymbol;
     this.m_KingSymbol   = i_KingSymbol;
     this.m_MovesDown    = i_MovesDown;
 }
Example #5
0
        public List <CheckersMove> GetLegalMoves(Player i_Player)
        {
            eSquareType         playerPieceSymbol = i_Player.PieceSymbol;
            eSquareType         playerKingSymbol  = i_Player.KingSymbol;
            List <CheckersMove> listOfMoves       = new List <CheckersMove>();

            listOfMoves = getLegalEatMoves(i_Player);
            bool playerCanMakeAJump = listOfMoves.Count > 0;

            if (!playerCanMakeAJump)
            {
                listOfMoves = getValidMovesThatAreNotEatMoves(i_Player);
            }

            if (listOfMoves.Count() == 0)
            {
                listOfMoves = null;
            }

            return(listOfMoves);
        }
Example #6
0
        private List <CheckersMove> getValidMovesThatAreNotEatMoves(Player i_Player)
        {
            eSquareType         playerPieceSymbol = i_Player.PieceSymbol;
            eSquareType         playerKingSymbol  = i_Player.KingSymbol;
            List <CheckersMove> listOfMoves       = new List <CheckersMove>();

            for (int row = 0; row < r_BoardSize; row++)
            {
                for (int col = 0; col < r_BoardSize; col++)
                {
                    if (r_Board[row, col] == playerPieceSymbol || r_Board[row, col] == playerKingSymbol)
                    {
                        if (checkRegularMove(i_Player, row, col, row + 1, col - 1))
                        {
                            listOfMoves.Add(new CheckersMove(row, col, row + 1, col - 1));
                        }

                        if (checkRegularMove(i_Player, row, col, row - 1, col - 1))
                        {
                            listOfMoves.Add(new CheckersMove(row, col, row - 1, col - 1));
                        }

                        if (checkRegularMove(i_Player, row, col, row + 1, col + 1))
                        {
                            listOfMoves.Add(new CheckersMove(row, col, row + 1, col + 1));
                        }

                        if (checkRegularMove(i_Player, row, col, row - 1, col + 1))
                        {
                            listOfMoves.Add(new CheckersMove(row, col, row - 1, col + 1));
                        }
                    }
                }
            }

            return(listOfMoves);
        }
Example #7
0
        private List <CheckersMove> getLegalEatMoves(Player i_Player)
        {
            eSquareType         playerPieceSymbol = i_Player.PieceSymbol;
            eSquareType         playerKingSymbol  = i_Player.KingSymbol;
            List <CheckersMove> listOfEatMoves    = new List <CheckersMove>();

            for (int row = 0; row < r_BoardSize; row++)
            {
                for (int col = 0; col < r_BoardSize; col++)
                {
                    if (r_Board[row, col] == i_Player.PieceSymbol || r_Board[row, col] == i_Player.KingSymbol)
                    {
                        if (canEat(i_Player, row, col, row + 1, col + 1, row + 2, col + 2))
                        {
                            listOfEatMoves.Add(new CheckersMove(row, col, row + 2, col + 2));
                        }

                        if (canEat(i_Player, row, col, row + 1, col - 1, row + 2, col - 2))
                        {
                            listOfEatMoves.Add(new CheckersMove(row, col, row + 2, col - 2));
                        }

                        if (canEat(i_Player, row, col, row - 1, col - 1, row - 2, col - 2))
                        {
                            listOfEatMoves.Add(new CheckersMove(row, col, row - 2, col - 2));
                        }

                        if (canEat(i_Player, row, col, row - 1, col + 1, row - 2, col + 2))
                        {
                            listOfEatMoves.Add(new CheckersMove(row, col, row - 2, col + 2));
                        }
                    }
                }
            }

            return(listOfEatMoves);
        }
Example #8
0
 private void panel1_MouseDown(object sender, MouseEventArgs e)
 {
     eSquareType result = gb.PlayThisSquare(e.Location);
 }
Example #9
0
 public Square(eSquareType i_Type, int i_Row, int i_Column)
 {
     this.m_Type   = i_Type;
     this.m_Row    = i_Row;
     this.m_Column = i_Column;
 }
 // $G$ CSS-013 (-1) Input parameters names should start with i_PascaleCase.
 internal Square(eSquareType type, int m_Row, int m_Column)
 {
     this.m_Type   = type;
     this.r_Row    = m_Row;
     this.r_Column = m_Column;
 }