projects
/
naja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move the player.
[naja.git]
/
naja
/
gameboard.py
diff --git
a/naja/gameboard.py
b/naja/gameboard.py
index 5728d5d0f28535abfeadcbb5ab3f98c3a24b74b7..de0bc1e3f31c5b4b196d41a9345747a065900595 100644
(file)
--- a/
naja/gameboard.py
+++ b/
naja/gameboard.py
@@
-16,7
+16,7
@@
class GameBoard(object):
self.wins_required = state['wins_required']
self.health = state['health']
self.wins = state['wins']
self.wins_required = state['wins_required']
self.health = state['health']
self.wins = state['wins']
- self.locations =
self.import_locations(state['locations'])
+ self.locations =
[item.copy() for item in state['locations']]
self.player = player
self.board_locations = board_locations
self.player = player
self.board_locations = board_locations
@@
-34,7
+34,8
@@
class GameBoard(object):
'locations': locations_definition,
}
player = Player(initial_bits, initial_pos)
'locations': locations_definition,
}
player = Player(initial_bits, initial_pos)
- board_locations = cls.generate_board(locations_definition)
+ board_locations = cls.import_board_locations(
+ cls.generate_board(locations_definition))
return cls(state, player, board_locations)
@classmethod
return cls(state, player, board_locations)
@classmethod
@@
-51,14
+52,11
@@
class GameBoard(object):
'health': self.health,
'wins_required': self.wins_required,
'wins': self.wins,
'health': self.health,
'wins_required': self.wins_required,
'wins': self.wins,
- 'locations':
self.export_locations()
,
+ 'locations':
[item.copy() for item in self.locations]
,
'player': self.player.export(),
'board_locations': self.export_board_locations(),
}
'player': self.player.export(),
'board_locations': self.export_board_locations(),
}
- def export_locations(self):
- return [location.export() for location in self.locations]
-
@classmethod
def import_locations(cls, locations_definition):
return [
@classmethod
def import_locations(cls, locations_definition):
return [
@@
-68,7
+66,7
@@
class GameBoard(object):
def export_board_locations(self):
return dict(
(position, location.export())
def export_board_locations(self):
return dict(
(position, location.export())
- for position, location in self.board_locations)
+ for position, location in self.board_locations
.iteritems()
)
@classmethod
def import_board_locations(cls, board_locations_definition):
@classmethod
def import_board_locations(cls, board_locations_definition):
@@
-78,8
+76,13
@@
class GameBoard(object):
@classmethod
def generate_board(cls, locations_definition):
@classmethod
def generate_board(cls, locations_definition):
- # TODO: Choose some locations.
- return {}
+ board_locations = {}
+ for x in range(5):
+ for y in range(5):
+ board_location = LocationCard.new_location(
+ choice(locations_definition).copy())
+ board_locations[(x, y)] = board_location.export()
+ return board_locations
def lose_health(self):
self.health -= 1
def lose_health(self):
self.health -= 1
@@
-97,7
+100,6
@@
class LocationCard(object):
@classmethod
def import_location(cls, state):
@classmethod
def import_location(cls, state):
- # TODO: Import real locations.
location_actions = [
cls.build_action(definition) for definition in state['actions']]
return cls(state['bitwise_operand'], location_actions)
location_actions = [
cls.build_action(definition) for definition in state['actions']]
return cls(state['bitwise_operand'], location_actions)