|
|
本帖最后由 HOPE2021 于 2021-11-6 12:20 编辑
转自Dostips,经过汉化,作者的技术非常好,侵删.
汉化版下载与原文链接楼:http://www.bathome.net/redirect.php?goto=findpost&pid=247714&ptid=60246
源码第一部分:- @echo off
- Rem 来自https://www.dostips.com/forum/viewtopic.php?f=3&t=9848&p=63348
- Rem 作者Lauri
- chcp 936 > nul
- title 劳里的幻想世界
- color 03
- @goto INSTALL_COLOR
- :INSTALL_COLOR
- echo.
- echo.正在加载图形引擎...
- (
- echo.@echo off
- echo.chcp 936 ^> nul
- echo.Setlocal EnableDelayedExpansion
- echo.REM setlocal enableextensions
- echo.set dstdir=c:\tmpColorDirtoDelete
- echo.IF EXIST %%dstdir%% goto errExist
- echo.@mkdir %%dstdir%%
- echo.@cd %%dstdir%%
- echo.set count=0
- echo.REM DEFINISCO IL CARATTERE BACKSPACE!
- echo.set "$Defines=$BS" & set "$Details=Create $ESC Ascii-0x1B-27, Expansion insensitive"
- echo. for /f "delims=#" %%%%a in ^(
- echo. '"prompt #$H# &echo on &for %%%%b in (1) do rem"'
- echo. ^) do ^(
- echo. set "%%$Defines%%=%%%%a"
- echo. set "%%$Defines%%=!$BS:~0,1!"
- echo. ^)
- echo.FOR %%%%a IN ^(%%*^) DO ^(
- echo. FOR /F "usebackq delims=# tokens=1,*" %%%%b IN ^('%%%%a'^) DO ^(
- echo. REM echo %%%%b sara' di colore %%%%c
- echo. set /A count=!count!+1
- echo. set nomefile=%%%%b
- echo. IF %%%%c.==. ^(
- echo. set colore=03
- echo. ^) ELSE ^(
- echo. set colore=%%%%c
- echo. ^)
- echo. REM SET /P ".=" %%%%b
- echo. SET /P ".=%%$BS%% " ^<nul ^>%%%%b
- echo. REM echo !count!^>%%%%b
- echo. REM echo FINDSTR /A:%%%%c /C:"!count!" /S "%%%%b"
- echo. REM more %%%%b
- echo. set bin=%%%%b
- echo. ^)
- echo. REM FINE INNER FOR
- echo. REM echo FINDSTR /A:!colore! /C:"!count!" /S "!nomefile!"
- echo. FINDSTR /A:!colore! /C:" " /S "!nomefile!"
- echo. REM goto end
- echo.^)
- echo.REM FINE OUTER FOR
- echo.echo.
- echo.REM ERROR HANDLING
- echo.goto chiusura
- echo.:errExist
- echo.echo 临时目录%%dstdir%%已存在.在继续或更改批处理中的路径之前将其删除.
- echo.goto pulizia
- echo.:chiusura
- echo.:pulizia
- echo.cd..
- echo.rd /S /Q %%dstdir%%
- echo.goto end
- echo.:end
- ) > color.bat
- SetLocal EnableDelayedExpansion
- :LOAD
- if EXIST "%UserProFile%\Save.Txt" (
- echo.
- echo 发现存档^^!
- echo.
- echo 你想加载游戏吗?
- call color.bat [S]#0c 想 [N]#0c 不想
-
- choice /N /C:SN
-
- if errorlevel 2 (
- echo.
- echo 新的开始.
- pause >nul
-
- goto START
- )
- if errorlevel 1 (
- for /F "usebackq tokens=1-18 delims=," %%G in ("%UserProFile%\Save.Txt") do (
- set AMBIENTE=%%G
- set ATT=%%H
- set DIF=%%I
- set MAG=%%J
- set DIF_M=%%K
- set HP_MAX=%%L
- set HP=%%M
- set MAGIE=%%N
- set LV=%%O
- set EXP=%%P
- set END_COMBACT=%%Q
- set EQUIP_ARM=%%R
- set EQUIP_CORPO=%%S
- set EQUIP_ELM=%%T
- set NAME=%%U
- set SWT_LOC_A=%%V
- set GOLD=%%W
- set STORY=%%X
- set /a ST_VELENO=0
- set NAME_EN=
- set /a HP_LOSE=3
- set /a LOOP_L=0
-
- goto LOOP_ECHO_LOAD
- )
- )
- ) else (
- goto START
- )
- :SAVE
- set /a LOOP_S=0
-
- goto LOOP_ECHO_SAVE
-
- :LOOP_ECHO_LOAD
- if %LOOP_L% EQU 0 (
- cls
- echo.
- echo 正在加载 .
- set /a LOOP_L=%LOOP_L%+1
-
- choice /N /C:P /T 1 /D P
- goto LOOP_ECHO_LOAD
- )
-
- if %LOOP_L% EQU 1 (
- cls
- echo.
- echo 正在加载 . .
- set /a LOOP_L=%LOOP_L%+1
-
- choice /N /C:P /T 1 /D P
- goto LOOP_ECHO_LOAD
- )
-
- if %LOOP_L% EQU 2 (
- cls
- echo.
- echo 正在加载 . . .
- set /a LOOP_L=0
- choice /N /C:P /T 1 /D P
- if errorlevel 1 goto %AMBIENTE%
- )
- :LOOP_ECHO_SAVE
- if %LOOP_S% EQU 0 (
- cls
- echo.
- echo 存档中 .
- set /a LOOP_S=%LOOP_S%+1
- choice /N /C:P /T 1 /D P
-
- goto LOOP_ECHO_SAVE
- )
-
- if %LOOP_S% EQU 1 (
- cls
- echo.
- echo 存档中 . .
- set /a LOOP_S=%LOOP_S%+1
- choice /N /C:P /T 1 /D P
-
- goto LOOP_ECHO_SAVE
- )
-
- if %LOOP_S% EQU 2 (
- cls
- echo.
- echo 存档中 . . .
- set /a LOOP_S=0
- choice /N /C:P /T 2 /D P
- echo %AMBIENTE%,%ATT%,%DIF%,%MAG%,%DIF_M%,%HP_MAX%,%HP%,%MAGIE%,%LV%,%EXP%,%END_COMBACT%,%EQUIP_ARM%,%EQUIP_CORPO%,%EQUIP_ELM%,%NAME%,%SWT_LOC_A%,%GOLD%,%STORY% > "%UserProFile%\Save.Txt"
- goto %AMBIENTE%
- )
-
- :START
- set /a EQUIP_ARM=0
- :: 3= SPADA ATT +3
- :: 5= LANCIA ATT +5
- :: 7= PUGNALE ATT +7
- :: 2= ASTA +2 MAG
- :: 4= PISTOLA +4 MAG
- :: 8= LONGINUS +8 MAG
- set /a EQUIP_CORPO=0
- :: 1= MAGLIA DIF +1
- :: 3= GIUBOTTO DIF+3
- :: 8= CORAZZA DIF +8
- set /a EQUIP_ELM=0
- :: 2= CAPPELLO DIF_MAG +2
- :: 5= BASCO DIF_MAG +5
- :: 7= ELMO DIF_MAG +7
- set /a ATT=2
- set /a DIF=1
- set /a MAG=0
- set /a DIF_M=0
- set /a EXP=0
- set /a HP=30
- set /a HP_MAX=30
- set /a LV=1
- set /a ST_VELENO=0
- :: 1= AVVELENATO
- set /a HP_LOSE=3
- :: HP PERSI PER EFFETTO DEL VELENO
- set /a END_COMBACT=0
- set /a MAGIE=0
- :: FIRE=1
- :: ICE=2
- :: ENERGIA=3
- :: IDRO=4
- :: THUNDER=5
- :: ESNA=6
- set /a SWT_LOC_A=0
- :: VARIABILE PER I SOLDI TROVATI NEL MONDO
- set /a GOLD=0
- ::SOLDI DEL GIOCO
- set /a STORY=0
- ::VARIABILE DELLA STORIA
- set NAME_EN=
- cls
- echo.欢迎来到虚拟世界,这里使用了有史以来最好的图形引擎,你的大脑^^!
- pause >nul
- cls
- call color.bat 选择 [S]#0c 开始或选择 [N]#0c 退出
- choice /N /C:SN
- if errorlevel 2 goto END
- if errorlevel 1 goto BEGIN_GAME
- :BEGIN
- cls
- call color.bat 你的房子#0a
- echo.
- echo 你是离开房子还是在房间里踱步?
- call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
- choice /N /C:AD
-
- if errorlevel 2 goto IN_HOME
- if errorlevel 1 goto OUT_HOME
- :BEGIN_GAME
- echo.
- set /p NAME=你的名字叫什么?
- if /i DEFINED NAME (
- echo.
- echo %NAME%你好, 你好,欢迎来到劳里的世界^^!
- echo 你准备好开始你的冒险了吗?
- call color.bat 按 [Enter键]#0c 开始。
- pause >nul
- ) else (
- cls
- echo 请输入您的姓名^^!
- pause >nul
- goto BEGIN_GAME
- )
- cls
- call color.bat 你的房子#0a
- echo.
- echo 嗯,刚刚醒来,马上就发现了一些奇怪的事情...
- echo 是啊...太安静了,有点不对劲...
- echo 走近前门想做点什么...
- echo 是离开房子还是在房间里踱步?
- call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
- choice /N /C:AD
-
- if errorlevel 2 goto IN_HOME
- if errorlevel 1 goto OUT_HOME
- :OUT_HOME
- cls
- call color.bat 屋外#0a
- echo.
- echo 我听不到任何噪音...
- echo 我步行时注意到朋友的房子...
- echo 门开着...
- echo 决定进去还是继续?
-
- call color.bat 选择 [A]#0c 进入或选择 [D]#0c 继续或 [X]#0c 返回
- choice /N /C:ADX
-
- if errorlevel 3 goto BEGIN
- if errorlevel 2 goto STREET
- if errorlevel 1 goto FRIEND_HOUSE
- :IN_HOME
- cls
- call color.bat 走廊#0a
- echo.
- echo 想去哪个房间?
- call color.bat 选择 [A]#0c 去厨房 [D]#0c 去卧室 [G]#0c 去浴室 [J]#0c 客厅
- choice /N /C:ADGJ
- if errorlevel 4 goto SALA
- if errorlevel 3 goto BAGNO
- if errorlevel 2 goto CAMERA
- if errorlevel 1 goto CUCINA
- :CUCINA
- cls
- call color.bat 厨房#0a
- echo.
- echo 这里也没有人...电线断了...
- echo 妈妈一定忘了关上它...
- echo 回去吧...
- pause >nul
- goto BEGIN
- :CAMERA
- if %EQUIP_ARM% EQU 0 (
- cls
- call color.bat 卧室#0a
- echo.
- echo 床没铺好...
- echo 我检查了壁橱...
- call color.bat 找到#03 黑桃#0c [ATT#0c +3]#0c
- set /a EQUIP_ARM=3
- echo 回去吧...
- pause >nul
- goto BEGIN
- )
- if %EQUIP_ARM% GEQ 1 (
复制代码 |
|