Save and Load .bat game
I'm making a text game written in bat, and the game has been done, (or more, a good part of it, such as the commands, and at the stage where you can play it); however, I want to add the power to save your game, and load it again.
I think one could do this by having the .bat file write the variables which need to be saved (such as the item variables); however, I don't know how to do this. Any help would be appreciated, thanks.
I should have said, I can make it load, by use of:
for /f "delims=" %%x in (config.txt) do (set "%%x")
However, I don't know how to make the .bat write to the file and so "save".
You could also save/load with only values, like
(
echo %highscore%
echo %playername%
echo %points%
) > savegame.sav
and load them with
< savegame.sav (
set /p highscore=
set /p playername=
set /p points=
)
The first part simply redirects the echo
outputs to a file.
The loading part using also file redirection, but in this case as input source.set /p
commands in a block can read consecutively lines from the file.
Try something like this:
@echo @ECHO OFF > savegame.cmd
@echo SET ITEMS=%ITEMS% >> savegame.cmd
@echo SET HEALTH=%HEALTH% >> savegame.cmd
@echo SET MONEY=%MONEY% >> savegame.cmd
will "save" those three variables in savegame.cmd
. Then you can call
that file to reload the variables.
(Doing it with a for /f
is quite a bit trickier.)