2013-07-31 31 views
0

我通常是新的批处理文件,我试图制作一个RPG,但是我正在寻找的东西超过了我对批处理文件的知识,所以我想知道我将如何做一个系统,你将能够看到型材/用户/数据然后创建的决定将其加载,你会做什么,删除等。如何显示创建的配置文件的数据列表

数据选择

:DataList 
    cls 

    echo. 
    echo Datas 
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
    echo TEST 
    echo TEST02 
    echo TEST03 

    set /p Datas=Enter= 
    if %Datas% == %CurrentData% goto ? 
     ^TEST  ^TEST    ^TESTData 

因此,这是你会什么见...

Datas 
    --------------- 
    TEST 
    TEST02 
    TEST03 

后您选择TESTDATA

:TESTData 
    echo. 
    echo TEST Data 
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
    echo 1) Load Current Data 
    echo 2) Delete Current Data 
    echo 3) Back 

    set /p DataOptions=Enter= 
    if %DataOptions% equ 1 goto %TEST%Data 
    if %DataOptions% equ 2 then do DEL %TEST%Data 
    if %DataOptions% equ 3 goto DataList 

这是你会看到什么

TEST Data 
    -------------- 
    1) Load Current Data 
    2) Delete Current Data 
    3) Back 

所以我基本上需要有操作它,这样你每次做一个新的数据,这也增加了它的功能如果%Datas%==%CurrentDatas%,并且还可以在选择数据时删除它。

+1

批量不是一种合适的游戏编程语言。 – Endoro

+0

本网站上的RPG标签指的是一种编程语言,而不是指定级别较低的电脑游戏。 – WarrenT

回答

0

如果你的数据是一个动态数组,你不能硬编码它们,你必须迭代。

这意味着你不能使用GOTO :%...%,因为%...%是意外的,并且你的标签已经写好了!

批量处理数组并不容易,但可行。确保您在批量启动时有SETLOCAL ENABLEDELAYEDEXPANSION

步骤1:节目DATAS - I假设DATAS上profiles/users/data

:DataList 
SET DATA_COUNT=0 
FOR %%i IN (profiles\users\data\*) DO (
    SET /A DATA_COUNT+=1 
    SET %DATA[!DATA_COUNT!]%=%%i 
    ECHO !DATA_COUNT!) %%i 
) 

步骤2文件:获取用户输入

SET /P Datas=Enter= 
REM Get sure thar %Datas% is a number: 
SET /A Datas*=1 
IF %Datas% GEQ 1 IF %Datas% LEQ %DATA_COUNT% (
    SET TEST=!DATA[%Datas%]! 
    REM Note that from now on, your selected data is stored in %TEST% 
    GOTO :TESTData 
) 
ECHO Invalid option! 
PAUSE 
GOTO :DataList 

步骤3:对数据操作

:TESTData 
ECHO TEST Data: %TEST% 
ECHO ----------------- 
ECHO 1) Load Current Data 
ECHO 2) Delete Current Data 
ECHO 3) Back 
SET /P DataOption=Enter= 
SET /A DataOption*=1 
IF %DataOptions% EQU 1 GOTO :Load_Data 
IF %DataOptions% EQU 2 (
    DEL %TEST% 
    GOTO :DataList 
) 
IF %DataOptions% EQU 3 GOTO :DataList 
ECHO Invalid option! 
PAUSE 
GOTO :TESTData 

祝你好运!

相关问题