Skip to content

Commit

Permalink
[修改]Formatter
Browse files Browse the repository at this point in the history
  • Loading branch information
teds-lin committed Jan 22, 2025
1 parent bc6773c commit 82c2a2c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 18 deletions.
14 changes: 7 additions & 7 deletions backend/domain/game.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ def __init__(self, game_id: str, players: List[dict], active: bool = True):
self.action_message: str = ""
self.dice_result: int = 0
self.event_name: str = ""
self.spell_cast_number: int = 0
self.damage_info : Optional[int] = None
self.spell_cast_number: int = 0
self.damage_info: Optional[int] = None

def load_spells(self) -> Dict[str, Spell]:
"""載入遊戲中可能存在的魔法石"""
Expand Down Expand Up @@ -127,10 +127,10 @@ def to_dict(self) -> dict:
"players": [player.to_dict() for player in self.players],
"active": self.active,
"action_message": self.action_message,
"dice_result":self.dice_result,
"event_name":self.event_name,
"spell_cast_number":self.spell_cast_number,
"damage_info":self.damage_info,
"dice_result": self.dice_result,
"event_name": self.event_name,
"spell_cast_number": self.spell_cast_number,
"damage_info": self.damage_info,
}

if self.current_player is not None:
Expand Down Expand Up @@ -178,7 +178,7 @@ def from_dict(cls, data: dict) -> "Game":
game.turn = data["turn"]
if "dice_result" in data:
game.dice_result = data["dice_result"]

if "event_name" in data:
game.event_name = data["event_name"]

Expand Down
26 changes: 15 additions & 11 deletions backend/service/game_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ def cast_spell(
game.spell_cast_number = spell.get_value()
game.dice_result = 0
self.game_repository.update_game(game)

game.action_message = player.player_id + " 手牌魔法石出完,局結束"
game.event_name = "end_round_stone"
game.spell_cast_number = 0
Expand All @@ -160,11 +160,13 @@ def cast_spell(
game.spell_cast_number = spell.get_value()
game.dice_result = 0
self.game_repository.update_game(game)

if spell.get_value() == 1:
game.dice_result = spell_status
game.event_name = "dice_rolled"
game.action_message = f"除了 {player.player_id} ,其餘玩家扣除 {game.dice_result} 血量"
game.action_message = (
f"除了 {player.player_id} ,其餘玩家扣除 {game.dice_result} 血量"
)
game.damage_info = [-game.dice_result] * 5
game.damage_info[game.current_player] = 0
self.game_repository.update_game(game)
Expand All @@ -178,7 +180,7 @@ def cast_spell(
game.event_name = "damage_HP"
game.action_message = f"{player.player_id} 回復 1 血量 ,其餘玩家扣除 1 血量"
game.damage_info = [-1] * 5
game.damage_info[game.current_player] = 1
game.damage_info[game.current_player] = 1
self.game_repository.update_game(game)
elif spell.get_value() == 5:
game.event_name = "damage_HP"
Expand All @@ -188,12 +190,16 @@ def cast_spell(
self.game_repository.update_game(game)
elif spell.get_value() == 6:
game.event_name = "damage_HP"
game.action_message = f"{game.get_left_player(player).player_id} 扣除 1 血量"
game.action_message = (
f"{game.get_left_player(player).player_id} 扣除 1 血量"
)
game.damage_info[game.players.index(game.get_left_player(player))] = -1
self.game_repository.update_game(game)
elif spell.get_value() == 7:
game.event_name = "damage_HP"
game.action_message = f"{game.get_right_player(player).player_id} 扣除 1 血量"
game.action_message = (
f"{game.get_right_player(player).player_id} 扣除 1 血量"
)
game.damage_info[game.players.index(game.get_right_player(player))] = -1
self.game_repository.update_game(game)
elif spell.get_value() == 8:
Expand All @@ -205,7 +211,6 @@ def cast_spell(
game.event_name = "spell_owl"
game.action_message = f"{player.player_id} 得到一張秘密魔法石"
self.game_repository.update_game(game)


for p in game.players:
if p.get_HP() == 0:
Expand All @@ -220,7 +225,7 @@ def cast_spell(
self.end_round(game_id, game.players[game.current_player].player_id)

return True, 200

def spell_stop(self, game_id: str, player_id: str) -> bool:
"""玩家停止施法"""
result = self.end_turn(game_id, player_id)
Expand Down Expand Up @@ -303,14 +308,14 @@ def end_round(self, game_id: str, player_id: str) -> None:
if len(p.secret_spells) > 0:
# 持有秘密魔法石,有幾個加幾分
p.update_score(len(p.secret_spells))

game.action_message = "結算分數中..."
game.event_name = "counting_score"
self.game_repository.update_game(game)
self.start_new_round(game_id)

game = self.game_repository.get_game_by_id(game_id)
if game.active:
if game.active:
game.action_message = "新局開始"
game.event_name = "round_started"
self.game_repository.update_game(game)
Expand All @@ -325,7 +330,6 @@ def start_new_round(self, game_id: str) -> None:

game.shuffle_player()


for player in game.players:
if player.score >= 8:
# 已有玩家獲得8分
Expand Down

0 comments on commit 82c2a2c

Please sign in to comment.