Worked a little more on decoupling
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user