inventario = {'Funi': 1, 'Pozioni': 2, 'Monete': 10, 'Arco': 1, 'Frecce': 3, 'Spada': 1, 'Smeraldi':0, 'Spada epica':0}
def display_inventory(inventario):
total_items = 0
print ("Inventario attuale: ")
for oggetto in inventario:
print(str(inventario[oggetto]) + ' ' + oggetto)
total_items += inventario[oggetto]
print("Numero totale di oggetti: " + str(total_items))
if __name__ == '__main__':
display_inventory(inventario)
volte = int(input("Quante volte vuoi combattere? "))
cont = 0
vita = volte * 10
giocoON = True
monete = 10
poz = 2
funi = 1
spada2 = 0
smeraldi = 0
while giocoON == True:
import random
rnd = random.randint(1, 5)
mostro = 10 + rnd
frecce = 3
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
print("•••• E' apparso un mostro di livello " + str(rnd) + "! ••••")
while mostro > 0 and vita > 0 and giocoON == True:
if cont >= volte:
print(" ✓ Hai finito! ✓ ")
giocoON = False
break
scelta = input (""" Cosa vuoi fare?
1. Attacca con spada (-5 vita)
2. Attacca con arco e frecce (-7 vita / -1 freccia)
3. Acquista nel negozio (Monete o smeraldi per oggetti)
4. Utilizza pozione (-2 danno / + 5 vita)
5. Utilizza fune (Salta battaglia attuale)
6. Utilizza spada epica (-10 vita)
""")
if scelta == "1":
print("•••• Hai attaccato il mostro con la spada, infliggendogli 5 di danno! ••••")
mostro = mostro - 5
dmg = random.randint(1, 5)
vita = vita - dmg
print("•••• Il mostro ti ha attaccato a sua volta togliendoti " + str(dmg) + "! ••••")
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
print("•••• Il mostro ha " + str(mostro) + " punti vita! ••••")
if scelta == "2":
if frecce > 0:
print("•••• Hai attaccato il mostro con l'arco, infliggendogli 7 di danno! ••••")
mostro = mostro - 7
dmg = random.randint(1, 5)
vita = vita - dmg
print("•••• Il mostro ti ha attaccato a sua volta togliendoti " + str(dmg) + "! ••••")
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
print("•••• Il mostro ha " + str(mostro) + " punti vita! ••••")
frecce = frecce - 1
print("•••• Ora hai " + str(frecce) + " frecce! ••••")
else:
print("✗ Non hai frecce! ✗")
print("•••• Il mostro non ha pietà e ti attacca comunque! ••••")
dmg = random.randint(1, 5)
vita = vita - dmg
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
if scelta == "3":
negozio = input (""" Cosa vuoi fare?
1. Acquista 5 frecce (-10 monete) [7 di danno ai mostri]
2. Acquista 3 pozioni (-10 monete) [+ 5 vita e - 2 di danno]
3. Acquista fune (-20 monete) [Salti una battaglia]
4. Acquista spada epica (-3 smeraldi) [-10 vita]
""")
if negozio == "1":
if monete >= 10:
print(" ✓ Acquisto effettuato! ✓ ")
frecce = frecce + 10
print("•••• Ora hai " + str(frecce) + " frecce! ••••")
else:
print(" ✗ Non hai abbastanza monete! Puoi guadagnarle uccidendo mostri! ✗")
if negozio == "2":
if monete >= 10:
print(" ✓ Acquisto effettuato! ✓ ")
poz = poz + 3
print("•••• Ora hai " + str(poz) + " pozioni! ••••")
else:
print(" ✗ Non hai abbastanza monete! Puoi guadagnarle uccidendo mostri! ✗")
if negozio == "3":
if monete >= 20:
print(" ✓ Acquisto effettuato! ✓ ")
funi = funi + 1
print("•••• Ora hai " + str(funi) + " funi! ••••")
else:
print(" ✗ Non hai abbastanza monete! Puoi guadagnarle uccidendo mostri! ✗")
if negozio == "4":
if smeraldi >= 3 and spada2 == 0:
print(" ✓ Acquisto effettuato! ✓ ")
spada2 = spada2 + 1
print("•••• Ora hai la spada epica! ••••")
else:
if spada2 != 0:
print(" ✗ Hai gia' la spada epica ✗ ")
else:
print(" ✗ Non hai abbastanza smeraldi! Puoi guadagnarli uccidendo mostri! ✗ ")
if scelta != "1" and "2" and "3" and "4":
print(" Numero inesistente nella lista, riprova ↺ ")
if scelta == "4":
if poz >= 1:
print("•••• Hai utilizzato una pozione! ••••")
vita = vita + 5
dmg = random.randint(1, 5)
vita = vita - dmg - 2
print("•••• Il mostro ti ha attaccato, ma facendoti meno male, togliendoti " + str(dmg) + "! ••••")
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
poz = poz - 1
print("•••• Ora hai " + str(poz) + " pozioni! ••••")
else:
print(" ✗ Non hai pozioni! ✗")
if scelta == "5":
if funi >= 1:
print("•••• Hai utilizzato una fune! ••••")
funi = funi - 1
print("•••• Ora hai " + str(funi) + " funi! ••••")
cont = cont + 1
else:
print("✗ Non hai frecce! ✗")
print("•••• Il mostro non ha pietà e ti attacca comunque! ••••")
dmg = random.randint(1, 5)
vita = vita - dmg
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
if scelta == "6":
if spada2 == 1:
print("•••• Hai attaccato il mostro con la spada epica, infliggendogli 10 di danno! ••••")
mostro = mostro - 10
dmg = random.randint(1, 5)
vita = vita - dmg
print("•••• Il mostro ti ha attaccato a sua volta togliendoti " + str(dmg) + "! ••••")
print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
print("•••• Il mostro ha " + str(mostro) + " punti vita! ••••")
else:
print(" ✗ Non hai la spada epica, acquistala nel negozio! ✗ ")
if scelta != "1" and "2" and "3" and "4" and "5" and "6":
print(" Numero inesistente nella lista, riprova ↺ ")
if vita <= 0:
print("✗✗✗✗ Hai perso! ✗✗✗✗")
giocoON = False
break
else:
if mostro <= 0:
premio = random.randint(1, 20)
print("★★★★ Hai sconfitto il mostro ★★★★")
print("$$$$ Congratulazioni! Hai vinto " + str(premio) + " monete! $$$$")
monete = monete + premio
print("•••• Ora hai " + str(monete) + " monete! ••••")
fortuna = random.randint(1, 3)
if fortuna == 2:
fr = random.randint(1, 3)
print("☘ Che fortuna! Il mostro ha lasciato cadere " + str(fr) + " frecce e tu le hai raccolte! ☘")
frecce = frecce + fr
print("•••• Ora hai " + str(frecce) + " frecce! ••••")
mostro = 10 + rnd
cont = cont + 1
bonus = ['Smeraldi ★']
inventory = {
'Funi': funi,
'Pozioni': poz,
'Monete': monete,
'Arco': 1,
'Frecce': frecce,
'Spada':1,
'Smeraldi ★':0,
'Spada epica ★': spada2
}
print
def add_to_inventory(inv, added_items):
added_itemsQ = {}
total_items = 0
for item in added_items:
added_itemsQ[item] = smeraldi + 1
for i in added_itemsQ:
if not i in inv:
inv[i] = added_itemsQ[i]
else:
inv[i] = inv[i] + added_itemsQ[i]
for i in inv:
print(str(inv[i]) + " " + str(i))
total_items += inv[i]
print ("Oggetti totali: " + (str(total_items)))
add_to_inventory(inventory, bonus)
if cont < volte:
print("➔➔➔➔ PROSSIMO AVVERSARIO ➔➔➔➔")
Ok so this is my code, i'll try to sum it up in the best way I can, as you can see it's in Italian, but i will translate it in english, this code is a game, specifically a turn-based game where you fight monsters and then when you win you get an emerald that permits you to buy a new sword, that was the full code, this down there
` bonus = ['Smeraldi ★']
inventory = {
'Funi': funi,
'Pozioni': poz,
'Monete': monete,
'Arco': 1,
'Frecce': frecce,
'Spada':1,
'Smeraldi ★':0,
'Spada epica ★': spada2
}
print
def add_to_inventory(inv, added_items):
added_itemsQ = {}
total_items = 0
for item in added_items:
added_itemsQ[item] = smeraldi + 1
for i in added_itemsQ:
if not i in inv:
inv[i] = added_itemsQ[i]
else:
inv[i] = inv[i] + added_itemsQ[i]
for i in inv:
print(str(inv[i]) + " " + str(i))
total_items += inv[i]
print ("Oggetti totali: " + (str(total_items)))
add_to_inventory(inventory, bonus)
` is a part of the code that is supposed to give me an inventory item (Smeraldi), the problem is that it doesn't work as intended, the result is always 'Smeraldi : 1' it does not add the extra one, resulting in the user unable to buy the new sword at all. The other problem is that randomly sometimes this line
if scelta != "1" and "2" and "3" and "4" and "5" and "6":
print(" Numero inesistente nella lista, riprova ↺ ")
pops up, it's supposed to show when you put a wrong number in the menu selection, but it pops sometimes even when the number is right, it does not ruin the program as it just pops up, and if you put a wrong number it actually works as intended, but it's not supposed to appear even when numbers are right. or maybe is the shop secondary menu the problem?
if scelta != "1" and "2" and "3" and "4":
print(" Numero inesistente nella lista, riprova ↺ ")
any help is appreciated, and yes, if you're wondering, this is a school project, i was working on this for the last 6 hours but i don't know how to fix those errors. Thanks!
Aucun commentaire:
Enregistrer un commentaire