Load and Save
Goals
- zvládnuť základy práce s textovými súbormi
- porozumieť mechanizmu výnimiek
- kontext provider
Content
Command Line History
Hráč bude môcť počas hry kedykoľvek uložiť stav svojej rozohratej hry do súboru na disk. To je síce možné dosiahnuť rozličnými spôsobmi, ale my sa sústredíme na jeden. Tým spôsobom bude uloženie histórie zadávaných príkazov hráčom od začiatku až do momentu, kedy zadal príkaz ULOZ
.
Každý príkaz sa bude v súbore nachádzať na samostatnom riadku. Ten najstarší príkaz sa bude nachádzať na začiatku súboru a ten najnovší zasa na jeho konci.
Začať však musíme reprezentáciou histórie v samotnej hre. Na to použijeme jednoduchý zoznam a každý nový príkaz do neho pripojíme na koniec (pomocou metódy append()
).
Prázdnu históriu inicializujeme podobne ako hráčov batoh na začiatku funkcie play()
:
history = []
Položky do histórie budeme pridávať na začiatku hernej slučky priamo po zadaní príkazu používateľom a jeho znormalizovaní (malé písmená, odstránenie bielych znakov zo začiatku a konca príkazu):
line = input("> ")
line = line.strip().lower()
history.append(line)