44from interacoes import exibir_dialogo , exibir_dialogo_mercador , exibir_dialogo_contratante
55import sys
66import select
7+ import time
78
89class TerminalInterface :
910 def __init__ (self , db_controller : DatabaseController ):
@@ -158,7 +159,7 @@ def show_missions (self):
158159 missoes = self .db_controller .show_missoes ()
159160 print ("------Missões a serem realizadas------" )
160161 for missao in missoes :
161- print (missao )
162+ print (missao [ 0 ] )
162163 print ("-------------------------------------" )
163164
164165 def explore_current_room (self ):
@@ -167,7 +168,7 @@ def explore_current_room(self):
167168 inimigos = self .db_controller .enemy (sala_atual )
168169 mercador = self .get_npc_in_room (sala_atual , "Mercador" )
169170 contratante = self .get_npc_in_room (sala_atual , "Contratante" )
170- missoes = self . get_missions_in_room ( sala_atual )
171+
171172
172173 print ("\n Explorando a sala atual..." )
173174 if inimigos :
@@ -228,6 +229,13 @@ def get_npc_in_room(self, sala_id, npc_type):
228229
229230
230231
232+ def draw_battle_interface (self , player_hp , enemy_hp , enemy_name ):
233+ print ("=" * 40 )
234+ print (f"{ enemy_name } (HP: { enemy_hp } )" )
235+ print (" " * 20 + "VS" )
236+ print (f"Jogador (HP: { player_hp } )" )
237+ print ("=" * 40 )
238+
231239 def handle_combat (self , inimigos ):
232240 for inimigo in inimigos :
233241 print (f"Você encontrou um inimigo: { inimigo ['id_inimigo' ]} " )
@@ -246,15 +254,15 @@ def handle_combat(self, inimigos):
246254 def fight_enemy (self , inimigo ):
247255 print ("Iniciando combate..." )
248256 self .db_controller .connect ()
249- player = self .db_controller .get_status (self .current_player_id )[0 ] # Exemplo de HP do jogador
257+ player = self .db_controller .get_status (self .current_player_id )[0 ]
250258 player_hp = player [3 ]
251259 player_sala = player [5 ]
252260 enemy = self .db_controller .get_enemy_sala (self .db_controller .get_sala_by_name (player_sala ))
253261 enemy_hp = enemy [3 ]
254-
255- # enemy_hp = inimigo["vida_atual"]
256-
262+ enemy_name = inimigo ['id_inimigo' ]
263+
257264 while player_hp > 0 and enemy_hp > 0 :
265+ self .draw_battle_interface (player_hp , enemy_hp , enemy_name )
258266 print ("\n Escolha sua ação:" )
259267 print ("1. Atacar" )
260268 print ("2. Usar item" )
@@ -264,13 +272,11 @@ def fight_enemy(self, inimigo):
264272
265273 if choice == "1" :
266274 dano = 10 # Exemplo de dano do jogador
267-
268275 enemy_hp -= dano
269276 self .db_controller .att_status_instacia (enemy [0 ], enemy_hp )
270277 print (f"Você atacou e causou { dano } de dano. Vida do inimigo: { enemy_hp } " )
271278 if enemy_hp <= 0 :
272279 print ("Você derrotou o inimigo!" )
273- # Atualizar XP e recompensas
274280 break
275281 dano_inimigo = inimigo ["atk" ]
276282 player_hp -= dano_inimigo
0 commit comments