Da zero a eroe: una storia in coding

Da zero a eroe: una storia in coding

… by Sage |

Mi piacerebbe raccontarti una storia attraverso il coding…

# Iniziamo con il nostro personaggio, un semplice programmatore
class Programmatore:
  def __init__(self, nome):
    self.nome = nome
    self.salute = 50
    self.forza = 5
    self.oggetti = []
    
  def attacca(self, nemico):
    danno = self.forza
    nemico.salute -= danno
    print(f"{self.nome} attacca {nemico.nome} e infligge {danno} punti di danno!")
    
  def prendi_oggetto(self, oggetto):
    self.oggetti.append(oggetto)
    print(f"{self.nome} prende {oggetto.nome}!")
    
# Creiamo il nostro eroe
class Eroe(Programmatore):
  def __init__(self, nome):
    super().__init__(nome)
    self.forza = 10
    self.salute = 100
    
# Creiamo il nostro nemico
class Nemico:
  def __init__(self, nome):
    self.nome = nome
    self.salute = 50
    self.forza = 5
    
  def attacca(self, eroe):
    danno = self.forza
    eroe.salute -= danno
    print(f"{self.nome} attacca {eroe.nome} e infligge {danno} punti di danno!")
    
# Creiamo gli oggetti che il nostro eroe può raccogliere
class Oggetto:
  def __init__(self, nome, descrizione):
    self.nome = nome
    self.descrizione = descrizione
    
  def usa(self, eroe):
    print(f"{eroe.nome} usa {self.nome}!")
    
# Iniziamo la nostra avventura
print("Ciao, io sono un semplice programmatore, ma oggi mi sento come un vero eroe!")
nome_eroe = input("Qual è il tuo nome, o grande eroe? ")
eroe = Eroe(nome_eroe)
print(f"Benvenuto, {eroe.nome}! Oggi sei il nostro unico speranza per salvare il regno!")

# Creiamo il nostro nemico
nemico = Nemico("Bugzor")

# Creiamo gli oggetti che il nostro eroe può raccogliere
spada = Oggetto("Spada", "Una spada affilata")
pozione = Oggetto("Pozione", "Una pozione magica che ripristina la salute")

# Iniziamo la battaglia
print(f"{eroe.nome} si trova di fronte all'entrata del castello del malvagio {nemico.nome}.")
print(f"La battaglia sta per cominciare! {eroe.nome}, sei pronto?")

# Il nostro eroe attacca il nemico
eroe.attacca(nemico)

# Il nemico risponde all'attacco
nemico.attacca(eroe)

# Il nostro eroe raccoglie un oggetto
eroe.prendi_oggetto(spada)

# Il nostro eroe usa l'oggetto
spada.usa(eroe)

# Il nostro eroe raccoglie un altro oggetto
eroe.prendi_oggetto(pozione)

# Il nostro eroe usa l'oggetto
pozione.usa(eroe)

# Il nostro eroe attacca di nuovo il nemico
eroe.attacca(nemico)

# Il nemico risponde all'attacco
nemico.attacca(eroe)

# Il nostro eroe continua ad attaccare fino a quando il nemico viene sconfitto
while nemico.salute > 0:
  eroe.attacca(nemico)
  
print(f"{eroe.nome} ha sconfitto {nemico.nome} e salvato il regno!")
print("Grazie per aver seguito la nostra avventura in codice! Speriamo che tu abbia imparato a diventare un eroe anche nella vita reale!")

Questa è la storia di un eroe di nome Lyra che deve sconfiggere un nemico malvagio chiamato Bugzor nel regno di Pythonia. Lyra ha la capacità di attaccare il nemico e di raccogliere oggetti che gli permettono di aumentare la sua forza o di ripristinare la salute. Attraverso il suo coraggio e la sua determinazione, Lyra sconfigge Bugzor e salva il regno di Pythonia.

E tu? Hai fix da fare? 😉

Lascia un commento