Best Way Assegnazione della storia in posizione in una partita?
-
20-12-2019 - |
Domanda
Ho una semplice domanda. Ecco il mio gioco della storia finora:
x = 0
y = 0
coords = (x,y)
def move(player) :
while 1 :
global x
global y
global coords
user_in = raw_input()
if user_in == "w":
y += 1
elif user_in == "d":
x += 1
elif user_in == "a":
x -= 1
elif user_in == "s":
y -= 1
else :
print "Thats not an assigned key"
coords = (x,y)
print player, "moved to", coords
move("Mason")
.
So che potrei fare una dichiarazione se per ogni serie di coordinate, ma mi sento Pythic, e mi piacerebbe trovare un modo veloce ed efficiente per farlo.Grazie in anticipo per l'aiuto!
Soluzione
Come @iseyev ha detto in un commento, consiglio di utilizzare un dizionario che mappa le taglie di posizione a dati su ciò che viene trovato in quella posizione.
Farei una classe chiamata Room
o Area
che definisce ciò che esiste in quella posizione. Quindi crea un dizionario chiamato world
o qualcosa che mappa tutte le località che un giocatore può andare. Se non esiste un oggetto Area
in una determinata posizione, allora è impossibile andare lì (forse è una foresta impassibile, solida roccia o qualsiasi altra cosa abbia senso nel tuo gioco).
Ti suggerisco di leggere un tutorial su come scrivere un gioco di avventura a Python. Il libro impara Python il modo difficile ha un capitolo dedicato a questo, e puoi ottenere quel libro gratuitamente su Internet:
http://learnythonthehardway.org/board/ex43.html
Potrebbe avere più senso se leggi attraverso l'intero libro in ordine.
Se non ti piace quello, prova una ricerca su Google per "Avventura Game Tutorial Python" e troverai gli altri.
Buona fortuna e divertiti.