projects
/
naja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A TextWidget
[naja.git]
/
naja
/
gameboard.py
diff --git
a/naja/gameboard.py
b/naja/gameboard.py
index a107b16315416a1deb6cce27e74e1abc9b9216bf..5cbecb9bdac04663cdbface35eba1dc6b1bfaaca 100644
(file)
--- a/
naja/gameboard.py
+++ b/
naja/gameboard.py
@@
-31,14
+31,21
@@
class GameBoard(object):
'wins': 0,
}
'wins': 0,
}
+ def update_state(self, state):
+ self.health = state['health']
+ self.wins = state['wins']
+
+ def lose_health(self):
+ self.health -= 1
+ # TODO: Check win/lose
+
class LocationCard(object):
"""
A particular set of options available on a location.
"""
class LocationCard(object):
"""
A particular set of options available on a location.
"""
- def __init__(self, bitwise_operation, bitwise_operand, actions):
- self.bitwise_operation = bitwise_operation
+ def __init__(self, bitwise_operand, actions):
self.bitwise_operand = bitwise_operand
self.actions = actions
self.bitwise_operand = bitwise_operand
self.actions = actions
@@
-66,27
+73,27
@@
class LocationCard(object):
def generate_location_actions():
raise NotImplementedError("TODO")
def generate_location_actions():
raise NotImplementedError("TODO")
- def apply_bitwise_operation(self, player):
- operator = {
- 'SET': player.bits.set_bits,
- 'CLEAR': player.bits.clear_bits,
- 'TOGGLE': player.bits.toggle_bits,
- }[self.bitwise_operation]
- operator(self.bitwise_operand)
-
class LocationAction(object):
"""
An action that may be performed on a location.
"""
class LocationAction(object):
"""
An action that may be performed on a location.
"""
+ TEXT = None
REQUIRED_BITS = frozenset()
def __init__(self, **data):
self.data = data
def check_available(self, player):
REQUIRED_BITS = frozenset()
def __init__(self, **data):
self.data = data
def check_available(self, player):
- return player.bits.check_bits(self.REQUIRED_BITS)
+ return player.bits.check_bits(
*
self.REQUIRED_BITS)
def perform_action(self, player, board):
raise NotImplementedError("TODO")
def perform_action(self, player, board):
raise NotImplementedError("TODO")
+
+ def check_and_clear_MSB(self, player):
+ if player.bits.check_bit(BITS.MSB):
+ player.bits.clear_bit(BITS.MSB)
+ return True
+ else:
+ return False