-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathadventure.py
More file actions
77 lines (69 loc) · 2.43 KB
/
adventure.py
File metadata and controls
77 lines (69 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# -*- coding: iso-8859-15 -*-
"""
Lo scheletro di un gioco adventure --richiede Python 2.7.
La variabile mondo una struttura dati che descrive il mondo che vogliamo esplorare. Questa struttura è costituita da coppie chiave/valore che descrivono i luoghi e le uscite che li collegano. Ogni luogo ha una descrizione e una o più uscite che lo collegano ad altri luoghi.
Dal punto di vista implementativo, vengono usati dei dizionari.
Il codice alla fine del file crea un ciclo che permette di attraversare i diversi luoghi del gioco.
Ad ogni iterazione:
- viene visualizzato il luogo in cui ci si trova,
- vengono elencate le uscite disponibili
- si chiede un input all'utente (deve corrispondere al nome di un'uscita)
- il programma risponde spostandosi da un luogo all'altro o dicendo che non capisce l'input.
"""
mondo = {
'caverna': {
'descrizione': 'Sei in una caverna misteriosa.',
'uscite': {
'sù': 'cortile',
},
},
'torre': {
'descrizione': "Sei in cima a un'alta torre.",
'uscite': {
'giù': 'ingresso',
},
},
'cortile': {
'descrizione': 'Sei nel cortile del castello.',
'uscite': {
'sud': 'ingresso',
'giù': 'caverna'
},
},
'ingresso': {
'descrizione': "Sei all'ingresso del castello",
'uscite': {
'sud': 'foresta',
'sù': 'torre',
'nord': 'cortile',
},
},
'foresta': {
'descrizione': 'Sei nella radura di una foresta.',
'uscite': {
'nord': 'ingresso',
},
},
}
# Partiamo dalla caverna.
tappa = 'caverna'
# Avvia il ciclo che ci porta di tappa in tappa.
while True:
# Prendiamo i dettagli del posto nel mondo in cui stiamo facendo tappa.
posto = mondo[tappa]
# Stampa descrizione e uscite del posto.
print(posto['descrizione'])
print('uscite disponibili:')
print(', '.join(posto['uscite'].keys()))
# chiediamo l'input dell'utente
direzione = raw_input('Che uscita prendo? [stop per uscire]: ').strip().lower()
# Comportiamoci secondo l'input dell'utente
if direzione == 'stop':
print('Ciao ciao!')
break # interrompi il ciclo e esci
elif direzione in posto['uscite']:
# raggiungi una nuova tappa
tappa = posto['uscite'][direzione]
else:
# l'input dell'utente non corrisponde a nessuna uscita
print("Non capisco!")