Compare commits

...

3 commits

2 changed files with 16 additions and 5 deletions

View file

@ -32,17 +32,16 @@ class HumanPlayerEngine(PlayerEngine):
super() super()
move = None move = None
while move is None: while move is None:
user_input = input("Please enter player {} move: ".format( user_input = input("Please enter player {} move, `print` to display board and `help` possible moves : ".format(
self.get_player_name(board._nextPlayer) self.get_player_name(board._nextPlayer)
)) ))
move = self.validate_input(user_input, board, player) move = self.validate_input(user_input, board)
print("{}".format(move))
return move return move
@staticmethod @staticmethod
def validate_input(input, board): def validate_input(input, board):
if input == 'print': if input == 'print':
print("\n{}".format(board.__str__)) print(board.show_board())
return None return None
if input == 'help': if input == 'help':
@ -54,7 +53,7 @@ class HumanPlayerEngine(PlayerEngine):
x = int(input[0]) x = int(input[0])
y = int(input[1]) y = int(input[1])
if not board.is_valid_move(int(player), x, y): if not board.is_valid_move(board._nextPlayer, x, y):
return None return None
return [board._nextPlayer, x, y] return [board._nextPlayer, x, y]

View file

@ -216,6 +216,18 @@ class Board:
else: else:
return '.' return '.'
def show_board(self):
display = " |"
for x in range(self.get_board_size()):
display += "{}|".format(str(x))
display += "\n"
for x in range(self.get_board_size()):
display += "{}|".format(str(x))
for y in range(self.get_board_size()):
display += "{}|".format(self._piece2str(self._board[x][y]))
display += "\n"
return display
def __str__(self): def __str__(self):
toreturn="" toreturn=""
for l in self._board: for l in self._board: