public static IEnumerable <BoardPosition> GetPawnMoves(BoardPosition pawn_pos, ChessBoard board)
        {
            List <BoardPosition> pawn_moves = new List <BoardPosition>();
            //ChessPiece pawn = board.GetPieceAtPosition(pawn_pos);

            /*
             * //front
             * BoardPosition one_front = new BoardPosition(pawn_pos.Row + 1, pawn_pos.Col);
             * if (ChessBoard.PositionInBounds(one_front))
             *  pawn_moves.Add(one_front);
             */
            //front right
            int player = board.GetPlayerAtPosition(pawn_pos);

            if (player == 1)
            {
                BoardPosition front_right = new BoardPosition(pawn_pos.Row - 1, pawn_pos.Col - 1);
                if (ChessBoard.PositionInBounds(front_right))
                {
                    pawn_moves.Add(front_right);
                }
                //front-left
                BoardPosition one_left = new BoardPosition(pawn_pos.Row - 1, pawn_pos.Col + 1);
                if (ChessBoard.PositionInBounds(one_left))
                {
                    pawn_moves.Add(one_left);
                }

                /*
                 *  if (pawn_pos.Row == 1)
                 * {
                 *  BoardPosition two_front = new BoardPosition(pawn_pos.Row - 2, pawn_pos.Col);
                 *  pawn_moves.Add(two_front);
                 * }
                 */
            }
            else
            {
                BoardPosition front_right = new BoardPosition(pawn_pos.Row + 1, pawn_pos.Col + 1);
                if (ChessBoard.PositionInBounds(front_right))
                {
                    pawn_moves.Add(front_right);
                }
                //front-left
                BoardPosition one_left = new BoardPosition(pawn_pos.Row + 1, pawn_pos.Col - 1);
                if (ChessBoard.PositionInBounds(one_left))
                {
                    pawn_moves.Add(one_left);
                }

                /*
                 *
                 *  if (pawn_pos.Row == 1)
                 * {
                 *  BoardPosition two_front = new BoardPosition(pawn_pos.Row + 2, pawn_pos.Col);
                 *  pawn_moves.Add(two_front);
                 * }
                 */
            }

            return(pawn_moves);
        }