0

バッチ スクリプトを使用してテキスト アドベンチャー ゲームを作成しています。特定の時点で自動的に保存するようにプログラムする方法があるかどうかを知りたいです。YouTuberが自分の RPG の 1 つを自動保存するようにコーディング
したことを最近読んだので、私はこれを尋ねています。

では、バッチ RPG/テキスト アドベンチャーのパブリッシュを自動保存する方法はありますか? もしそうなら、どのようにしますか?

4

3 に答える 3

0

保存する変数の数によっては、大量のスペースを消費しますが、これは実際には非常に単純です。実行中のバッチ ファイルと同じディレクトリに別のバッチ ファイルが必要です。このバッチ ファイルには、save.bat、variables.bat などのタイトルを付けることができます。アクションが完了するたびに、変数をそのバッチ ファイルに保存する必要があります。例えば:

@echo off
call save.bat
:direction
cls
echo.
echo Would you like to
echo 1) go north
echo 2) go south
set /p answer=:
if %answer% equ 1 goto north
if %answer% equ 2 goto south
cls
echo.
echo That command isn't recognized.
echo.
pause
goto direction
:north
echo set /a money=%money%>>save.bat
echo set /a health=%health%>>save.bat
echo set /a mana=%mana%>>save.bat
cls
echo.
echo You head North.
echo.
pause
exit
:south
echo set /a money=%money%>>save.bat
echo set /a health=%health%>>save.bat
echo set /a mana=%mana%>>save.bat
cls
echo.
echo You head South.
echo.
pause
exit

ゲームの開始時に呼び出される save.bat に変数を保存する方法に注目してください。>> は、ファイルに新しい行を追加していることを示します。単一の > を使用すると、以前からすべてが削除され、変数がファイルに追加されます。アクションごとに変数を保存する必要がありますが、それだけの価値はあります。スペースを節約したい場合は、次のようにします。

@echo off
call save.bat
:direction
cls
echo.
echo Would you like to
echo 1) go north
echo 2) go south
set /p answer=:
if %answer% equ 1 goto north
if %answer% equ 2 goto south
cls
echo.
echo That command isn't recognized.
echo.
pause
goto direction
:north
call autosave.bat
cls
echo.
echo You head North.
echo.
pause
exit
:south
call autosave.bat
cls
echo.
echo You head South.
echo.
pause
exit

そして autosave.bat の内部:

echo set /a money=%money%>>save.bat
echo set /a health=%health%>>save.bat
echo set /a mana=%mana%>>save.bat

そうそう、それがゲームを自動保存する方法です。

于 2014-01-07T11:00:37.183 に答える
0

MS-DOS バッチ スクリプトよりもアドベンチャー ゲームに適した言語が多数、おそらく数百あります。Python、TCL、Lua、Java、C#、またはバッチ以外の言語を試してください。オブジェクト指向言語は、モデリングが得意なため、ファンタジー アドベンチャー ゲームによく使用されます。永続化フレームワーク (Hibernate など) を備えた言語は、自動保存に便利な場合があります。しかし、これにはリレーショナル データベースへのデータの格納が含まれる傾向があり、モデリングにも適しています。ただし、一度に噛み切りすぎないようにしてください。

非常に単純な言語を使用して、テキスト ベースのゲームを試してみたいと考えているからです。あなたはTCLでうまくいくかもしれません。しかし、私が言ったように、良い選択肢はたくさんあります。バッチはそれらの 1 つとは見なされません。

于 2013-08-04T01:54:13.163 に答える