Szukam najprostszego sposobu zapisywania i ładowaniagamedata dla gry typu mastermind. W tej chwili należy ocalić, liczbę granych kolorów, liczbę granych kołków, liczbę zgadnięć i faktyczną odpowiedź. W tej chwili zapisuję wszystkie te informacje w pliku tekstowym. Mam problem z załadowaniem tych informacji z powrotem do gry i natknąłem się na coś, co nazywa się wytrawianiem. Przeczytałem o tym trochę, ale nie do końca rozumiem, jak to działa i czym różni się od tego, co próbuję zrobić.
Dzięki!
Odpowiedzi:
1 dla odpowiedzi № 1Wytrawianie to metoda serializacji - utrwalanie danych na dysku.
Jeśli chcesz, możesz poradzić sobie z ręcznym marynowaniem / odkrawaniem. Ale poprosiłeś o najprostszy sposób - python ma to. Po prostu użyj shelve
:
import shelve
d = shelve.open("my_mastermind_shelf")
To jest ... to. Teraz wystarczy leczyć d
tak jak traktowałbyś każdy inny dict
; shelve
radzi sobie ze wszystkimi piklowaniami za kulisami. Jedyne zastrzeżenie: pamiętaj, aby nazwać to .close()
metoda, gdy skończysz z tym.
0 dla odpowiedzi nr 2
Jak powiedziałem w moim komentarzu, możesz użyć prostego pliku tekstowego, aby zapisać bieżący stan gry. Możesz użyć otwarty() aby otworzyć (nowy) plik. Zwykle wygląda to tak:
fname = raw_input("Put in the filename: ")
f = open(fname, "w") # This opens the text file for write operations.
# If the file already exists, it will truncate it.
# If not, then it will creaate a new file.
f.write("Hey, I"m a hippie coder, ho.") # Or, whatever string you want.
# You don"t have to be a hippie coder.
f.close()
Aha, i nie przejmuj się moim biednym przykładem. Tu jest czwarta rano i powinienem być w łóżku.