diff --git a/Snek/player/Player.py b/Snek/player/Player.py index 422d3ca62a64e49714f000f86567b1838cb0676e..291fbb69990893a28fe4ad656deb2717a355f044 100644 --- a/Snek/player/Player.py +++ b/Snek/player/Player.py @@ -22,4 +22,5 @@ class Player: return(moves[0]) def update(self, colour, action): + action = self.board.convert_coords_local(action) self.board.move(action) diff --git a/Snek/player/__pycache__/Player.cpython-36.pyc b/Snek/player/__pycache__/Player.cpython-36.pyc index 1c5f91be7a2d1e9018a546b768e4a7af0e07b61d..d74593c9d792478260edce43a4da4a63fde9ca77 100644 Binary files a/Snek/player/__pycache__/Player.cpython-36.pyc and b/Snek/player/__pycache__/Player.cpython-36.pyc differ diff --git a/Snek/util/Board.py b/Snek/util/Board.py index e73cbc9cfe851b296bec0e7a544ca8516de0cbde..425e13c834f537762fb644878ed0c1bf79c3682b 100644 --- a/Snek/util/Board.py +++ b/Snek/util/Board.py @@ -95,24 +95,44 @@ class Board: def convert_coords_local(self, action): if action[0] == 'EXIT': - return (action[0], (action[1][0], action[1][1])) + return (action[0], (action[1][0]+3, action[1][1]+3)) return (action[0], ((action[1][0][0]+3, action[1][0][1]+3), (action[1][1][0]+3, action[1][1][1]+3))) def convert_coords_ref(self, action): if action[0] == 'EXIT': - return (action[0], (action[1][0], action[1][1])) + return (action[0], (action[1][0]-3, action[1][1]-3)) return (action[0], ((action[1][0][0]-3, action[1][0][1]-3), (action[1][1][0]-3, action[1][1][1]-3))) def move(self, action): - if action[0] == 'MOVE' or action == 'JUMP': + if action[0] == 'MOVE': piece = self.tiles[action[1][0][1]][action[1][0][0]] self.tiles[action[1][0][1]][action[1][0][0]] = None self.tiles[action[1][1][1]][action[1][1][0]] = piece self.tiles[action[1][1][1]][action[1][1][0]].pos = action[1][1] - elif action[0] == 'EXIT': + elif action[0] == 'JUMP': piece = self.tiles[action[1][0][1]][action[1][0][0]] + direction = (action[1][1][0]-action[1][0][0], action[1][1][1]-action[1][0][1]) + direction = (int(direction[0]/2), int(direction[1]/2)) + print("MID: " + str((piece.pos[0] + direction[0]-3, piece.pos[1] + direction[1]-3))) + mid_tile = (piece.pos[0] + direction[0], piece.pos[1] + direction[1]) + taken_piece = self.tiles[mid_tile[1]][mid_tile[0]] + print(len(self.pieces[taken_piece.colour])) + for i in range(len(self.pieces[taken_piece.colour])): + if self.pieces[taken_piece.colour][i] is taken_piece: + self.pieces[taken_piece.colour].pop(i) + self.pieces[piece.colour].append(taken_piece) + taken_piece.colour = piece.colour + break self.tiles[action[1][0][1]][action[1][0][0]] = None + self.tiles[action[1][1][1]][action[1][1][0]] = piece + self.tiles[action[1][1][1]][action[1][1][0]].pos = action[1][1] + + + elif action[0] == 'EXIT': + piece = self.tiles[action[1][1]][action[1][0]] + self.tiles[action[1][1]][action[1][0]] = None + self.pieces[piece.colour].remove(piece) diff --git a/Snek/util/__pycache__/Board.cpython-36.pyc b/Snek/util/__pycache__/Board.cpython-36.pyc index 803df5803e155c9ffd9182a00dfdeb7b5bf7d4e1..0ad5a8382cc8ab13b09b209bc90970a7b5293e00 100644 Binary files a/Snek/util/__pycache__/Board.cpython-36.pyc and b/Snek/util/__pycache__/Board.cpython-36.pyc differ