11from __future__ import annotations
22import random
3+ from inventario import Inventario # se estiver em outro arquivo
4+
5+
6+
37
48class Aventureiro :
59 def __init__ (self , nome , vida , ataque , defesa , mana = 0 ):
@@ -10,9 +14,13 @@ def __init__(self, nome, vida, ataque, defesa, mana=0):
1014 self .defesa = defesa
1115 self .mana = mana
1216 self .mana_max = mana
13- self .inventario = []
17+ self .inventario = Inventario ()
1418 self .nivel = 1
1519 self .xp = 0
20+
21+
22+ self .inventario = Inventario ()
23+
1624
1725 def get_ataque (self ):
1826 return self .ataque
@@ -24,14 +32,14 @@ def set_mana(self, mana):
2432 self .mana = min (mana , self .mana_max )
2533
2634 def get_inventario (self ):
27- return self .inventario
35+ return self .inventario . listar_itens ()
2836
2937 def adicionar_item (self , item ):
30- self .inventario .append (item )
38+ self .inventario .adicionar_item (item )
3139
3240 def remover_item (self , item ):
33- if item in self .inventario :
34- self . inventario . remove ( item )
41+ self .inventario . remover_item ( item )
42+
3543
3644 def receber_dano (self , dano ):
3745 dano_final = max (0 , dano - self .defesa )
@@ -66,6 +74,22 @@ def subir_nivel(self):
6674
6775 self .vida = self .vida_max
6876 self .mana = self .mana_max
77+
78+
79+ def dropar_itens (self , Aventureiro ):
80+ Itens_dropados = []
81+
82+ for entrada in self .tabela_drop :
83+ item = entrada ["item" ]
84+ chance = entrada ["chance" ]
85+
86+ rolagem = random .randint (1 , 100 )
87+ if rolagem <= chance :
88+ heroi .adicionar_item (item )
89+ itens_dropados .append (item )
90+
91+ return itens_dropados
92+
6993
7094
7195 def usar_item (self , nome_item : str ):
0 commit comments