Skip to content

Commit 7e0299d

Browse files
committed
[修改] action_message調整成玩家名稱而不是ID
1 parent b4b7a7d commit 7e0299d

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

backend/domain/player.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def from_dict(cls, data: Union[str, dict]) -> "Player":
7272
player_id = data
7373
data = {"player_id": player_id}
7474
player_id = data.get("player_id")
75-
name = data.get("name")
75+
name = data.get("name", "")
7676
joined = data.get("joined", False)
7777
score = data.get("score", 0)
7878
HP = data.get("HP", 6)

backend/service/game_service.py

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def player_join_game(self, game_id: str, player_id: str) -> dict:
6161

6262
# 成功加入遊戲
6363
player.joined = True
64-
game.action_message = player.player_id + " 加入遊戲"
64+
game.action_message = player.name + " 加入遊戲"
6565
game.event_name = "game_joined"
6666
self.game_repository.update_game(game)
6767

@@ -121,7 +121,7 @@ def cast_spell(
121121
player.prev_spell = spell_name
122122
if spell_name not in player.spells:
123123
# 施法失敗
124-
game.action_message = f"{player.player_id} 施法 {spell_name} 失敗"
124+
game.action_message = f"{player.name} 施法 {spell_name} 失敗"
125125
game.event_name = "spelled_fail"
126126
game.spell_cast_number = spell.get_value()
127127
game.damage_info = [0] * 5
@@ -136,14 +136,14 @@ def cast_spell(
136136
game.event_name = "damage_HP"
137137
game.dice_result = 0
138138
player.update_HP(hp_damge)
139-
game.action_message = f"{player.player_id}{abs(hp_damge)} 滴血"
139+
game.action_message = f"{player.name}{abs(hp_damge)} 滴血"
140140
game.damage_info[game.current_player] = hp_damge
141141
self.game_repository.update_game(game)
142142

143143
if player.get_HP() == 0:
144144
# 當玩家把自己血量歸0
145145
# 結束這一局,結算分數
146-
game.action_message = player.player_id + "自殺了!!"
146+
game.action_message = player.name + "自殺了!!"
147147
game.event_name = "murdered_self"
148148
game.dice_result = 0
149149
game.spell_cast_number = 0
@@ -164,12 +164,12 @@ def cast_spell(
164164
if len(player.spells) == 0:
165165
# 儲存目前遊戲狀態
166166
game.event_name = "spell_success"
167-
game.action_message = f"{player.player_id} 施法 {spell_name} 成功"
167+
game.action_message = f"{player.name} 施法 {spell_name} 成功"
168168
game.spell_cast_number = spell.get_value()
169169
game.dice_result = 0
170170
self.game_repository.update_game(game)
171171

172-
game.action_message = player.player_id + " 手牌魔法石出完,局結束"
172+
game.action_message = player.name + " 手牌魔法石出完,局結束"
173173
game.event_name = "end_round_stone"
174174
game.spell_cast_number = 0
175175
game.dice_result = 0
@@ -189,7 +189,7 @@ def cast_spell(
189189
# 將手牌放置於階梯
190190
game.ladder.append(spell_name)
191191
# 儲存目前遊戲狀態
192-
game.action_message = player.player_id + " 施法 " + spell_name + " 成功 "
192+
game.action_message = player.name + " 施法 " + spell_name + " 成功 "
193193
game.event_name = "spell_success"
194194
game.spell_cast_number = spell.get_value()
195195
game.dice_result = 0
@@ -199,58 +199,58 @@ def cast_spell(
199199
game.dice_result = spell_status
200200
game.event_name = "dice_rolled"
201201
game.action_message = (
202-
f"除了 {player.player_id} ,其餘玩家扣除 {game.dice_result} 血量"
202+
f"除了 {player.name} ,其餘玩家扣除 {game.dice_result} 血量"
203203
)
204204
game.damage_info = [-game.dice_result] * 5
205205
game.damage_info[game.current_player] = 0
206206
self.game_repository.update_game(game)
207207
elif spell.get_value() == 3:
208208
game.dice_result = spell_status
209209
game.event_name = "dice_rolled"
210-
game.action_message = f"{player.player_id} 回復 {game.dice_result} 血量"
210+
game.action_message = f"{player.name} 回復 {game.dice_result} 血量"
211211
game.damage_info[game.current_player] = game.dice_result
212212
self.game_repository.update_game(game)
213213
elif spell.get_value() == 2:
214214
game.event_name = "damage_HP"
215-
game.action_message = f"{player.player_id} 回復 1 血量 ,其餘玩家扣除 1 血量"
215+
game.action_message = f"{player.name} 回復 1 血量 ,其餘玩家扣除 1 血量"
216216
game.damage_info = [-1] * 5
217217
game.damage_info[game.current_player] = 1
218218
self.game_repository.update_game(game)
219219
elif spell.get_value() == 5:
220220
game.event_name = "damage_HP"
221-
game.action_message = f"{game.get_left_player(player).player_id} 扣除 1 血量 , {game.get_right_player(player).player_id} 扣除 1 血量"
221+
game.action_message = f"{game.get_left_player(player).name} 扣除 1 血量 , {game.get_right_player(player).name} 扣除 1 血量"
222222
game.damage_info[game.players.index(game.get_left_player(player))] = -1
223223
game.damage_info[game.players.index(game.get_right_player(player))] = -1
224224
self.game_repository.update_game(game)
225225
elif spell.get_value() == 6:
226226
game.event_name = "damage_HP"
227227
game.action_message = (
228-
f"{game.get_left_player(player).player_id} 扣除 1 血量"
228+
f"{game.get_left_player(player).name} 扣除 1 血量"
229229
)
230230
game.damage_info[game.players.index(game.get_left_player(player))] = -1
231231
self.game_repository.update_game(game)
232232
elif spell.get_value() == 7:
233233
game.event_name = "damage_HP"
234234
game.action_message = (
235-
f"{game.get_right_player(player).player_id} 扣除 1 血量"
235+
f"{game.get_right_player(player).name} 扣除 1 血量"
236236
)
237237
game.damage_info[game.players.index(game.get_right_player(player))] = -1
238238
self.game_repository.update_game(game)
239239
elif spell.get_value() == 8:
240240
game.event_name = "cure_HP"
241-
game.action_message = f"{player.player_id} 回復 1 血量"
241+
game.action_message = f"{player.name} 回復 1 血量"
242242
game.damage_info[game.current_player] = 1
243243
self.game_repository.update_game(game)
244244
elif spell.get_value() == 4:
245245
game.event_name = "spell_owl"
246-
game.action_message = f"{player.player_id} 得到一張秘密魔法石"
246+
game.action_message = f"{player.name} 得到一張秘密魔法石"
247247
self.game_repository.update_game(game)
248248

249249
for p in game.players:
250250
if p.get_HP() == 0:
251251
# 有玩家的血量歸0
252252
# 結束這一局,結算分數
253-
game.action_message = p.player_id + "已死亡,該局結束"
253+
game.action_message = p.name + "已死亡,該局結束"
254254
game.dice_result = 0
255255
game.event_name = "end_round_die"
256256
game.spell_cast_number = 0
@@ -265,7 +265,8 @@ def spell_stop(self, game_id: str, player_id: str) -> bool:
265265
result = self.end_turn(game_id, player_id)
266266
if result:
267267
game = self.game_repository.get_game_by_id(game_id)
268-
game.action_message = player_id + "不再施法"
268+
player = game.find_player_by_id(player_id)
269+
game.action_message = player.name + "不再施法"
269270
game.event_name = "spell_stop"
270271
self.game_repository.update_game(game)
271272

@@ -309,7 +310,7 @@ def end_turn(self, game_id: str, player_id: str) -> bool:
309310
if game.warehouse:
310311
be_hand_stone = game.warehouse.pop()
311312
player.spells.append(be_hand_stone)
312-
game.action_message = player.player_id + " 回合結束"
313+
game.action_message = player.name + " 回合結束"
313314
game.event_name = "turn_end"
314315
game.dice_result = 0
315316
game.spell_cast_number = 0

0 commit comments

Comments
 (0)