Worked a little more on decoupling

This commit is contained in:
Lukas Wölfer
2020-03-24 14:45:48 +01:00
parent cd1bc39bad
commit 28546cf5e9
5 changed files with 39 additions and 30 deletions

View File

@@ -80,10 +80,10 @@ class Board:
if card is not None and card.suit == suit:
return index
else:
return self.goal.index(None)
return self._goal.index(None)
def setGoal(self, suit: NumberCard.Suit, value: int) -> None:
assert len(self.goal) == 3
assert len(self._goal) == 3
assert 0 <= value
assert value <= 9
if value == 0:
@@ -96,15 +96,21 @@ class Board:
def solved(self) -> bool:
"""Returns true if the board is solved"""
if any(x.number != 9 for x in self.goal if x is not None):
if any(x.number != 9 for x in self._goal if x is not None):
return False
if any(not isinstance(x, tuple) for x in self.bunker):
if any(not isinstance(x, tuple) for x in self._bunker):
return False
if not self._flower_gone:
return False
assert all(not x for x in self._field)
return True
def getField(self) -> List[List[Card]]:
return self._field
def getBunker(self) -> List[Union[Tuple[SpecialCard, int], Optional[Card]]]:
return self._bunker
@property
def state_identifier(self) -> int:
"""Returns a unique identifier to represent the board state"""
@@ -128,7 +134,7 @@ class Board:
assert len(self._goal) == 3
suit_sequence = list(NumberCard.Suit)
for card in self.goal:
for card in self._goal:
result <<= 5
if card is None:
result |= len(suit_sequence) * 10