Accademia:Tux Adventures.py

Da Guide@Debianizzati.Org.

#!/usr/bin/env python3

print("""
Questa e' la storia del supereroe Tux alla difesa del FreeSoftware,
un baldo giovane pinguino che combatte in una terra infuocata.
""")

name = input("""Come ti chiami prode aiutante?
> """)
print()

# PRIMO ATTO
control = True                   # Ci sono tanti modi di interrompere un Ciclo, ad esempio con una variabile di controllo
# inizio ciclo while
while control == True:           # fintanto che e' vero, ripeti
    ready = input("Prode {0},\nsei pronto per la missione? (S/N)\n> ".format(name))
    print()
    if ready == "S":             # dobbiamo indentare tutto il ciclo
        print("Il tuo coraggio ti fa onore!")
        print()
        print("Sono certo che assieme sconfiggeremo il software proprietario!")
        control = False          # < ----- e' falso, quindi subito dopo esce dal ciclo
    elif ready == 'N':
        print("Che codardo! Sparisci!!!")
        exit()
    else:
        print('Non ho capito... scrivi S o N')
# CICLO FINITO
print()

# SECONDO ATTO
domanda = "Prode {0},\nsaresti disposto a sacrificare tutti i tuoi computer per la missione? (S/N)\n> ".format(name)
while True:                      # in questo caso non usiamo una variabile di controllo ma il comando break
    var = input(domanda)
    print()
    if var == "S":
        print("Un vero hacker non sacrifica mai i suoi strumenti! Looser.")
        exit()
    elif var == "N":
        print("Tu sei il compagno giusto per affrontare le avventure!\n")
        break                    # <-------- Ecco qua! "Rompiamo" il ciclo
    else:
        print('Non ho capito... scrivi S o N')
# CICLO FINITO
print()

# TERZO ATTO
domanda = """{0} a cavallo del suo fido alleato Tux si dirige verso la sede nemica.
Quand'ecco che si trovano davanti ad un'immensa finestra protetta da una grande muraglia infuocata.

{0} deve effettuare una scelta: quale arma usare per superare questa apparentemente impenetrabile fortezza? (Virus, Acqua, Utonto)
 > """.format(name)

arma = ""
while arma not in ("Virus", "Acqua", "Utonto"):       # in questo caso invece è proprio il While a verificare che ci siano le condizioni per andare avanti
    arma = input(domanda)
    print()
    if arma == "Virus":
        print("Povero stolto, non sai che la finestra ha al suo servizio una schiera di medici e dottori capitanati dal primario Norton?!")
    elif arma == "Acqua":
        print("Volevi provare un cortocircuito? Bravo, ci sei riuscito! Peccato che nell'incendio che e' scaturito sei rimasto affumicato...")
    elif arma == "Utonto":
        print("Complimenti! Nulla è più micidiale di un Utonto; nemmeno una finestra risce a resistergli!")
    else:
        print('Non ho capito... scrivi Virus, Acqua oppure Utonto')

print()
print("FINE")
Strumenti personali
Varianti
Azioni
Navigazione
Risorse
Strumenti