X-Git-Url: https://git.ctpug.org.za/?p=naja.git;a=blobdiff_plain;f=naja%2Fgameboard.py;fp=naja%2Fgameboard.py;h=894f2b31f052b1464a6cdb1876187a5aefc8d55c;hp=66c651936099520c0d163786881b7422974fac94;hb=a4cb14512c07e5677c295d56b475a9562936a5e6;hpb=1dd7a53e5f3442d78e1db6d8142445f8185c817b diff --git a/naja/gameboard.py b/naja/gameboard.py index 66c6519..894f2b3 100644 --- a/naja/gameboard.py +++ b/naja/gameboard.py @@ -206,30 +206,34 @@ class GameBoard(object): del choices[key] return choice(choices.values()) - def shift_location_row(self, change, is_vertical): + def shift_location_row(self, change, is_vertical, skip_player=True): px, py = self.player.position shifted_locations = {} mkpos = lambda i: (px, i) if is_vertical else (i, py) for i in range(5): - if (px, py) == mkpos(i): + if skip_player and (px, py) == mkpos(i): continue new_i = (i + change) % 5 - if (px, py) == mkpos(new_i): + if skip_player and (px, py) == mkpos(new_i): new_i = (new_i + change) % 5 shifted_locations[mkpos(new_i)] = self.board_locations[mkpos(i)] self.board_locations.update(shifted_locations) - def shift_locations(self, direction): + def shift_locations(self, direction, skip_player=True): if BITS[direction] == BITS.NORTH: - self.shift_location_row(-1, is_vertical=True) + self.shift_location_row(-1, is_vertical=True, + skip_player=skip_player) elif BITS[direction] == BITS.SOUTH: - self.shift_location_row(1, is_vertical=True) + self.shift_location_row(1, is_vertical=True, + skip_player=skip_player) elif BITS[direction] == BITS.EAST: - self.shift_location_row(1, is_vertical=False) + self.shift_location_row(1, is_vertical=False, + skip_player=skip_player) elif BITS[direction] == BITS.WEST: - self.shift_location_row(-1, is_vertical=False) + self.shift_location_row(-1, is_vertical=False, + skip_player=skip_player) def rotate_locations(self, direction): px, py = self.player.position