Refactoring
This commit is contained in:
@@ -235,42 +235,4 @@ def parse_start_board(image: np.ndarray, conf: Configuration) -> Board:
|
||||
result.flower_gone = parse_hua(image, conf)
|
||||
result.bunker = [None] * 3
|
||||
result.goal = parse_goal(image, conf)
|
||||
return result
|
||||
|
||||
|
||||
def field_card_to_str(card: Card):
|
||||
if card == SpecialCard.Hua:
|
||||
return "Hua"
|
||||
if isinstance(card, SpecialCard):
|
||||
return {"Special": card.name}
|
||||
elif isinstance(card, NumberCard):
|
||||
return {"Number": {"value": card.number, "suit": card.suit.name}}
|
||||
|
||||
|
||||
def bunker_card_to_str(card: Union[Tuple[SpecialCard, int], Optional[Card]]):
|
||||
if card is None:
|
||||
return "Empty"
|
||||
if isinstance(card, tuple):
|
||||
return {"Blocked": card[0].name}
|
||||
return {"Stashed": field_card_to_str(card)}
|
||||
|
||||
|
||||
def goal_card_to_str(card: Optional[NumberCard]):
|
||||
if card is None:
|
||||
return None
|
||||
return {"value": card.number, "suit": card.suit.name}
|
||||
|
||||
|
||||
def parse_to_json(image: np.ndarray, conf: Configuration) -> str:
|
||||
field = parse_field(image, conf)
|
||||
flower_gone = parse_hua(image, conf)
|
||||
bunker = parse_bunker(image, conf)
|
||||
goal = parse_goal(image, conf)
|
||||
|
||||
mystruct = {
|
||||
"field": [[field_card_to_str(card) for card in row] for row in field],
|
||||
"hua_set": flower_gone,
|
||||
"bunker": [bunker_card_to_str(card) for card in bunker],
|
||||
"goal": [goal_card_to_str(card) for card in goal],
|
||||
}
|
||||
return json.dumps(mystruct)
|
||||
return result
|
||||
Reference in New Issue
Block a user