X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fgameboard.py;h=7d8916ed9d328e0401bc6fff5dd2ed8ed7ad2270;hb=023db05135e4a7b6d3bd4726de475dcdbf386372;hp=8a1daa7673b28d34dc1c264f5c5d0c3b3b3d5325;hpb=db97008646152ce2d93949e0266635fdd89a0b91;p=naja.git diff --git a/naja/gameboard.py b/naja/gameboard.py index 8a1daa7..7d8916e 100644 --- a/naja/gameboard.py +++ b/naja/gameboard.py @@ -6,6 +6,7 @@ from naja.constants import( from naja.options import options from naja.player import Player from naja import actions +from naja.sound import sound class GameBoard(object): @@ -23,6 +24,7 @@ class GameBoard(object): self.player = player self.board_locations = board_locations self.player_mode = state.get('player_mode', EXAMINE) + self.has_cheated = state.get('cheater', options.cheat_enabled) @classmethod def new_game(cls, deck, @@ -54,7 +56,7 @@ class GameBoard(object): return cls(state, player, board_locations) def export(self): - return { + data = { 'max_health': self.max_health, 'health': self.health, 'wins_required': self.wins_required, @@ -65,6 +67,9 @@ class GameBoard(object): 'board_locations': self.export_board_locations(), 'player_mode': self.player_mode, } + if self.has_cheated: + data['cheater'] = True + return data @classmethod def import_locations(cls, locations_definition): @@ -179,11 +184,10 @@ class GameBoard(object): if ROTATION[direction] == ROTATION.CLOCKWISE: new_positions = locations_to_rotate[1:] + [locations_to_rotate[0]] elif ROTATION[direction] == ROTATION.ANTICLOCKWISE: - new_positions = ( - [locations_to_rotate[-1]] + locations_to_rotate[:-1]) + new_positions = ([locations_to_rotate[-1]] + locations_to_rotate[:-1]) for old, new in zip(locations_to_rotate, new_positions): - rotated_locations[old] = self.board_locations[new] + rotated_locations[new] = self.board_locations[old] self.board_locations.update(rotated_locations) @@ -205,6 +209,7 @@ class GameBoard(object): from naja.events import SceneChangeEvent from naja.scenes.lose import LoseScene from naja.scenes.win import WinScene + sound.stop() if win: SceneChangeEvent.post(WinScene) else: