Board logo

标题: [其他] [转载自Dostips] 游戏 劳里的幻想世界 [打印本页]

作者: HOPE2021    时间: 2021-10-4 13:17     标题: [转载自Dostips] 游戏 劳里的幻想世界

本帖最后由 HOPE2021 于 2021-11-6 12:20 编辑

转自Dostips,经过汉化,作者的技术非常好,侵删.
汉化版下载与原文链接楼:http://www.bathome.net/redirect.php?goto=findpost&pid=247714&ptid=60246
源码第一部分:
  1. @echo off
  2. Rem 来自https://www.dostips.com/forum/viewtopic.php?f=3&t=9848&p=63348
  3. Rem 作者Lauri
  4. chcp 936 > nul
  5. title 劳里的幻想世界
  6. color 03
  7. @goto INSTALL_COLOR
  8. :INSTALL_COLOR
  9. echo.
  10. echo.正在加载图形引擎...
  11. (
  12. echo.@echo off
  13. echo.chcp 936 ^> nul
  14. echo.Setlocal EnableDelayedExpansion
  15. echo.REM setlocal enableextensions
  16. echo.set dstdir=c:\tmpColorDirtoDelete
  17. echo.IF EXIST %%dstdir%% goto errExist
  18. echo.@mkdir %%dstdir%%
  19. echo.@cd %%dstdir%%
  20. echo.set count=0
  21. echo.REM DEFINISCO IL CARATTERE BACKSPACE!
  22. echo.set "$Defines=$BS"    & set "$Details=Create $ESC Ascii-0x1B-27, Expansion insensitive"
  23. echo.   for /f "delims=#" %%%%a in ^(
  24. echo.      '"prompt #$H# &echo on &for %%%%b in (1) do rem"'
  25. echo.   ^) do ^(
  26. echo.      set "%%$Defines%%=%%%%a"
  27. echo.      set "%%$Defines%%=!$BS:~0,1!"
  28. echo.   ^)
  29. echo.FOR %%%%a IN ^(%%*^) DO ^(
  30. echo. FOR /F "usebackq delims=# tokens=1,*" %%%%b IN ^('%%%%a'^) DO ^(
  31. echo.    REM echo %%%%b sara' di colore %%%%c
  32. echo.    set /A count=!count!+1
  33. echo.    set nomefile=%%%%b
  34. echo.    IF %%%%c.==. ^(
  35. echo.        set colore=03
  36. echo.    ^) ELSE ^(
  37. echo.    set colore=%%%%c
  38. echo.    ^)
  39. echo.    REM SET /P ".=" %%%%b
  40. echo.    SET /P ".=%%$BS%% " ^<nul ^>%%%%b
  41. echo.    REM echo !count!^>%%%%b
  42. echo.    REM echo FINDSTR /A:%%%%c /C:"!count!" /S "%%%%b"
  43. echo.    REM more %%%%b
  44. echo.    set bin=%%%%b
  45. echo. ^)
  46. echo. REM FINE INNER FOR
  47. echo.    REM echo FINDSTR /A:!colore! /C:"!count!" /S "!nomefile!"
  48. echo.    FINDSTR /A:!colore! /C:" " /S "!nomefile!"
  49. echo.    REM goto end
  50. echo.^)
  51. echo.REM FINE OUTER FOR
  52. echo.echo.
  53. echo.REM ERROR HANDLING
  54. echo.goto chiusura
  55. echo.:errExist
  56. echo.echo 临时目录%%dstdir%%已存在.在继续或更改批处理中的路径之前将其删除.
  57. echo.goto pulizia
  58. echo.:chiusura
  59. echo.:pulizia
  60. echo.cd..
  61. echo.rd /S /Q %%dstdir%%
  62. echo.goto end
  63. echo.:end
  64. ) > color.bat
  65. SetLocal EnableDelayedExpansion
  66. :LOAD
  67. if EXIST "%UserProFile%\Save.Txt" (
  68. echo.
  69. echo 发现存档^^!
  70. echo.
  71. echo 你想加载游戏吗?
  72. call color.bat [S]#0c 想 [N]#0c 不想
  73. choice /N /C:SN
  74. if errorlevel 2 (
  75. echo.
  76. echo 新的开始.
  77. pause >nul
  78. goto START
  79. )
  80. if errorlevel 1 (
  81. for /F "usebackq tokens=1-18 delims=," %%G in ("%UserProFile%\Save.Txt") do (
  82. set AMBIENTE=%%G
  83. set ATT=%%H
  84. set DIF=%%I
  85. set MAG=%%J
  86. set DIF_M=%%K
  87. set HP_MAX=%%L
  88. set HP=%%M
  89. set MAGIE=%%N
  90. set LV=%%O
  91. set EXP=%%P
  92. set END_COMBACT=%%Q
  93. set EQUIP_ARM=%%R
  94. set EQUIP_CORPO=%%S
  95. set EQUIP_ELM=%%T
  96. set NAME=%%U
  97. set SWT_LOC_A=%%V
  98. set GOLD=%%W
  99. set STORY=%%X
  100. set /a ST_VELENO=0
  101. set NAME_EN=
  102. set /a HP_LOSE=3
  103. set /a LOOP_L=0
  104. goto LOOP_ECHO_LOAD
  105. )
  106. )
  107. ) else (
  108. goto START
  109. )
  110. :SAVE
  111. set /a LOOP_S=0
  112. goto LOOP_ECHO_SAVE
  113. :LOOP_ECHO_LOAD
  114. if %LOOP_L% EQU 0 (
  115. cls
  116. echo.
  117. echo 正在加载 .
  118. set /a LOOP_L=%LOOP_L%+1
  119. choice /N /C:P /T 1 /D P
  120. goto LOOP_ECHO_LOAD
  121. )
  122. if %LOOP_L% EQU 1 (
  123. cls
  124. echo.
  125. echo 正在加载 . .
  126. set /a LOOP_L=%LOOP_L%+1
  127. choice /N /C:P /T 1 /D P
  128. goto LOOP_ECHO_LOAD
  129. )
  130. if %LOOP_L% EQU 2 (
  131. cls
  132. echo.
  133. echo 正在加载 . . .
  134. set /a LOOP_L=0
  135. choice /N /C:P /T 1 /D P
  136. if errorlevel 1 goto %AMBIENTE%
  137. )
  138. :LOOP_ECHO_SAVE
  139. if %LOOP_S% EQU 0 (
  140. cls
  141. echo.
  142. echo 存档中 .
  143. set /a LOOP_S=%LOOP_S%+1
  144. choice /N /C:P /T 1 /D P
  145. goto LOOP_ECHO_SAVE
  146. )
  147. if %LOOP_S% EQU 1 (
  148. cls
  149. echo.
  150. echo 存档中 . .
  151. set /a LOOP_S=%LOOP_S%+1
  152. choice /N /C:P /T 1 /D P
  153. goto LOOP_ECHO_SAVE
  154. )
  155. if %LOOP_S% EQU 2 (
  156. cls
  157. echo.
  158. echo 存档中 . . .
  159. set /a LOOP_S=0
  160. choice /N /C:P /T 2 /D P
  161. 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"
  162. goto %AMBIENTE%
  163. )
  164. :START
  165. set /a EQUIP_ARM=0
  166. :: 3= SPADA ATT +3
  167. :: 5= LANCIA ATT +5
  168. :: 7= PUGNALE ATT +7
  169. :: 2= ASTA +2 MAG
  170. :: 4= PISTOLA +4 MAG
  171. :: 8= LONGINUS +8 MAG
  172. set /a EQUIP_CORPO=0
  173. :: 1= MAGLIA DIF +1
  174. :: 3= GIUBOTTO DIF+3
  175. :: 8= CORAZZA DIF +8
  176. set /a EQUIP_ELM=0
  177. :: 2= CAPPELLO DIF_MAG +2
  178. :: 5= BASCO DIF_MAG +5
  179. :: 7= ELMO DIF_MAG +7
  180. set /a ATT=2
  181. set /a DIF=1
  182. set /a MAG=0
  183. set /a DIF_M=0
  184. set /a EXP=0
  185. set /a HP=30
  186. set /a HP_MAX=30
  187. set /a LV=1
  188. set /a ST_VELENO=0
  189. :: 1= AVVELENATO
  190. set /a HP_LOSE=3
  191. :: HP PERSI PER EFFETTO DEL VELENO
  192. set /a END_COMBACT=0
  193. set /a MAGIE=0
  194. :: FIRE=1
  195. :: ICE=2
  196. :: ENERGIA=3
  197. :: IDRO=4
  198. :: THUNDER=5
  199. :: ESNA=6
  200. set /a SWT_LOC_A=0
  201. :: VARIABILE PER I SOLDI TROVATI NEL MONDO
  202. set /a GOLD=0
  203. ::SOLDI DEL GIOCO
  204. set /a STORY=0
  205. ::VARIABILE DELLA STORIA
  206. set NAME_EN=
  207. cls
  208. echo.欢迎来到虚拟世界,这里使用了有史以来最好的图形引擎,你的大脑^^!
  209. pause >nul
  210. cls
  211. call color.bat 选择 [S]#0c 开始或选择 [N]#0c 退出
  212. choice /N /C:SN
  213. if errorlevel 2 goto END
  214. if errorlevel 1 goto BEGIN_GAME
  215. :BEGIN
  216. cls
  217. call color.bat 你的房子#0a
  218. echo.
  219. echo 你是离开房子还是在房间里踱步?
  220. call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  221. choice /N /C:AD
  222. if errorlevel 2 goto IN_HOME
  223. if errorlevel 1 goto OUT_HOME
  224. :BEGIN_GAME
  225. echo.
  226. set /p NAME=你的名字叫什么?
  227. if /i DEFINED NAME (
  228. echo.
  229. echo %NAME%你好, 你好,欢迎来到劳里的世界^^!
  230. echo 你准备好开始你的冒险了吗?
  231. call color.bat 按 [Enter键]#0c 开始。
  232. pause >nul
  233. ) else (
  234. cls
  235. echo 请输入您的姓名^^!
  236. pause >nul
  237. goto BEGIN_GAME
  238. )
  239. cls
  240. call color.bat 你的房子#0a
  241. echo.
  242. echo 嗯,刚刚醒来,马上就发现了一些奇怪的事情...
  243. echo 是啊...太安静了,有点不对劲...
  244. echo 走近前门想做点什么...
  245. echo 是离开房子还是在房间里踱步?
  246. call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  247. choice /N /C:AD
  248. if errorlevel 2 goto IN_HOME
  249. if errorlevel 1 goto OUT_HOME
  250. :OUT_HOME
  251. cls
  252. call color.bat 屋外#0a
  253. echo.
  254. echo 我听不到任何噪音...
  255. echo 我步行时注意到朋友的房子...
  256. echo 门开着...
  257. echo 决定进去还是继续?
  258. call color.bat 选择 [A]#0c 进入或选择 [D]#0c 继续或 [X]#0c 返回
  259. choice /N /C:ADX
  260. if errorlevel 3 goto BEGIN
  261. if errorlevel 2 goto STREET
  262. if errorlevel 1 goto FRIEND_HOUSE
  263. :IN_HOME
  264. cls
  265. call color.bat 走廊#0a
  266. echo.
  267. echo 想去哪个房间?
  268. call color.bat 选择 [A]#0c 去厨房 [D]#0c 去卧室 [G]#0c 去浴室 [J]#0c 客厅
  269. choice /N /C:ADGJ
  270. if errorlevel 4 goto SALA
  271. if errorlevel 3 goto BAGNO
  272. if errorlevel 2 goto CAMERA
  273. if errorlevel 1 goto CUCINA
  274. :CUCINA
  275. cls
  276. call color.bat 厨房#0a
  277. echo.
  278. echo 这里也没有人...电线断了...
  279. echo 妈妈一定忘了关上它...
  280. echo 回去吧...
  281. pause >nul
  282. goto BEGIN
  283. :CAMERA
  284. if %EQUIP_ARM% EQU 0 (
  285. cls
  286. call color.bat 卧室#0a
  287. echo.
  288. echo 床没铺好...
  289. echo 我检查了壁橱...
  290. call color.bat 找到#03 黑桃#0c [ATT#0c +3]#0c
  291. set /a EQUIP_ARM=3
  292. echo 回去吧...
  293. pause >nul
  294. goto BEGIN
  295. )
  296. if %EQUIP_ARM% GEQ 1 (
复制代码

作者: HOPE2021    时间: 2021-10-4 13:18

回复 1# HOPE2021
源码第二部分:
  1. cls
  2. call color.bat 卧室#0a
  3. echo.
  4. echo 床没铺好...
  5. echo 我检查了壁橱...
  6. echo 什么都没有了...
  7. echo 回去吧...
  8. pause >nul
  9. goto BEGIN
  10. )
  11. :BAGNO
  12. cls
  13. call color.bat 浴室#0a
  14. echo.
  15. echo 啊... 我需要好好洗个澡...
  16. echo 回去吧...
  17. pause >nul
  18. goto BEGIN
  19. :SALA
  20. cls
  21. call color.bat 客厅#0a
  22. echo.
  23. echo 灯亮着... 真奇怪...
  24. echo 回去吧...
  25. pause >nul
  26. goto BEGIN
  27. :FRIEND_HOUSE
  28. if %END_COMBACT% EQU 0 (
  29. cls
  30. call color.bat 朋友的家#0a
  31. echo.
  32. echo 这里似乎也没有人...
  33. echo 我想我听到了声音...
  34. echo 从客厅出来...
  35. echo 要做什么,给朋友打电话还是检查房间?
  36. call color.bat 选择 [A]#0c 给朋友打电话或选择 [D]#0c 检查房间
  37. choice /N /C:AD
  38. if errorlevel 2 goto ROOM_FRIEND_HOUSE
  39. if errorlevel 1 goto VOICE_1
  40. ) else (
  41. cls
  42. call color.bat 朋友的家#0a
  43. echo.
  44. echo 一个死去的僵尸躺在地上...
  45. echo 似乎没有什么有趣的事...
  46. pause >nul
  47. goto OUT_HOME
  48. )
  49. :ROOM_FRIEND_HOUSE
  50. cls
  51. call color.bat 房间#0a
  52. echo.
  53. echo 哦,我的天啊,真是太可怕了...
  54. echo 我的邻居好像变成了僵尸^^!^^!^^!
  55. echo 攻击我^^!^^!^^!
  56. echo.
  57. pause >nul
  58. set /a HP_EN=20
  59. set /a HP_MAX_EN=20
  60. set /a ATT_EN=1
  61. set /a DIF_EN=1
  62. set /a MAG_EN=0
  63. set /a DIF_M_EN=0
  64. set NAME_EN=僵尸
  65. set AMBIENTE=FRIEND_HOUSE
  66. set TURNO=COMBACT_1
  67. set TURNO_EN=COMBACT_1_ENEMY
  68. set /a ST_VELENO=0
  69. set /a EXP_EN=3
  70. goto COMBACT_1
  71. :VOICE_1
  72. cls.
  73. call color.bat 朋友的家#0a
  74. echo.
  75. echo 试着打电话给邻居,
  76. echo 似乎没有人回答...
  77. echo %Name%试着提高声音...
  78. echo 有奇怪的吼声... 从房间里传来...
  79. echo 发生了什么?
  80. call color.bat 是要离开 [A]#0c 还是检查 [D]#0c
  81. choice /N /C:AD
  82. if errorlevel 2 goto ROOM_FRIEND_HOUSE
  83. if errorlevel 1 goto OUT_HOME
  84. :STREET
  85. cls
  86. call color.bat 街头#0a
  87. echo.
  88. echo 你站在十字路口...
  89. echo 冷风飒飒... 乌云密布
  90. echo 一个指示牌歪歪斜斜... 指着东南西北...
  91. echo.
  92. echo 该向那儿走?
  93. call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  94. choice /N /C:WADX
  95. if errorlevel 4 goto OUT_HOME
  96. if errorlevel 3 goto STREET_E
  97. if errorlevel 2 goto STREET_O
  98. if errorlevel 1 goto STREET_N
  99. :STREET_N
  100. cls
  101. call color.bat 街头#0a
  102. echo.
  103. call color.bat [W]#0c 继续前行 [X]#0c 打道回府
  104. choice /N /C:WX
  105. if errorlevel 2 goto STREET
  106. if errorlevel 1 goto STREET_NN
  107. :STREET_NN
  108. cls
  109. call color.bat 街头#0a
  110. echo.
  111. echo 这条路似乎到此为止...
  112. echo 最好回去...
  113. pause >nul
  114. goto STREET_N
  115. :STREET_O
  116. cls
  117. call color.bat 街头#0a
  118. echo.
  119. echo %Name%看到一座尖塔...
  120. call color.bat [W]#0c 直走 [A]#0c 左转 [X]#0c 返回
  121. choice /N /C:WAX
  122. if errorlevel 3 goto STREET
  123. if errorlevel 2 goto STREET_OS
  124. if errorlevel 1 goto STREET_OO
  125. :STREET_OO
  126. cls
  127. call color.bat 街头#0a
  128. echo.
  129. call color.bat [W]#0c 直走 [X]#0c 返回
  130. choice /N /C:WX
  131. if errorlevel 2 goto STREET_O
  132. if errorlevel 1 goto STREET_OOO
  133. :STREET_OOO
  134. cls
  135. call color.bat 街头#0a
  136. echo.
  137. echo %Name%看到一座尖塔...
  138. call color.bat [W]#0c 直走 [A]#0c 向左走 [D]#0c 向右走 [X]#0c 返回
  139. choice /N /C:WADX
  140. if errorlevel 4 goto STREET_OO
  141. if errorlevel 3 goto STREET_OOON
  142. if errorlevel 2 goto STREET_OOOS
  143. if errorlevel 1 goto STREET_OOOO
  144. :STREET_OOON
  145. cls
  146. call color.bat 街头#0a
  147. echo.
  148. echo 去酒吧,也许是个好主意...
  149. echo 进去,我可以喝一杯或者...
  150. echo 也许我应该晚一点回去...
  151. echo.
  152. call color.bat [A]#0c 进去 [D]#0c 返回
  153. choice /N /C:AD
  154. if errorlevel 2 goto STREET_OOO
  155. if errorlevel 1 goto BAR_1
  156. :STREET_OOOO
  157. if %SWT_LOC_A% EQU 0 (
  158. cls
  159. call color.bat 街头#0a
  160. echo.
  161. echo 嘿,你找到3块金子了^^!
  162. set /a GOLD=%GOLD%+3
  163. pause >nul
  164. set /a SWT_LOC_A=1
  165. goto STREET_OOO
  166. )
  167. if %SWT_LOC_A% EQU 1 (
  168. cls
  169. call color.bat 街头#0a
  170. echo.
  171. echo 这里什么也没有... 这条路似乎到此为止...
  172. echo 最好回去...
  173. pause >nul
  174. goto STREET_OOO
  175. )
  176. :STREET_OOOS
  177. cls
  178. call color.bat 街头#0a
  179. echo.
  180. echo 这条路似乎到此为止...
  181.                                 echo 最好回去...
  182. pause >nul
  183. goto STREET_OOO
  184. :STREET_OS
  185. cls
  186. call color.bat 街头#0a
  187. echo.
  188. call color.bat [W]#0c 直走 [X]#0c 返回
  189. choice /N /C:WX
  190. if errorlevel 2 goto STREET_O
  191. if errorlevel 1 goto STREET_OSS
  192. :STREET_OSS
  193. cls
  194. call color.bat 街头#0a
  195. echo.
  196. echo %Name%找到了一个休息的地方,
  197. echo 这里可以恢复精力...
  198. set /a HP=%HP_MAX%
  199. pause >nul
  200. echo.
  201. call color.bat [D]#0c 向右 [X]#0c 返回
  202. choice /N /C:DX
  203. if errorlevel 2 goto STREET_OS
  204. if errorlevel 1 goto STREET_OSSO
  205. :STREET_OSSO
  206. cls
  207. call color.bat 街头#0a
  208. echo.
  209. echo %Name%遇到了一个僵尸...
  210. echo 它攻击%Name%
  211. echo.
  212. pause >nul
  213. set /a HP_EN=25
  214. set /a HP_MAX_EN=25
  215. set /a ATT_EN=1
  216. set /a DIF_EN=2
  217. set /a MAG_EN=0
  218. set /a DIF_M_EN=0
  219. set NAME_EN=僵尸
  220. set AMBIENTE=STREET_OSS
  221. set TURNO=COMBACT_1
  222. set TURNO_EN=COMBACT_1_ENEMY
  223. set /a ST_VELENO=0
  224. set /a EXP_EN=7
  225. goto COMBACT_1
  226. :STREET_E
  227. cls
  228. call color.bat 街头#0a
  229. echo.
  230. echo %Name%看到一座尖塔...
  231. call color.bat [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  232. choice /N /C:ADX
  233. if errorlevel 3 goto STREET
  234. if errorlevel 2 goto STREET_ES
  235. if errorlevel 1 goto STREET_EN
  236. :STREET_EN
  237. cls
  238. call color.bat 街头#0a
  239. echo.
  240. call color.bat [D]#0c 向右 [X]#0c 返回
  241. choice /N /C:DX
  242. if errorlevel 2 goto STREET_E
  243. if errorlevel 1 goto STREET_ENE
  244. :STREET_ENE
  245. cls
  246. call color.bat 街头#0a
  247. echo.
  248. call color.bat [W]#0c 直走 [X]#0c 返回
  249. choice /N /C:WX
  250. if errorlevel 2 goto STREET_EN
  251. if errorlevel 1 goto STREET_ENEE
  252. :STREET_ENEE
  253. cls
  254. call color.bat 街头#0a
  255. echo.
  256. echo %Name%找到了一个休息的地方,
  257. echo 这里可以恢复精力...
  258. set /a HP=%HP_MAX%
  259. pause >nul
  260. echo.
  261. call color.bat [X]#0c 返回
  262. choice /N /C:X
  263. if errorlevel 1 goto STREET_ENE
  264. :STREET_ES
  265. cls
  266. call color.bat 街头#0a
  267. echo.
  268. echo %Name%看到一座尖塔...
  269. call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  270. choice /N /C:WADX
  271. if errorlevel 4 goto STREET_E
  272. if errorlevel 3 goto STREET_ESO
  273. if errorlevel 2 goto STREET_ESE
  274. if errorlevel 1 goto STREET_ESS
  275. :STREET_ESO
  276. cls
  277. call color.bat 街头#0a
  278. echo.
  279. call color.bat [W]#0c 直走 [X]#0c 返回
复制代码

作者: HOPE2021    时间: 2021-10-4 13:19

回复 2# HOPE2021
源码第三部分:
  1. choice /N /C:WX
  2. if errorlevel 2 goto STREET_ES
  3. if errorlevel 1 goto STREET_ESOO
  4. :STREET_ESE
  5. cls
  6. call color.bat 街头#0a
  7. echo.
  8. call color.bat [W]#0c 直走 [X]#0c 返回
  9. choice /N /C:WX
  10. if errorlevel 2 goto STREET_ES
  11. if errorlevel 1 goto STREET_ESEE
  12. :STREET_ESS
  13. cls
  14. call color.bat 街头#0a
  15. echo.
  16. call color.bat [A]#0c 向左 [X]#0c 返回
  17. choice /N /C:AX
  18. if errorlevel 2 goto STREET_ES
  19. if errorlevel 1 goto STREET_ESSE
  20. :STREET_ESOO
  21. cls
  22. call color.bat 街头#0a
  23. echo.
  24. echo 这条路似乎到此为止...
  25. echo 最好回去...
  26. pause >nul
  27. goto STREET_ESO
  28. :STREET_ESEE
  29. cls
  30. call color.bat COMBATTI#0a
  31. echo.
  32. echo %Name%遇到了一个僵尸...
  33. echo 它攻击%Name%
  34. echo.
  35. pause >nul
  36. set /a HP_EN=25
  37. set /a HP_MAX_EN=25
  38. set /a ATT_EN=1
  39. set /a DIF_EN=2
  40. set /a MAG_EN=0
  41. set /a DIF_M_EN=0
  42. set NAME_EN=僵尸
  43. set AMBIENTE=STREET_ESE
  44. set TURNO=COMBACT_1
  45. set TURNO_EN=COMBACT_1_ENEMY
  46. set /a ST_VELENO=0
  47. set /a EXP_EN=7
  48. goto COMBACT_1
  49. :STREET_ESSE
  50. cls
  51. call color.bat 街头#0a
  52. echo.
  53. echo %Name%看到一座尖塔...
  54. call color.bat [W]#0c 直走 [D]#0c 向右 [X]#0c 返回
  55. choice /N /C:WDX
  56. if errorlevel 3 goto STREET_ESS
  57. if errorlevel 2 goto STREET_ESSES
  58. if errorlevel 1 goto STREET_ESSEE
  59. :STREET_ESSES
  60. cls
  61. if %STORY% LEQ 0 (
  62. call color.bat 街边-森林#0a
  63. echo.
  64. echo %Name%走进一片森林,听到远处有人声...
  65. echo 还是检查一下吧...
  66. echo.
  67. echo 那是%Name%遇见伴侣的时候...
  68. pause >nul
  69. goto BOSCO
  70. ) else (
  71. call color.bat 街边-森林#0a
  72. echo.
  73. echo %Name%已经到达一个森林的入口,想做什么?
  74. call color.bat [W]#0c 去森林 [X]#0c 返回
  75. choice /N /C:WX
  76. if errorlevel 2 goto STREET_ESSE
  77. if errorlevel 1 goto BOSCO
  78. )
  79. :STREET_ESSEE
  80. cls
  81. call color.bat 街头#0a
  82. echo.
  83. echo 这条路似乎到此为止...
  84.                 echo 最好回去...
  85. pause >nul
  86. goto STREET_ESSE
  87. :BOSCO
  88. if %STORY% LEQ 0 (
  89. cls
  90. call color.bat 森林#0a
  91. echo.
  92. echo 嘿,前面有很多僵尸...
  93. echo 这里,可能需要这个...
  94. echo 啊,但是后来我听说了一家商店...
  95. echo 在那里... 哦,可以买一些必需品...
  96. echo.
  97. echo 您已获得: 毛衣
  98. set /a EQUIP_CORPO=1
  99. set /a STORY=%STORY%+1
  100. echo.
  101. echo 乔瓦尼离开了,呆在森林的你开始做什么?
  102. echo 继续前行还是返回?
  103. call color.bat [W]#0c 继续向前 [X]#0c 返回
  104. choice /N /C:WX
  105. if errorlevel 2 goto STREET_ESSES
  106. if errorlevel 1 goto BOSCO_1
  107. ) else (
  108. cls
  109. call color.bat 森林#0a
  110. echo.
  111. echo 你在树林里干什么?
  112. echo 继续前行或返回?
  113. call color.bat [W]#0c 继续前行 [X]#0c 返回
  114. choice /N /C:WX
  115. if errorlevel 2 goto STREET_ESSES
  116. if errorlevel 1 goto BOSCO_1
  117. )
  118. :BOSCO_1
  119. set /a VAR_INC=%RANDOM% %%100
  120. if !VAR_INC! GEQ 60 (
  121. cls
  122. call color.bat 森林-战场#0a
  123. echo.
  124. echo %Name%遇到一个僵尸,它攻击%Name%...
  125. pause >nul
  126. set /a HP_EN=40
  127. set /a HP_MAX_EN=40
  128. set /a ATT_EN=4
  129. set /a DIF_EN=5
  130. set /a MAG_EN=0
  131. set /a DIF_M_EN=0
  132. set NAME_EN=僵尸1
  133. set AMBIENTE=BOSCO
  134. set TURNO=COMBACT_1
  135. set TURNO_EN=COMBACT_1_ENEMY
  136. set /a ST_VELENO=0
  137. set /a EXP_EN=10
  138. goto COMBACT_1
  139. ) else (
  140. cls
  141. call color.bat 森林#0a
  142. echo.
  143. echo 没有动静... 什么都没有吗?
  144. call color.bat [S]#0c 是的 [N]#0c 不是
  145. choice /N /C:SN
  146. if errorlevel 2 goto BOSCO
  147. if errorlevel 1 goto END
  148. )
  149. if !VAR_INC! GEQ 83 (
  150. cls
  151. call color.bat 森林-战场#0a
  152. echo.
  153. echo %Name%遇到两个僵尸,他们攻击%Name%^^!^^!^^!
  154. pause >nul
  155. set /a HP_EN=40
  156. set /a HP_MAX_EN=40
  157. set /a ATT_EN=4
  158. set /a DIF_EN=5
  159. set /a MAG_EN=0
  160. set /a DIF_M_EN=0
  161. set /a HP_EN_2=20
  162. set /a HP_MAX_EN_2=20
  163. set /a ATT_EN_2=3
  164. set /a DIF_EN_2=3
  165. set /a MAG_EN_2=0
  166. set /a DIF_M_EN_2=0
  167. set NAME_EN=僵尸1
  168. set NAME_EN_2=僵尸2
  169. set AMBIENTE=BOSCO
  170. set TURNO=COMBACT_2
  171. set TURNO_EN=COMBACT_2_ENEMY_NO1
  172. set /a MID_COMBACT=0
  173. set /a ST_VELENO=0
  174. set /a EXP_EN=10
  175. goto COMBACT_2
  176. ) else (
  177. cls
  178. call color.bat 森林#0a
  179. echo.
  180. echo 好像什么动静都没有... 但这是真的吗?
  181. call color.bat [S]#0c 是的 [N]#0c 不是
  182. choice /N /C:SN
  183. if errorlevel 2 goto BOSCO
  184. if errorlevel 1 goto END
  185. )
  186. :BAR_1
  187. set AMBIENTE=BAR_1
  188. cls
  189. :S_BAR_DOMANDA
  190. call color.bat 酒吧#0a
  191. echo.
  192. echo ---==^> 归 %GOLD% 块金子的人所有 ^<==---
  193. echo.
  194. echo 欢迎来到这里最特别的酒吧,哈哈 ^^!^^!^^!
  195. echo 是啊... 你偶尔也会笑,这对你有好处...
  196. echo 回到我们这里,你想要什么?
  197. echo 如果你不知道该带什么,你可以写"Chiedi"来问我
  198. :S_BAR_DOMANDA_1
  199. echo.
  200. echo 你的愿望是什么?
  201. set /p DOMANDA=
  202. if /i DEFINED DOMANDA (
  203. goto S_BAR_MENU
  204. ) else (
  205. echo.
  206.                 echo 我不明白... 试着键入"Chiedi"
  207. pause >nul
  208. cls
  209. goto S_BAR_DOMANDA
  210. )
  211. :S_BAR_MENU
  212. if /i %DOMANDA%==Chiedi (
  213. cls
  214. call color.bat BAR#0a
  215. echo.
  216. echo 菜单:
  217. echo.
  218. echo    - BEVI    -^> 查看鸡尾酒菜单.
  219. echo    - MANGIA  -^> 查看甜品菜单.
  220. echo    - SALVA   -^> 保存游戏进度.
  221. echo    - ESCI    -^> 离开酒吧.
  222. goto S_BAR_DOMANDA_1
  223. )
  224. :MENU_BEVI
  225. if /i %DOMANDA%==Bevi (
  226. cls
  227. call color.bat 菜单#0a
  228. echo.
  229. echo 菜单:
  230. echo.
  231. echo.    酒品        价格^(G块金子^)
  232. echo.  ------====^>^>^> ^<^<^<====------
  233. echo   - Campari              ^(3G^)
  234. echo   - Aperol               ^(4G^)
  235. echo   - Niente
  236. echo.
  237. echo 你的愿望是什么[ 键入 Campari 或 Aperol 即可买酒 , 键入 Niente 即可返回 ]?
  238. set /p BEVI=
  239. goto BEVI
  240. )
  241. if /i %DOMANDA%==Mangia (
  242. cls
  243. call color.bat 菜单#0a
  244. echo.
  245. echo 菜单:
  246. echo.
  247. echo.    甜品        价格^(G块金子^)
  248. echo.  ------====^>^>^> ^<^<^<====------
  249. echo   - Struffoli            ^(3G^)
  250. echo   - Cassata              ^(4G^)
  251. echo   - Tiramisu             ^(5G^)
  252. echo   - Niente
  253. echo.
  254. echo 你的愿望是什么[ 键入 Struffoli / Cassata / Tiramisu 即可购买甜品 , 键入 Niente 即可返回 ]?
  255. set /p MANGIA=
  256. goto MANGIA
  257. )
  258. if /i %DOMANDA%==Salva (
  259. echo.
  260. goto SAVE
  261. )
  262. if /i %DOMANDA%==Esci (
  263. echo.
  264. echo %Name%离开了酒吧.
  265. pause >nul
  266. cls
  267. goto STREET_OOON
  268. )
  269. echo.
  270. echo 我不明白... 试着键入"Chiedi"
  271. pause >nul
  272. cls
  273. goto S_BAR_DOMANDA
  274. :BEVI
  275. if /i %BEVI%==Campari (
  276. if %GOLD% GEQ 3 (
  277. echo 这是你的 !BEVI! 和气泡酒
  278. echo 你想要更多吗?
  279. pause >nul
  280. set /a GOLD=%GOLD%-3
  281. goto S_BAR_MENU
  282. ) else (
  283. echo 你没有金子...
  284. echo 你想要更多吗?
  285. pause >nul
  286. goto S_BAR_MENU
复制代码

作者: HOPE2021    时间: 2021-10-4 13:20

回复 3# HOPE2021
源码第五部分:
  1. )
  2. )
  3. if /i %BEVI%==Aperol (
  4. if %GOLD% GEQ 4 (
  5. echo 这是你的Spritz鸡尾酒... 祝你享受威尼斯的夕阳...
  6. echo 你想要更多吗?
  7. pause >nul
  8. set /a GOLD=%GOLD%-4
  9. goto S_BAR_MENU
  10. ) else (
  11. echo 你没有金子...
  12. echo 你想要更多吗?
  13. pause >nul
  14. goto S_BAR_MENU
  15. )
  16. )
  17. if /i %BEVI%==Niente (
  18. echo 好的
  19. pause >nul
  20. cls
  21. goto S_BAR_DOMANDA
  22. )
  23. echo.
  24. echo 我不明白... 试着键入"Chiedi"
  25. pause >nul
  26. goto MENU_BEVI
  27. :MANGIA
  28. if /i %MANGIA%==Struffoli (
  29. if %GOLD% GEQ 3 (
  30. echo 这是你的蜂蜜糖球...
  31. echo 你想要更多吗?
  32. pause >nul
  33. set /a GOLD=%GOLD%-3
  34. goto S_BAR_MENU
  35. ) else (
  36. echo 你没有金子...
  37. echo 你想要更多吗?
  38. pause >nul
  39. goto S_BAR_MENU
  40. )
  41. )
  42. if /i %MANGIA%==Aperol (
  43. if %GOLD% GEQ 4 (
  44. echo 这是你的卡萨塔... 祝你享受西西里的快乐...
  45. echo 你想要更多吗?
  46. pause >nul
  47. set /a GOLD=%GOLD%-4
  48. goto S_BAR_MENU
  49. ) else (
  50. echo 你没有金子...
  51. echo 你想要更多吗?
  52. pause >nul
  53. goto S_BAR_MENU
  54. )
  55. )
  56. if /i %MANGIA%==Aperol (
  57. if %GOLD% GEQ 5 (
  58. echo 这是你的提拉米苏... 祝你享受意大利的美味...
  59. echo 你想要更多吗?
  60. pause >nul
  61. set /a GOLD=%GOLD%-5
  62. goto S_BAR_MENU
  63. ) else (
  64. echo 你没有金子...
  65. echo 你想要更多吗?
  66. pause >nul
  67. goto S_BAR_MENU
  68. )
  69. )
  70. if /i %MANGIA%==Niente (
  71. echo 好的
  72. pause >nul
  73. cls
  74. goto S_BAR_DOMANDA
  75. )
  76. echo.
  77. echo 我不明白... 试着键入"Chiedi"
  78. pause >nul
  79. goto MENU_BEVI
  80. :MENU_MAGIE
  81. if %MAGIE% EQU 1 (
  82. echo.
  83. echo [火之激情] - 1
  84. echo [魔法栏空]
  85. echo [魔法栏空]
  86. echo [魔法栏空]
  87. echo [魔法栏空]
  88. echo [魔法栏空]
  89. echo [继续战斗] - Q
  90. echo.
  91. choice /N /C:1Q /M "你想用什么魔法?: "
  92. if errorlevel 2 goto %TURNO%
  93. if errorlevel 1 goto ER_1
  94. )
  95. if %MAGIE% EQU 2 (
  96. echo.
  97. echo [火之激情] - 1
  98. echo [冰之冷酷] - 2
  99. echo [魔法栏空]
  100. echo [魔法栏空]
  101. echo [魔法栏空]
  102. echo [魔法栏空]
  103. echo [继续战斗] - Q
  104. echo.
  105. choice /N /C:12Q /M "你想用什么魔法?: "
  106. if errorlevel 3 goto %TURNO%
  107. if errorlevel 2 goto ER_2
  108. if errorlevel 1 goto ER_1
  109. )
  110. if %MAGIE% EQU 3 (
  111. echo.
  112. echo [火之激情] - 1
  113. echo [冰之冷酷] - 2
  114. echo [全力以赴] - 3
  115. echo [魔法栏空]
  116. echo [魔法栏空]
  117. echo [魔法栏空]
  118. echo [继续战斗] - Q
  119. echo.
  120. choice /N /C:123Q /M "你想用什么魔法?: "
  121. if errorlevel 4 goto %TURNO%
  122. if errorlevel 3 goto ER_3
  123. if errorlevel 2 goto ER_2
  124. if errorlevel 1 goto ER_1
  125. )
  126. if %MAGIE% EQU 4 (
  127. echo.
  128. echo [火之激情] - 1
  129. echo [冰之冷酷] - 2
  130. echo [全力以赴] - 3
  131. echo [水之力量] - 4
  132. echo [魔法栏空]
  133. echo [魔法栏空]
  134. echo [继续战斗] - Q
  135. echo.
  136. choice /N /C:1234Q /M "你想用什么魔法?: "
  137. if errorlevel 5 goto %TURNO%
  138. if errorlevel 4 goto ER_4
  139. if errorlevel 3 goto ER_3
  140. if errorlevel 2 goto ER_2
  141. if errorlevel 1 goto ER_1
  142. )
  143. if %MAGIE% EQU 5 (
  144. echo.
  145. echo [火之激情] - 1
  146. echo [冰之冷酷] - 2
  147. echo [全力以赴] - 3
  148. echo [水之力量] - 4
  149. echo [电闪雷鸣] - 5
  150. echo [魔法栏空]
  151. echo [继续战斗] - Q
  152. echo.
  153. choice /N /C:12345Q /M "你想用什么魔法?: "
  154. if errorlevel 6 goto %TURNO%
  155. if errorlevel 5 goto ER_5
  156. if errorlevel 4 goto ER_4
  157. if errorlevel 3 goto ER_3
  158. if errorlevel 2 goto ER_2
  159. if errorlevel 1 goto ER_1
  160. )
  161. if %MAGIE% EQU 6 (
  162. echo.
  163. echo [火之激情] - 1
  164. echo [冰之冷酷] - 2
  165. echo [全力以赴] - 3
  166. echo [水之力量] - 4
  167. echo [电闪雷鸣] - 5
  168. echo [妙手回春] - 6
  169. echo [继续战斗] - Q
  170. echo.
  171. choice /N /C:123456Q /M "你想用什么魔法?: "
  172. if errorlevel 7 goto %TURNO%
  173. if errorlevel 6 goto ER_6
  174. if errorlevel 5 goto ER_5
  175. if errorlevel 4 goto ER_4
  176. if errorlevel 3 goto ER_3
  177. if errorlevel 2 goto ER_2
  178. if errorlevel 1 goto ER_1
  179. )
  180. :ER_1
  181. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  182. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  183. echo %Name%使用了火之激情, 攻击力: %DAMAGE_M%
  184. if %HP_EN% LEQ 0 (
  185. echo %NAME_EN% 已死亡.
  186. set /a END_COMBACT=1
  187. pause >nul
  188. goto CALCOLO_EXP
  189. )
  190. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  191. echo %NAME_EN% 已死亡.
  192. set /a END_COMBACT=1
  193. pause >nul
  194. goto CALCOLO_EXP
  195. ) else (
  196. pause >nul
  197. goto %TURNO_EN%
  198. )
  199. :ER_2
  200. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  201. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  202. echo %Name%使用了冰之冷酷, 攻击力: %DAMAGE_M%
  203. if %HP_EN% LEQ 0 (
  204. echo %NAME_EN% 已死亡.
  205. set /a END_COMBACT=1
  206. pause >nul
  207. goto CALCOLO_EXP
  208. )
  209. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  210. echo %NAME_EN% 已死亡.
  211. set /a END_COMBACT=1
  212. pause >nul
  213. goto CALCOLO_EXP
  214. ) else (
  215. pause >nul
  216. goto %TURNO_EN%
  217. )
  218. :ER_3
  219. set /a HP_RESTORED=%HP%+(%VAR_MAG%+%MAG%)
  220. if HP_RESTORED GEQ %HP_MAX% (
  221. set /a HP=%HP_MAX%
  222. echo %Name%已经全部恢复...
  223. pause >nul
  224. goto %TURNO_EN%
  225. ) else (
  226. set /a HP=%HP_RESTORED%
  227. echo %Name%恢复: %HP_RESTORED% HP
  228. pause >nul
  229. goto %TURNO_EN%
  230. )
  231. :ER_4
  232. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  233. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  234. echo %Name%使用了水之力量, 攻击力: %DAMAGE_M%
  235. if %HP_EN% LEQ 0 (
  236. echo %NAME_EN% 已死亡.
  237. set /a END_COMBACT=1
  238. pause >nul
  239. goto CALCOLO_EXP
  240. )
  241. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  242. echo %NAME_EN% 已死亡.
  243. set /a END_COMBACT=1
  244. pause >nul
  245. goto CALCOLO_EXP
  246. ) else (
  247. pause >nul
  248. goto %TURNO_EN%
  249. )
  250. :ER_5
  251. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  252. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  253. echo %Name%使用了电闪雷鸣, 攻击力: %DAMAGE_M%
  254. if %HP_EN% LEQ 0 (
  255. echo %NAME_EN% 已死亡.
  256. set /a END_COMBACT=1
  257. pause >nul
  258. goto CALCOLO_EXP
  259. )
  260. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  261. echo %NAME_EN% 已死亡.
  262. set /a END_COMBACT=1
  263. pause >nul
  264. goto CALCOLO_EXP
  265. ) else (
  266. pause >nul
  267. goto %TURNO_EN%
  268. )
  269. :ER_6
  270. if %ST_VELENO% EQU 1 (
  271. echo 使用妙手回春,你不再中毒了.
  272. set /a ST_VELENO=0
  273. pause >nul
  274. goto %TURNO_EN%
  275. ) else (
  276. echo %Name%无法使用妙手回春..
  277. pause >nul
  278. goto %TURNO_EN%
  279. )
  280. :CALCOLO_EXP
  281. set /a EXP=%EXP%+%EXP_EN%
  282. echo 你赢了: 获得 %EXP_EN% EXP
  283. pause >nul
  284. if %LV% EQU 1 if %EXP% GEQ 10 (
  285. echo.
  286. echo 你的经验足够了...
  287. echo 升到第 2 级...
  288. pause >nul
  289. set /a ATT=%ATT%+3
  290. set /a DIF=%DIF%+2
  291. set /a MAG=%MAG%+0
  292. set /a DIF_M=%DIF_M%+1
  293. set /a HP_MAX=%HP_MAX%+15
  294. set /a HP=%HP_MAX%+15
  295. set /a MAGIE=1
  296. set /a LV=2
  297. goto SAVE
  298. ) else (
  299. goto SAVE
  300. )
  301. if %LV% LEQ 2 if %EXP% GEQ 30 (
复制代码

作者: HOPE2021    时间: 2021-10-4 13:20

回复 4# HOPE2021
源码第六部分:
  1. echo.
  2. echo 你的经验足够了...
  3. echo 升到第 3 级...
  4. pause >nul
  5. set /a ATT=%ATT%+1
  6. set /a DIF=%DIF%+1
  7. set /a MAG=%MAG%+2
  8. set /a DIF_M=%DIF_M%+1
  9. set /a HP_MAX=%HP_MAX%+20
  10. set /a HP=%HP_MAX%+20
  11. set /a MAGIE=2
  12. set /a LV=3
  13. goto SAVE
  14. ) else (
  15. goto SAVE
  16. )
  17. if %LV% LEQ 3 if %EXP% GEQ 50 (
  18. echo.
  19. echo 你的经验足够了...
  20. echo 升到第 4 级...
  21. pause >nul
  22. set /a ATT=%ATT%+3
  23. set /a DIF=%DIF%+2
  24. set /a MAG=%MAG%+1
  25. set /a DIF_M=%DIF_M%+2
  26. set /a HP_MAX=%HP_MAX%+30
  27. set /a HP=%HP_MAX%+30
  28. set /a MAGIE=3
  29. set /a LV=4
  30. goto SAVE
  31. ) else (
  32. goto SAVE
  33. )
  34. if %LV% LEQ 4 if %EXP% GEQ 80 (
  35. echo.
  36. echo 你的经验足够了...
  37. echo 升到第 5 级...
  38. pause >nul
  39. set /a ATT=%ATT%+1
  40. set /a DIF=%DIF%+3
  41. set /a MAG=%MAG%+3
  42. set /a DIF_M=%DIF_M%+1
  43. set /a HP_MAX=%HP_MAX%+34
  44. set /a HP=%HP_MAX%+34
  45. set /a MAGIE=4
  46. set /a LV=5
  47. goto SAVE
  48. ) else (
  49. goto SAVE
  50. )
  51. if %LV% LEQ 5 if %EXP% GEQ 115 (
  52. echo.
  53. echo 你的经验足够了...
  54. echo 升到第 6 级...
  55. pause >nul
  56. set /a ATT=%ATT%+2
  57. set /a DIF=%DIF%+2
  58. set /a MAG=%MAG%+2
  59. set /a DIF_M=%DIF_M%+2
  60. set /a HP_MAX=%HP_MAX%+38
  61. set /a HP=%HP_MAX%+38
  62. set /a MAGIE=5
  63. set /a LV=6
  64. goto SAVE
  65. ) else (
  66. goto SAVE
  67. )
  68. if %LV% LEQ 6 if %EXP% GEQ 150 (
  69. echo.
  70. echo 你的经验足够了...
  71. echo 升到第 7 级...
  72. pause >nul
  73. set /a ATT=%ATT%+3
  74. set /a DIF=%DIF%+4
  75. set /a MAG=%MAG%+3
  76. set /a DIF_M=%DIF_M%+4
  77. set /a HP_MAX=%HP_MAX%+45
  78. set /a HP=%HP_MAX%+45
  79. set /a MAGIE=6
  80. set /a LV=7
  81. goto SAVE
  82. ) else (
  83. goto SAVE
  84. )
  85. :ATTACCA
  86. set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
  87. if %COMBACT% EQU 1 (
  88. set /a HP_EN=%HP_EN%-%DAMAGE%
  89. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  90. if !HP_EN! LEQ 0 (
  91. echo %NAME_EN% 已死亡...
  92. set /a END_COMBACT=1
  93. pause >nul
  94. goto CALCOLO_EXP
  95. )
  96. if !DAMAGE! GEQ %HP_MAX_EN% (
  97. echo %NAME_EN% 已死亡...
  98. set /a END_COMBACT=1
  99. pause >nul
  100. goto CALCOLO_EXP
  101. ) else (
  102. pause >nul
  103. goto %TURNO_EN%
  104. )
  105. )
  106. if %COMBACT% EQU 2 (
  107. if %MID_COMBACT% EQU 0 (
  108. if %TAG% EQU 1 (
  109. set /a HP_EN=%HP_EN%-%DAMAGE%
  110. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  111. if !HP_EN! LEQ 0 (
  112. echo %NAME_EN% 已死亡...
  113. set /a MID_COMBACT=1
  114. pause >nul
  115. goto COMBACT_2_ENEMY_NO2
  116. )
  117. if !DAMAGE! GEQ %HP_MAX_EN% (
  118. echo %NAME_EN% 已死亡...
  119. set /a MID_COMBACT=1
  120. pause >nul
  121. goto COMBACT_2_ENEMY_NO2
  122. ) else (
  123. pause >nul
  124. goto COMBACT_2_ENEMY_NO1
  125. )
  126. )
  127. if %TAG% EQU 2 (
  128. set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  129. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  130. if !HP_EN_2! LEQ 0 (
  131. echo %NAME_EN_2% 已死亡...
  132. set /a MID_COMBACT=2
  133. pause >nul
  134. goto COMBACT_2_ENEMY_NO1
  135. )
  136. if !DAMAGE! GEQ %HP_MAX_EN_2% (
  137. echo %NAME_EN_2% 已死亡...
  138. set /a MID_COMBACT=2
  139. pause >nul
  140. goto COMBACT_2_ENEMY_NO1
  141. ) else (
  142. pause >nul
  143. goto COMBACT_2_ENEMY_NO1
  144. )
  145. )
  146. )
  147. if %MID_COMBACT% EQU 1 (
  148. set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  149. echo %Name% 攻击了 %NAME_EN_2%, 攻击力: %DAMAGE%
  150. if !HP_EN_2! LEQ 0 (
  151. echo %NAME_EN_2% 已死亡...
  152. set /a END_COMBACT=1
  153. pause >nul
  154. goto CALCOLO_EXP
  155. )
  156. if !DAMAGE! GEQ %HP_MAX_EN_2% (
  157. echo %NAME_EN_2% 已死亡...
  158. set /a END_COMBACT=1
  159. pause >nul
  160. goto CALCOLO_EXP
  161. ) else (
  162. pause >nul
  163. goto COMBACT_2_ENEMY_NO2
  164. )
  165. )
  166. if %MID_COMBACT% EQU 2 (
  167. set /a HP_EN=%HP_EN%-%DAMAGE%
  168. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  169. if !HP_EN! LEQ 0 (
  170. echo %NAME_EN% 已死亡...
  171. set /a END_COMBACT=1
  172. pause >nul
  173. goto CALCOLO_EXP
  174. )
  175. if !DAMAGE! GEQ %HP_MAX_EN% (
  176. echo %NAME_EN% 已死亡...
  177. set /a END_COMBACT=1
  178. pause >nul
  179. goto CALCOLO_EXP
  180. ) else (
  181. pause >nul
  182. goto COMBACT_2_ENEMY_NO1
  183. )
  184. )
  185. )
  186. :COMBACT_1
  187. set /a FUGA=%RANDOM% %%100
  188. set /a VAR_ATT=%RANDOM% %%5
  189. set /a VAR_MAG=%RANDOM% %%5
  190. set /a ST_DEF=0
  191. set /a COMBACT=1
  192. cls
  193. call color.bat 轮到你了#0a
  194. echo.
  195. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  196. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  197. echo.
  198. if %HP% LEQ 0 (
  199. echo.
  200. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  201. pause >nul
  202. goto END
  203. )
  204. if %HP_EN% LEQ 0 (
  205. echo %NAME_EN% 已死亡...
  206. set /a END_COMBACT=1
  207. pause >nul
  208. goto CALCOLO_EXP
  209. ) else (
  210. choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"
  211. if errorlevel 4 (
  212. echo 逃跑...
  213. if %FUGA% GEQ 50 (
  214. echo %Name%设法逃走了...
  215. pause >nul
  216. goto %AMBIENTE%
  217. ) else (
  218. echo %Name%无法逃走...
  219. pause >nul
  220. goto %TURNO_EN%
  221. )
  222. )
  223. if errorlevel 3 (
  224. if %MAGIE% EQU 0 (
  225. echo %Name%没有任何魔法... 做无用功...
  226. pause >nul
  227. goto %TURNO%
  228. )
  229. if %MAGIE% GEQ 1 goto MENU_MAGIE
  230. )
  231. if errorlevel 2 (
  232. echo 防御^^!我挡^^!^^!^^!
  233. set /a ST_DEF=1
  234. pause >nul
  235. goto %TURNO_EN%
  236. )
  237. if errorlevel 1 goto ATTACCA
  238. )
  239. :COMBACT_1_ENEMY
  240. set /a VELENO=%RANDOM% %%100
  241. set /a VAR_DAMAGE=%RANDOM% %%4
  242. if %ST_DEF% EQU 0 (
  243. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  244. ) else (
  245. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  246. )
  247. if %DAMAGE_EN% LEQ 0 (
  248. set /a DAMAGE_EN=0
  249. )
  250. cls
  251. call color.bat %NAME_EN%#0a 回合#0a
  252. echo.
  253. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  254. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  255. echo.
  256. echo %NAME_EN%攻击了%Name%...
  257. echo 攻击力: %DAMAGE_EN%
  258. set /a HP=%HP%-%DAMAGE_EN%
  259. if %HP_EN% LEQ 0 (
  260. echo %NAME_EN% 已死亡...
  261. set /a END_COMBACT=1
  262. pause >nul
  263. goto CALCOLO_EXP
  264. )
  265. if %HP% LEQ 0 (
  266. echo.
  267. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  268. pause >nul
  269. goto END
  270. )
  271. if %DAMAGE_EN% GEQ %HP_MAX% (
  272. echo.
  273. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  274. pause >nul
  275. goto END
  276. ) else (
  277. if %ST_VELENO% EQU 0 (
  278. if %VELENO% GEQ 75 (
  279. echo.
  280. echo %Name%中毒了...
  281. echo 损失: %HP_LOSE% HP
  282. set /a HP=%HP%-3
  283. set /a ST_VELENO=1
  284. if %HP% LEQ 0 (
  285. echo.
  286. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  287. pause >nul
  288. goto END
  289. ) else (
  290. pause >nul
  291. goto %TURNO%
  292. )
  293. ) else (
  294. pause >nul
  295. goto %TURNO%
  296. )
  297. ) else (
  298. echo 损失: %HP_LOSE% HP
  299. set /a HP=%HP%-3
  300. if %HP% LEQ 0 (
  301. echo.
  302. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  303. pause >nul
  304. goto END
  305. ) else (
  306. pause >nul
  307. goto %TURNO%
  308. )
  309. )
  310. )
复制代码

作者: HOPE2021    时间: 2021-10-4 13:21

回复 5# HOPE2021
源码第七部分:
  1. :COMBACT_2
  2. set /a FUGA=%RANDOM% %%100
  3. set /a VAR_ATT=%RANDOM% %%5
  4. set /a VAR_MAG=%RANDOM% %%5
  5. set /a ST_DEF=0
  6. set /a COMBACT=2
  7. if %MID_COMBACT% EQU 0 (
  8. set TURNO_EN=COMBACT_2_ENEMY_NO1
  9. )
  10. if %MID_COMBACT% EQU 1 (
  11. set TURNO_EN=COMBACT_2_ENEMY_NO2
  12. )
  13. if %MID_COMBACT% EQU 2 (
  14. set TURNO_EN=COMBACT_2_ENEMY_NO1
  15. )
  16. cls
  17. call color.bat 轮到你了#0a
  18. echo.
  19. if %MID_COMBACT% EQU 0 (
  20. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  21. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  22. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  23. echo.
  24. )
  25. if %MID_COMBACT% EQU 1 (
  26. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  27. echo "%NAME_EN% -> Morto.
  28. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  29. echo.
  30. )
  31. if %MID_COMBACT% EQU 2 (
  32. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  33. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  34. echo "%NAME_EN_2% -> Morto.
  35. echo.
  36. )
  37. if %HP% LEQ 0 (
  38. echo.
  39. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  40. pause >nul
  41. goto END
  42. )
  43. if %HP_EN% LEQ 0 if %HP_EN_2% LEQ 0 (
  44. echo 僵尸死了...你看着,感到莫名的恶心...
  45. set /a END_COMBACT=1
  46. pause >nul
  47. goto CALCOLO_EXP
  48. )
  49. if %MID_COMBACT% EQU 0 (
  50. choice /N /C:12 /M "攻击谁? [1] %NAME_EN%, [2] %NAME_EN_2%"
  51. if errorlevel 2 (
  52. set /a TAG=2
  53. goto FINE_TARGET
  54. )
  55. if errorlevel 1 (
  56. set /a TAG=1
  57. goto FINE_TARGET
  58. )
  59. )
  60. if %MID_COMBACT% EQU 1 (
  61. set /a TAG=2
  62. )
  63. if %MID_COMBACT% EQU 2 (
  64. set /a TAG=1
  65. )
  66. :FINE_TARGET
  67. echo.
  68. choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"
  69. if errorlevel 4 (
  70. echo Tenti la fugga
  71. if %FUGA% GEQ 50 (
  72. echo %Name%设法逃走了...
  73. pause >nul
  74. goto %AMBIENTE%
  75. ) else (
  76. echo %Name%无法逃走...
  77. pause >nul
  78. goto %TURNO_EN%
  79. )
  80. )
  81. if errorlevel 3 (
  82. if %MAGIE% EQU 0 (
  83. echo %Name%没有任何魔法... 做无用功...
  84. pause >nul
  85. goto %TURNO%
  86. )
  87. if %MAGIE% GEQ 1 goto MENU_MAGIE
  88. )
  89. if errorlevel 2 (
  90. echo 防御^^!我挡^^!^^!^^!
  91. set /a ST_DEF=1
  92. pause >nul
  93. goto %TURNO_EN%
  94. )
  95. if errorlevel 1 goto ATTACCA
  96. :COMBACT_2_ENEMY_NO1
  97. set /a VELENO=%RANDOM% %%100
  98. set /a VAR_DAMAGE=%RANDOM% %%4
  99. if %ST_DEF% EQU 0 (
  100. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  101. ) else (
  102. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  103. )
  104. if %DAMAGE_EN% LEQ 0 (
  105. set /a DAMAGE_EN=0
  106. )
  107. if %MID_COMBACT% EQU 2 (
  108. cls
  109. call color.bat %NAME_EN%#0a 回合#0a
  110. echo.
  111. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  112. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  113. echo "%NAME_EN_2% -> Morto.
  114. echo.
  115. ) else (
  116. cls
  117. call color.bat %NAME_EN%#0a 回合#0a
  118. echo.
  119. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  120. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  121. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  122. echo.
  123. )
  124. echo %NAME_EN%攻击了%Name%...
  125. echo 攻击力: %DAMAGE_EN%
  126. set /a HP=%HP%-%DAMAGE_EN%
  127. if %MID_COMBACT% EQU 0 (
  128. if %HP_EN% LEQ 0 (
  129. echo %NAME_EN% 已死亡...
  130. set /a MID_COMBACT=1
  131. pause >nul
  132. goto COMBACT_2_ENEMY_NO2
  133. )
  134. )
  135. if %MID_COMBACT% EQU 2 (
  136. if %HP_EN% LEQ 0 (
  137. echo %NAME_EN% 已死亡...
  138. set /a END_COMBACT=1
  139. pause >nul
  140. goto CALCOLO_EXP
  141. )
  142. )
  143. if %HP% LEQ 0 (
  144. echo.
  145. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  146. pause >nul
  147. goto END
  148. )
  149. if %DAMAGE_EN% GEQ %HP_MAX% (
  150. echo.
  151. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  152. pause >nul
  153. goto END
  154. ) else (
  155. if %ST_VELENO% EQU 0 (
  156. if %VELENO% GEQ 75 (
  157. echo.
  158. echo %Name%中毒了...
  159. echo 损失: %HP_LOSE% HP
  160. set /a HP=%HP%-3
  161. set /a ST_VELENO=1
  162. if %HP% LEQ 0 (
  163. echo.
  164. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  165. pause >nul
  166. goto END
  167. ) else (
  168. pause >nul
  169. if %MID_COMBACT% EQU 0 (
  170. goto COMBACT_2_ENEMY_NO2
  171. ) else (
  172. goto %TURNO%
  173. )
  174. )
  175. ) else (
  176. pause >nul
  177. if %MID_COMBACT% EQU 0 (
  178. goto COMBACT_2_ENEMY_NO2
  179. ) else (
  180. goto %TURNO%
  181. )
  182. )
  183. ) else (
  184. echo 损失: %HP_LOSE% HP
  185. set /a HP=%HP%-3
  186. if %HP% LEQ 0 (
  187. echo.
  188. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  189. pause >nul
  190. goto END
  191. ) else (
  192. pause >nul
  193. if %MID_COMBACT% EQU 0 (
  194. goto COMBACT_2_ENEMY_NO2
  195. ) else (
  196. goto %TURNO%
  197. )
  198. )
  199. )
  200. )
  201. :COMBACT_2_ENEMY_NO2
  202. set /a VELENO=%RANDOM% %%100
  203. set /a VAR_DAMAGE=%RANDOM% %%4
  204. if %ST_DEF% EQU 0 (
  205. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  206. ) else (
  207. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  208. )
  209. if %DAMAGE_EN% LEQ 0 (
  210. set /a DAMAGE_EN=0
  211. )
  212. if %MID_COMBACT% EQU 1 (
  213. cls
  214. call color.bat %NAME_EN_2%#0a 回合#0a
  215. echo.
  216. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  217. echo "%NAME_EN% -> Morto.
  218. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  219. echo.
  220. ) else (
  221. cls
  222. call color.bat TURNO#0a %NAME_EN_2%#0a
  223. echo.
  224. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  225. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  226. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  227. echo.
  228. )
  229. echo %NAME_EN_2%攻击了%Name%...
  230. echo 攻击力: %DAMAGE_EN%
  231. set /a HP=%HP%-%DAMAGE_EN%
  232. if %MID_COMBACT% EQU 0 (
  233. if %HP_EN_2% LEQ 0 (
  234. echo %NAME_EN_2%已死亡...
  235. set /a MID_COMBACT=2
  236. pause >nul
  237. goto COMBACT_2_ENEMY_NO1
  238. )
  239. )
  240. if %MID_COMBACT% EQU 1 (
  241. if %HP_EN_2% LEQ 0 (
  242. echo %NAME_EN_2%已死亡...
  243. set /a END_COMBACT=1
  244. pause >nul
  245. goto CALCOLO_EXP
  246. )
  247. )
  248. if %HP% LEQ 0 (
  249. echo.
  250. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  251. pause >nul
  252. goto END
  253. )
  254. if %DAMAGE_EN% GEQ %HP_MAX% (
  255. echo.
  256. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  257. pause >nul
  258. goto END
  259. ) else (
  260. if %ST_VELENO% EQU 0 (
  261. if %VELENO% GEQ 75 (
  262. echo.
  263. echo %Name%中毒了...
  264. echo 损失: %HP_LOSE% HP
  265. set /a HP=%HP%-3
  266. set /a ST_VELENO=1
  267. if %HP% LEQ 0 (
  268. echo.
  269. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  270. pause >nul
  271. goto END
  272. ) else (
  273. pause >nul
  274. goto %TURNO%
  275. )
  276. ) else (
  277. pause >nul
  278. goto %TURNO%
  279. )
  280. ) else (
  281. echo 损失: %HP_LOSE% HP
  282. set /a HP=%HP%-3
  283. if %HP% LEQ 0 (
  284. echo.
  285. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  286. pause >nul
  287. goto END
  288. ) else (
  289. pause >nul
  290. goto %TURNO%
  291. )
  292. )
  293. )
  294. :END
  295. echo Game Over...
  296. pause >nul
  297. exit
复制代码

作者: HOPE2021    时间: 2021-11-6 11:20

新版本!
更新了!
让老版本的Cmd也能拥有Windows10的色调和感觉!
下一楼放代码!
作者: HOPE2021    时间: 2021-11-6 11:21

新版本源码第一部分(颜色更改的关键!)
  1. @echo off
  2. Rem 来自https://www.dostips.com/forum/viewtopic.php?f=3&t=9848&p=63348
  3. Rem 作者Lauri
  4. chcp 936 > nul
  5. title 劳里的幻想世界
  6. color 03
  7. echo.
  8. echo.正在加载图形引擎...
  9. If "%1"=="" (
  10.   for %%a in (  QuickEdit:00000000
  11.                 CodePage:000003a8
  12.                 ColorTable00:000c0c0c
  13.                 ColorTable01:00da3700
  14.                 ColorTable02:000ea113
  15.                 ColorTable03:00dd963a
  16.                 ColorTable04:001f0fc5
  17.                 ColorTable05:00981788
  18.                 ColorTable06:00009cc1
  19.                 ColorTable07:00cccccc
  20.                 ColorTable08:00767676
  21.                 ColorTable09:00ff783b
  22.                 ColorTable10:000cc616
  23.                 ColorTable11:00d6d661
  24.                 ColorTable12:005648e7
  25.                 ColorTable13:009e00b4
  26.                 ColorTable14:00a5f1f9
  27.                 ColorTable15:00f2f2f2
  28.   ) do For /F "tokens=1,2 delims=:" %%b in ("%%a") do (
  29.     >nul Reg add HKCU\Console\DosBatch_Lauri_Fantasy /v %%b /t reg_dword /d 0x%%c /f
  30.   )
  31.   Start "DosBatch_Lauri_Fantasy" "%ComSpec%" /c "%~s0" 1&Goto:eof
  32. ) Else ( >nul reg delete HKCU\Console\DosBatch_Lauri_Fantasy /f )
  33. @goto INSTALL_COLOR
  34. :INSTALL_COLOR
  35. (
  36. echo.@echo off
  37. echo.chcp 936 ^> nul
  38. echo.Setlocal EnableDelayedExpansion
  39. echo.REM setlocal enableextensions
  40. echo.set dstdir=C:\tmpColorDirtoDelete
  41. echo.IF EXIST %%dstdir%% goto errExist
  42. echo.@mkdir %%dstdir%%
  43. echo.@cd %%dstdir%%
  44. echo.set count=0
  45. echo.REM DEFINISCO IL CARATTERE BACKSPACE!
  46. echo.set "$Defines=$BS"    & set "$Details=Create $ESC Ascii-0x1B-27, Expansion insensitive"
  47. echo.   for /f "delims=#" %%%%a in ^(
  48. echo.      '"prompt #$H# &echo on &for %%%%b in (1) do rem"'
  49. echo.   ^) do ^(
  50. echo.      set "%%$Defines%%=%%%%a"
  51. echo.      set "%%$Defines%%=!$BS:~0,1!"
  52. echo.   ^)
  53. echo.FOR %%%%a IN ^(%%*^) DO ^(
  54. echo. FOR /F "usebackq delims=# tokens=1,*" %%%%b IN ^('%%%%a'^) DO ^(
  55. echo.    REM echo %%%%b sara' di colore %%%%c
  56. echo.    set /A count=!count!+1
  57. echo.    set nomefile=%%%%b
  58. echo.    IF %%%%c.==. ^(
  59. echo.        set colore=03
  60. echo.    ^) ELSE ^(
  61. echo.    set colore=%%%%c
  62. echo.    ^)
  63. echo.    REM SET /P ".=" %%%%b
  64. echo.    SET /P ".=%%$BS%% " ^<nul ^>%%%%b
  65. echo.    REM echo !count!^>%%%%b
  66. echo.    REM echo FINDSTR /A:%%%%c /C:"!count!" /S "%%%%b"
  67. echo.    REM more %%%%b
  68. echo.    set bin=%%%%b
  69. echo. ^)
  70. echo. REM FINE INNER FOR
  71. echo.    REM echo FINDSTR /A:!colore! /C:"!count!" /S "!nomefile!"
  72. echo.    FINDSTR /A:!colore! /C:" " /S "!nomefile!"
  73. echo.    REM goto end
  74. echo.^)
  75. echo.REM FINE OUTER FOR
  76. echo.echo.
  77. echo.REM ERROR HANDLING
  78. echo.goto chiusura
  79. echo.:errExist
  80. echo.echo 临时目录%%dstdir%%已存在.在继续或更改批处理中的路径之前将其删除.
  81. echo.goto pulizia
  82. echo.:chiusura
  83. echo.:pulizia
  84. echo.cd..
  85. echo.rd /S /Q %%dstdir%%
  86. echo.goto end
  87. echo.:end
  88. ) > color.bat
  89. SetLocal EnableDelayedExpansion
  90. :LOAD
  91. if EXIST "%UserProFile%\Save.Txt" (
  92. echo.
  93. echo 发现存档^^!
  94. echo.
  95. echo 你想加载游戏吗?
  96. call color.bat [S]#0c 想 [N]#0c 不想
  97. choice /N /C:SN
  98. if errorlevel 2 (
  99. echo.
  100. echo 新的开始.
  101. pause >nul
  102. goto START
  103. )
  104. if errorlevel 1 (
  105. for /F "usebackq tokens=1-18 delims=," %%G in ("%UserProFile%\Save.Txt") do (
  106. set AMBIENTE=%%G
  107. set ATT=%%H
  108. set DIF=%%I
  109. set MAG=%%J
  110. set DIF_M=%%K
  111. set HP_MAX=%%L
  112. set HP=%%M
  113. set MAGIE=%%N
  114. set LV=%%O
  115. set EXP=%%P
  116. set END_COMBACT=%%Q
  117. set EQUIP_ARM=%%R
  118. set EQUIP_CORPO=%%S
  119. set EQUIP_ELM=%%T
  120. set NAME=%%U
  121. set SWT_LOC_A=%%V
  122. set GOLD=%%W
  123. set STORY=%%X
  124. set /a ST_VELENO=0
  125. set NAME_EN=
  126. set /a HP_LOSE=3
  127. set /a LOOP_L=0
  128. goto LOOP_ECHO_LOAD
  129. )
  130. )
  131. ) else (
  132. goto START
  133. )
  134. :SAVE
  135. set /a LOOP_S=0
  136. goto LOOP_ECHO_SAVE
  137. :LOOP_ECHO_LOAD
  138. if %LOOP_L% EQU 0 (
  139. cls
  140. echo.
  141. echo 正在加载 .
  142. set /a LOOP_L=%LOOP_L%+1
  143. choice /N /C:P /T 0 /D P
  144. goto LOOP_ECHO_LOAD
  145. )
  146. if %LOOP_L% EQU 1 (
  147. cls
  148. echo.
  149. echo 正在加载 . .
  150. set /a LOOP_L=%LOOP_L%+1
  151. choice /N /C:P /T 0 /D P
  152. goto LOOP_ECHO_LOAD
  153. )
  154. if %LOOP_L% EQU 2 (
  155. cls
  156. echo.
  157. echo 正在加载 . . .
  158. set /a LOOP_L=0
  159. choice /N /C:P /T 0 /D P
  160. if errorlevel 1 goto %AMBIENTE%
  161. )
  162. :LOOP_ECHO_SAVE
  163. if %LOOP_S% EQU 0 (
  164. cls
  165. echo.
  166. echo 存档中 .
  167. set /a LOOP_S=%LOOP_S%+1
  168. choice /N /C:P /T 0 /D P
  169. goto LOOP_ECHO_SAVE
  170. )
  171. if %LOOP_S% EQU 1 (
  172. cls
  173. echo.
  174. echo 存档中 . .
  175. set /a LOOP_S=%LOOP_S%+1
  176. choice /N /C:P /T 0 /D P
  177. goto LOOP_ECHO_SAVE
  178. )
  179. if %LOOP_S% EQU 2 (
  180. cls
  181. echo.
  182. echo 存档中 . . .
  183. set /a LOOP_S=0
  184. choice /N /C:P /T 0 /D P
  185. 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"
  186. goto %AMBIENTE%
  187. )
  188. :START
  189. set /a EQUIP_ARM=0
  190. :: 3= SPADA ATT +3
  191. :: 5= LANCIA ATT +5
  192. :: 7= PUGNALE ATT +7
  193. :: 2= ASTA +2 MAG
  194. :: 4= PISTOLA +4 MAG
  195. :: 8= LONGINUS +8 MAG
  196. set /a EQUIP_CORPO=0
  197. :: 1= MAGLIA DIF +1
  198. :: 3= GIUBOTTO DIF+3
  199. :: 8= CORAZZA DIF +8
  200. set /a EQUIP_ELM=0
  201. :: 2= CAPPELLO DIF_MAG +2
  202. :: 5= BASCO DIF_MAG +5
  203. :: 7= ELMO DIF_MAG +7
  204. set /a ATT=2
  205. set /a DIF=1
  206. set /a MAG=0
  207. set /a DIF_M=0
  208. set /a EXP=0
  209. set /a HP=30
  210. set /a HP_MAX=30
  211. set /a LV=1
  212. set /a ST_VELENO=0
  213. :: 1= AVVELENATO
  214. set /a HP_LOSE=3
  215. :: HP PERSI PER EFFETTO DEL VELENO
  216. set /a END_COMBACT=0
  217. set /a MAGIE=0
  218. :: FIRE=1
  219. :: ICE=2
  220. :: ENERGIA=3
  221. :: IDRO=4
  222. :: THUNDER=5
  223. :: ESNA=6
  224. set /a SWT_LOC_A=0
  225. :: VARIABILE PER I SOLDI TROVATI NEL MONDO
  226. set /a GOLD=0
  227. ::SOLDI DEL GIOCO
  228. set /a STORY=0
  229. ::VARIABILE DELLA STORIA
  230. set NAME_EN=
  231. cls
  232. echo.欢迎来到虚拟世界,这里使用了有史以来最好的图形引擎,你的大脑^^!
  233. pause >nul
  234. cls
  235. call color.bat 选择 [S]#0c 开始或选择 [N]#0c 退出
  236. choice /N /C:SN
  237. if errorlevel 2 goto END
  238. if errorlevel 1 goto BEGIN_GAME
  239. :BEGIN
  240. cls
  241. call color.bat 你的房子#0a
  242. echo.
  243. echo 你是离开房子还是在房间里踱步?
  244. call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  245. choice /N /C:AD
  246. if errorlevel 2 goto IN_HOME
  247. if errorlevel 1 goto OUT_HOME
  248. :BEGIN_GAME
  249. echo.
  250. set /p NAME=你的名字叫什么?
  251. if /i DEFINED NAME (
  252. echo.
  253. echo %NAME%你好, 你好,欢迎来到劳里的世界^^!
  254. echo 你准备好开始你的冒险了吗?
  255. call color.bat 按 [Enter键]#0c 开始。
  256. pause >nul
  257. ) else (
  258. cls
  259. echo 请输入您的姓名^^!
  260. pause >nul
  261. goto BEGIN_GAME
  262. )
  263. cls
  264. call color.bat 你的房子#0a
  265. echo.
  266. echo 嗯,刚刚醒来,马上就发现了一些奇怪的事情...
  267. echo 是啊...太安静了,有点不对劲...
  268. echo 走近前门想做点什么...
  269. echo 是离开房子还是在房间里踱步?
  270. call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  271. choice /N /C:AD
  272. if errorlevel 2 goto IN_HOME
  273. if errorlevel 1 goto OUT_HOME
  274. :OUT_HOME
  275. cls
  276. call color.bat 屋外#0a
  277. echo.
  278. echo 我听不到任何噪音...
  279. echo 我步行时注意到朋友的房子...
  280. echo 门开着...
  281. echo 决定进去还是继续?
  282. call color.bat 选择 [A]#0c 进入或选择 [D]#0c 继续或 [X]#0c 返回
  283. choice /N /C:ADX
  284. if errorlevel 3 goto BEGIN
  285. if errorlevel 2 goto STREET
  286. if errorlevel 1 goto FRIEND_HOUSE
  287. :IN_HOME
  288. cls
  289. call color.bat 走廊#0a
  290. echo.
  291. echo 想去哪个房间?
  292. call color.bat 选择 [A]#0c 去厨房 [D]#0c 去卧室 [G]#0c 去浴室 [J]#0c 客厅
  293. choice /N /C:ADGJ
  294. if errorlevel 4 goto SALA
  295. if errorlevel 3 goto BAGNO
  296. if errorlevel 2 goto CAMERA
复制代码

作者: HOPE2021    时间: 2021-11-6 11:22

新版本源码第二部分
  1. if errorlevel 1 goto CUCINA
  2. :CUCINA
  3. cls
  4. call color.bat 厨房#0a
  5. echo.
  6. echo 这里也没有人...电线断了...
  7. echo 妈妈一定忘了关上它...
  8. echo 回去吧...
  9. pause >nul
  10. goto BEGIN
  11. :CAMERA
  12. if %EQUIP_ARM% EQU 0 (
  13. cls
  14. call color.bat 卧室#0a
  15. echo.
  16. echo 床没铺好...
  17. echo 我检查了壁橱...
  18. call color.bat 找到#03 黑桃#0c [ATT#0c +3]#0c
  19. set /a EQUIP_ARM=3
  20. echo 回去吧...
  21. pause >nul
  22. goto BEGIN
  23. )
  24. if %EQUIP_ARM% GEQ 1 (
  25. cls
  26. call color.bat 卧室#0a
  27. echo.
  28. echo 床没铺好...
  29. echo 我检查了壁橱...
  30. echo 什么都没有了...
  31. echo 回去吧...
  32. pause >nul
  33. goto BEGIN
  34. )
  35. :BAGNO
  36. cls
  37. call color.bat 浴室#0a
  38. echo.
  39. echo 啊... 我需要好好洗个澡...
  40. echo 回去吧...
  41. pause >nul
  42. goto BEGIN
  43. :SALA
  44. cls
  45. call color.bat 客厅#0a
  46. echo.
  47. echo 灯亮着... 真奇怪...
  48. echo 回去吧...
  49. pause >nul
  50. goto BEGIN
  51. :FRIEND_HOUSE
  52. if %END_COMBACT% EQU 0 (
  53. cls
  54. call color.bat 朋友的家#0a
  55. echo.
  56. echo 这里似乎也没有人...
  57. echo 我想我听到了声音...
  58. echo 从客厅出来...
  59. echo 要做什么,给朋友打电话还是检查房间?
  60. call color.bat 选择 [A]#0c 给朋友打电话或选择 [D]#0c 检查房间
  61. choice /N /C:AD
  62. if errorlevel 2 goto ROOM_FRIEND_HOUSE
  63. if errorlevel 1 goto VOICE_1
  64. ) else (
  65. cls
  66. call color.bat 朋友的家#0a
  67. echo.
  68. echo 一个死去的僵尸躺在地上...
  69. echo 似乎没有什么有趣的事...
  70. pause >nul
  71. goto OUT_HOME
  72. )
  73. :ROOM_FRIEND_HOUSE
  74. cls
  75. call color.bat 房间#0a
  76. echo.
  77. echo 哦,我的天啊,真是太可怕了...
  78. echo 我的邻居好像变成了僵尸^^!^^!^^!
  79. echo 攻击我^^!^^!^^!
  80. echo.
  81. pause >nul
  82. set /a HP_EN=20
  83. set /a HP_MAX_EN=20
  84. set /a ATT_EN=1
  85. set /a DIF_EN=1
  86. set /a MAG_EN=0
  87. set /a DIF_M_EN=0
  88. set NAME_EN=僵尸
  89. set AMBIENTE=FRIEND_HOUSE
  90. set TURNO=COMBACT_1
  91. set TURNO_EN=COMBACT_1_ENEMY
  92. set /a ST_VELENO=0
  93. set /a EXP_EN=3
  94. goto COMBACT_1
  95. :VOICE_1
  96. cls.
  97. call color.bat 朋友的家#0a
  98. echo.
  99. echo 试着打电话给邻居,
  100. echo 似乎没有人回答...
  101. echo %Name%试着提高声音...
  102. echo 有奇怪的吼声... 从房间里传来...
  103. echo 发生了什么?
  104. call color.bat 是要离开 [A]#0c 还是检查 [D]#0c
  105. choice /N /C:AD
  106. if errorlevel 2 goto ROOM_FRIEND_HOUSE
  107. if errorlevel 1 goto OUT_HOME
  108. :STREET
  109. cls
  110. call color.bat 街头#0a
  111. echo.
  112. echo 你站在十字路口...
  113. echo 冷风飒飒... 乌云密布
  114. echo 一个指示牌歪歪斜斜... 指着东南西北...
  115. echo.
  116. echo 该向那儿走?
  117. call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  118. choice /N /C:WADX
  119. if errorlevel 4 goto OUT_HOME
  120. if errorlevel 3 goto STREET_E
  121. if errorlevel 2 goto STREET_O
  122. if errorlevel 1 goto STREET_N
  123. :STREET_N
  124. cls
  125. call color.bat 街头#0a
  126. echo.
  127. call color.bat [W]#0c 继续前行 [X]#0c 打道回府
  128. choice /N /C:WX
  129. if errorlevel 2 goto STREET
  130. if errorlevel 1 goto STREET_NN
  131. :STREET_NN
  132. cls
  133. call color.bat 街头#0a
  134. echo.
  135. echo 这条路似乎到此为止...
  136. echo 最好回去...
  137. pause >nul
  138. goto STREET_N
  139. :STREET_O
  140. cls
  141. call color.bat 街头#0a
  142. echo.
  143. echo %Name%看到一座尖塔...
  144. call color.bat [W]#0c 直走 [A]#0c 左转 [X]#0c 返回
  145. choice /N /C:WAX
  146. if errorlevel 3 goto STREET
  147. if errorlevel 2 goto STREET_OS
  148. if errorlevel 1 goto STREET_OO
  149. :STREET_OO
  150. cls
  151. call color.bat 街头#0a
  152. echo.
  153. call color.bat [W]#0c 直走 [X]#0c 返回
  154. choice /N /C:WX
  155. if errorlevel 2 goto STREET_O
  156. if errorlevel 1 goto STREET_OOO
  157. :STREET_OOO
  158. cls
  159. call color.bat 街头#0a
  160. echo.
  161. echo %Name%看到一座尖塔...
  162. call color.bat [W]#0c 直走 [A]#0c 向左走 [D]#0c 向右走 [X]#0c 返回
  163. choice /N /C:WADX
  164. if errorlevel 4 goto STREET_OO
  165. if errorlevel 3 goto STREET_OOON
  166. if errorlevel 2 goto STREET_OOOS
  167. if errorlevel 1 goto STREET_OOOO
  168. :STREET_OOON
  169. cls
  170. call color.bat 街头#0a
  171. echo.
  172. echo 去酒吧,也许是个好主意...
  173. echo 进去,我可以喝一杯或者...
  174. echo 也许我应该晚一点回去...
  175. echo.
  176. call color.bat [A]#0c 进去 [D]#0c 返回
  177. choice /N /C:AD
  178. if errorlevel 2 goto STREET_OOO
  179. if errorlevel 1 goto BAR_1
  180. :STREET_OOOO
  181. if %SWT_LOC_A% EQU 0 (
  182. cls
  183. call color.bat 街头#0a
  184. echo.
  185. echo 嘿,你找到3块金子了^^!
  186. set /a GOLD=%GOLD%+3
  187. pause >nul
  188. set /a SWT_LOC_A=1
  189. goto STREET_OOO
  190. )
  191. if %SWT_LOC_A% EQU 1 (
  192. cls
  193. call color.bat 街头#0a
  194. echo.
  195. echo 这里什么也没有... 这条路似乎到此为止...
  196. echo 最好回去...
  197. pause >nul
  198. goto STREET_OOO
  199. )
  200. :STREET_OOOS
  201. cls
  202. call color.bat 街头#0a
  203. echo.
  204. echo 这条路似乎到此为止...
  205.                                 echo 最好回去...
  206. pause >nul
  207. goto STREET_OOO
  208. :STREET_OS
  209. cls
  210. call color.bat 街头#0a
  211. echo.
  212. call color.bat [W]#0c 直走 [X]#0c 返回
  213. choice /N /C:WX
  214. if errorlevel 2 goto STREET_O
  215. if errorlevel 1 goto STREET_OSS
  216. :STREET_OSS
  217. cls
  218. call color.bat 街头#0a
  219. echo.
  220. echo %Name%找到了一个休息的地方,
  221. echo 这里可以恢复精力...
  222. set /a HP=%HP_MAX%
  223. pause >nul
  224. echo.
  225. call color.bat [D]#0c 向右 [X]#0c 返回
  226. choice /N /C:DX
  227. if errorlevel 2 goto STREET_OS
  228. if errorlevel 1 goto STREET_OSSO
  229. :STREET_OSSO
  230. cls
  231. call color.bat 街头#0a
  232. echo.
  233. echo %Name%遇到了一个僵尸...
  234. echo 它攻击%Name%
  235. echo.
  236. pause >nul
  237. set /a HP_EN=25
  238. set /a HP_MAX_EN=25
  239. set /a ATT_EN=1
  240. set /a DIF_EN=2
  241. set /a MAG_EN=0
  242. set /a DIF_M_EN=0
  243. set NAME_EN=僵尸
  244. set AMBIENTE=STREET_OSS
  245. set TURNO=COMBACT_1
  246. set TURNO_EN=COMBACT_1_ENEMY
  247. set /a ST_VELENO=0
  248. set /a EXP_EN=7
  249. goto COMBACT_1
  250. :STREET_E
  251. cls
  252. call color.bat 街头#0a
  253. echo.
  254. echo %Name%看到一座尖塔...
  255. call color.bat [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  256. choice /N /C:ADX
  257. if errorlevel 3 goto STREET
  258. if errorlevel 2 goto STREET_ES
  259. if errorlevel 1 goto STREET_EN
  260. :STREET_EN
  261. cls
  262. call color.bat 街头#0a
  263. echo.
  264. call color.bat [D]#0c 向右 [X]#0c 返回
  265. choice /N /C:DX
  266. if errorlevel 2 goto STREET_E
  267. if errorlevel 1 goto STREET_ENE
  268. :STREET_ENE
  269. cls
  270. call color.bat 街头#0a
  271. echo.
  272. call color.bat [W]#0c 直走 [X]#0c 返回
  273. choice /N /C:WX
  274. if errorlevel 2 goto STREET_EN
  275. if errorlevel 1 goto STREET_ENEE
  276. :STREET_ENEE
  277. cls
  278. call color.bat 街头#0a
  279. echo.
  280. echo %Name%找到了一个休息的地方,
  281. echo 这里可以恢复精力...
  282. set /a HP=%HP_MAX%
  283. pause >nul
  284. echo.
  285. call color.bat [X]#0c 返回
复制代码

作者: HOPE2021    时间: 2021-11-6 11:23

新版本源码第三部分
  1. choice /N /C:X
  2. if errorlevel 1 goto STREET_ENE
  3. :STREET_ES
  4. cls
  5. call color.bat 街头#0a
  6. echo.
  7. echo %Name%看到一座尖塔...
  8. call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  9. choice /N /C:WADX
  10. if errorlevel 4 goto STREET_E
  11. if errorlevel 3 goto STREET_ESO
  12. if errorlevel 2 goto STREET_ESE
  13. if errorlevel 1 goto STREET_ESS
  14. :STREET_ESO
  15. cls
  16. call color.bat 街头#0a
  17. echo.
  18. call color.bat [W]#0c 直走 [X]#0c 返回
  19. choice /N /C:WX
  20. if errorlevel 2 goto STREET_ES
  21. if errorlevel 1 goto STREET_ESOO
  22. :STREET_ESE
  23. cls
  24. call color.bat 街头#0a
  25. echo.
  26. call color.bat [W]#0c 直走 [X]#0c 返回
  27. choice /N /C:WX
  28. if errorlevel 2 goto STREET_ES
  29. if errorlevel 1 goto STREET_ESEE
  30. :STREET_ESS
  31. cls
  32. call color.bat 街头#0a
  33. echo.
  34. call color.bat [A]#0c 向左 [X]#0c 返回
  35. choice /N /C:AX
  36. if errorlevel 2 goto STREET_ES
  37. if errorlevel 1 goto STREET_ESSE
  38. :STREET_ESOO
  39. cls
  40. call color.bat 街头#0a
  41. echo.
  42. echo 这条路似乎到此为止...
  43. echo 最好回去...
  44. pause >nul
  45. goto STREET_ESO
  46. :STREET_ESEE
  47. cls
  48. call color.bat COMBATTI#0a
  49. echo.
  50. echo %Name%遇到了一个僵尸...
  51. echo 它攻击%Name%
  52. echo.
  53. pause >nul
  54. set /a HP_EN=25
  55. set /a HP_MAX_EN=25
  56. set /a ATT_EN=1
  57. set /a DIF_EN=2
  58. set /a MAG_EN=0
  59. set /a DIF_M_EN=0
  60. set NAME_EN=僵尸
  61. set AMBIENTE=STREET_ESE
  62. set TURNO=COMBACT_1
  63. set TURNO_EN=COMBACT_1_ENEMY
  64. set /a ST_VELENO=0
  65. set /a EXP_EN=7
  66. goto COMBACT_1
  67. :STREET_ESSE
  68. cls
  69. call color.bat 街头#0a
  70. echo.
  71. echo %Name%看到一座尖塔...
  72. call color.bat [W]#0c 直走 [D]#0c 向右 [X]#0c 返回
  73. choice /N /C:WDX
  74. if errorlevel 3 goto STREET_ESS
  75. if errorlevel 2 goto STREET_ESSES
  76. if errorlevel 1 goto STREET_ESSEE
  77. :STREET_ESSES
  78. cls
  79. if %STORY% LEQ 0 (
  80. call color.bat 街边-森林#0a
  81. echo.
  82. echo %Name%走进一片森林,听到远处有人声...
  83. echo 还是检查一下吧...
  84. echo.
  85. echo 那是%Name%遇见伴侣的时候...
  86. pause >nul
  87. goto BOSCO
  88. ) else (
  89. call color.bat 街边-森林#0a
  90. echo.
  91. echo %Name%已经到达一个森林的入口,想做什么?
  92. call color.bat [W]#0c 去森林 [X]#0c 返回
  93. choice /N /C:WX
  94. if errorlevel 2 goto STREET_ESSE
  95. if errorlevel 1 goto BOSCO
  96. )
  97. :STREET_ESSEE
  98. cls
  99. call color.bat 街头#0a
  100. echo.
  101. echo 这条路似乎到此为止...
  102.                 echo 最好回去...
  103. pause >nul
  104. goto STREET_ESSE
  105. :BOSCO
  106. if %STORY% LEQ 0 (
  107. cls
  108. call color.bat 森林#0a
  109. echo.
  110. echo 嘿,前面有很多僵尸...
  111. echo 这里,可能需要这个...
  112. echo 啊,但是后来我听说了一家商店...
  113. echo 在那里... 哦,可以买一些必需品...
  114. echo.
  115. echo 您已获得: 毛衣
  116. set /a EQUIP_CORPO=1
  117. set /a STORY=%STORY%+1
  118. echo.
  119. echo 乔瓦尼离开了,呆在森林的你开始做什么?
  120. echo 继续前行还是返回?
  121. call color.bat [W]#0c 继续向前 [X]#0c 返回
  122. choice /N /C:WX
  123. if errorlevel 2 goto STREET_ESSES
  124. if errorlevel 1 goto BOSCO_1
  125. ) else (
  126. cls
  127. call color.bat 森林#0a
  128. echo.
  129. echo 你在树林里干什么?
  130. echo 继续前行或返回?
  131. call color.bat [W]#0c 继续前行 [X]#0c 返回
  132. choice /N /C:WX
  133. if errorlevel 2 goto STREET_ESSES
  134. if errorlevel 1 goto BOSCO_1
  135. )
  136. :BOSCO_1
  137. set /a VAR_INC=%RANDOM% %%100
  138. if !VAR_INC! GEQ 60 (
  139. cls
  140. call color.bat 森林-战场#0a
  141. echo.
  142. echo %Name%遇到一个僵尸,它攻击%Name%...
  143. pause >nul
  144. set /a HP_EN=40
  145. set /a HP_MAX_EN=40
  146. set /a ATT_EN=4
  147. set /a DIF_EN=5
  148. set /a MAG_EN=0
  149. set /a DIF_M_EN=0
  150. set NAME_EN=僵尸1
  151. set AMBIENTE=BOSCO
  152. set TURNO=COMBACT_1
  153. set TURNO_EN=COMBACT_1_ENEMY
  154. set /a ST_VELENO=0
  155. set /a EXP_EN=10
  156. goto COMBACT_1
  157. ) else (
  158. cls
  159. call color.bat 森林#0a
  160. echo.
  161. echo 没有动静... 什么都没有吗?
  162. call color.bat [S]#0c 是的 [N]#0c 不是
  163. choice /N /C:SN
  164. if errorlevel 2 goto BOSCO
  165. if errorlevel 1 goto END
  166. )
  167. if !VAR_INC! GEQ 83 (
  168. cls
  169. call color.bat 森林-战场#0a
  170. echo.
  171. echo %Name%遇到两个僵尸,他们攻击%Name%^^!^^!^^!
  172. pause >nul
  173. set /a HP_EN=40
  174. set /a HP_MAX_EN=40
  175. set /a ATT_EN=4
  176. set /a DIF_EN=5
  177. set /a MAG_EN=0
  178. set /a DIF_M_EN=0
  179. set /a HP_EN_2=20
  180. set /a HP_MAX_EN_2=20
  181. set /a ATT_EN_2=3
  182. set /a DIF_EN_2=3
  183. set /a MAG_EN_2=0
  184. set /a DIF_M_EN_2=0
  185. set NAME_EN=僵尸1
  186. set NAME_EN_2=僵尸2
  187. set AMBIENTE=BOSCO
  188. set TURNO=COMBACT_2
  189. set TURNO_EN=COMBACT_2_ENEMY_NO1
  190. set /a MID_COMBACT=0
  191. set /a ST_VELENO=0
  192. set /a EXP_EN=10
  193. goto COMBACT_2
  194. ) else (
  195. cls
  196. call color.bat 森林#0a
  197. echo.
  198. echo 好像什么动静都没有... 但这是真的吗?
  199. call color.bat [S]#0c 是的 [N]#0c 不是
  200. choice /N /C:SN
  201. if errorlevel 2 goto BOSCO
  202. if errorlevel 1 goto END
  203. )
  204. :BAR_1
  205. set AMBIENTE=BAR_1
  206. cls
  207. :S_BAR_DOMANDA
  208. call color.bat 酒吧#0a
  209. echo.
  210. echo ---==^> 归 %GOLD% 块金子的人所有 ^<==---
  211. echo.
  212. echo 欢迎来到这里最特别的酒吧,哈哈 ^^!^^!^^!
  213. echo 是啊... 你偶尔也会笑,这对你有好处...
  214. echo 回到我们这里,你想要什么?
  215. echo 如果你不知道该带什么,你可以写"Chiedi"来问我
  216. :S_BAR_DOMANDA_1
  217. echo.
  218. echo 你的愿望是什么?
  219. set /p DOMANDA=
  220. if /i DEFINED DOMANDA (
  221. goto S_BAR_MENU
  222. ) else (
  223. echo.
  224.                 echo 我不明白... 试着键入"Chiedi"
  225. pause >nul
  226. cls
  227. goto S_BAR_DOMANDA
  228. )
  229. :S_BAR_MENU
  230. if /i %DOMANDA%==Chiedi (
  231. cls
  232. call color.bat BAR#0a
  233. echo.
  234. echo 菜单:
  235. echo.
  236. echo    - BEVI    -^> 查看鸡尾酒菜单.
  237. echo    - MANGIA  -^> 查看甜品菜单.
  238. echo    - SALVA   -^> 保存游戏进度.
  239. echo    - ESCI    -^> 离开酒吧.
  240. goto S_BAR_DOMANDA_1
  241. )
  242. :MENU_BEVI
  243. if /i %DOMANDA%==Bevi (
  244. cls
  245. call color.bat 菜单#0a
  246. echo.
  247. echo 菜单:
  248. echo.
  249. echo.    酒品        价格^(G块金子^)
  250. echo.  ------====^>^>^> ^<^<^<====------
  251. echo   - Campari              ^(3G^)
  252. echo   - Aperol               ^(4G^)
  253. echo   - Niente
  254. echo.
  255. echo 你的愿望是什么[ 键入 Campari 或 Aperol 即可买酒 , 键入 Niente 即可返回 ]?
  256. set /p BEVI=
  257. goto BEVI
  258. )
  259. if /i %DOMANDA%==Mangia (
  260. cls
  261. call color.bat 菜单#0a
  262. echo.
  263. echo 菜单:
  264. echo.
  265. echo.    甜品        价格^(G块金子^)
  266. echo.  ------====^>^>^> ^<^<^<====------
  267. echo   - Struffoli            ^(3G^)
  268. echo   - Cassata              ^(4G^)
  269. echo   - Tiramisu             ^(5G^)
  270. echo   - Niente
  271. echo.
  272. echo 你的愿望是什么[ 键入 Struffoli / Cassata / Tiramisu 即可购买甜品 , 键入 Niente 即可返回 ]?
  273. set /p MANGIA=
  274. goto MANGIA
  275. )
  276. if /i %DOMANDA%==Salva (
  277. echo.
  278. goto SAVE
  279. )
  280. if /i %DOMANDA%==Esci (
  281. echo.
复制代码

作者: HOPE2021    时间: 2021-11-6 11:25

本帖最后由 HOPE2021 于 2021-11-6 11:27 编辑

新版本源码第四部分
  1. echo %Name%离开了酒吧.
  2. pause >nul
  3. cls
  4. goto STREET_OOON
  5. )
  6. echo.
  7. echo 我不明白... 试着键入"Chiedi"
  8. pause >nul
  9. cls
  10. goto S_BAR_DOMANDA
  11. :BEVI
  12. if /i %BEVI%==Campari (
  13. if %GOLD% GEQ 3 (
  14. echo 这是你的 !BEVI! 和气泡酒
  15. echo 你想要更多吗?
  16. pause >nul
  17. set /a GOLD=%GOLD%-3
  18. goto S_BAR_MENU
  19. ) else (
  20. echo 你没有金子...
  21. echo 你想要更多吗?
  22. pause >nul
  23. goto S_BAR_MENU
  24. )
  25. )
  26. if /i %BEVI%==Aperol (
  27. if %GOLD% GEQ 4 (
  28. echo 这是你的Spritz鸡尾酒... 祝你享受威尼斯的夕阳...
  29. echo 你想要更多吗?
  30. pause >nul
  31. set /a GOLD=%GOLD%-4
  32. goto S_BAR_MENU
  33. ) else (
  34. echo 你没有金子...
  35. echo 你想要更多吗?
  36. pause >nul
  37. goto S_BAR_MENU
  38. )
  39. )
  40. if /i %BEVI%==Niente (
  41. echo 好的
  42. pause >nul
  43. cls
  44. goto S_BAR_DOMANDA
  45. )
  46. echo.
  47. echo 我不明白... 试着键入"Chiedi"
  48. pause >nul
  49. goto MENU_BEVI
  50. :MANGIA
  51. if /i %MANGIA%==Struffoli (
  52. if %GOLD% GEQ 3 (
  53. echo 这是你的蜂蜜糖球...
  54. echo 你想要更多吗?
  55. pause >nul
  56. set /a GOLD=%GOLD%-3
  57. goto S_BAR_MENU
  58. ) else (
  59. echo 你没有金子...
  60. echo 你想要更多吗?
  61. pause >nul
  62. goto S_BAR_MENU
  63. )
  64. )
  65. if /i %MANGIA%==Aperol (
  66. if %GOLD% GEQ 4 (
  67. echo 这是你的卡萨塔... 祝你享受西西里的快乐...
  68. echo 你想要更多吗?
  69. pause >nul
  70. set /a GOLD=%GOLD%-4
  71. goto S_BAR_MENU
  72. ) else (
  73. echo 你没有金子...
  74. echo 你想要更多吗?
  75. pause >nul
  76. goto S_BAR_MENU
  77. )
  78. )
  79. if /i %MANGIA%==Aperol (
  80. if %GOLD% GEQ 5 (
  81. echo 这是你的提拉米苏... 祝你享受意大利的美味...
  82. echo 你想要更多吗?
  83. pause >nul
  84. set /a GOLD=%GOLD%-5
  85. goto S_BAR_MENU
  86. ) else (
  87. echo 你没有金子...
  88. echo 你想要更多吗?
  89. pause >nul
  90. goto S_BAR_MENU
  91. )
  92. )
  93. if /i %MANGIA%==Niente (
  94. echo 好的
  95. pause >nul
  96. cls
  97. goto S_BAR_DOMANDA
  98. )
  99. echo.
  100. echo 我不明白... 试着键入"Chiedi"
  101. pause >nul
  102. goto MENU_BEVI
  103. :MENU_MAGIE
  104. if %MAGIE% EQU 1 (
  105. echo.
  106. echo [火之激情] - 1
  107. echo [魔法栏空]
  108. echo [魔法栏空]
  109. echo [魔法栏空]
  110. echo [魔法栏空]
  111. echo [魔法栏空]
  112. echo [继续战斗] - Q
  113. echo.
  114. choice /N /C:1Q /M "你想用什么魔法?: "
  115. if errorlevel 2 goto %TURNO%
  116. if errorlevel 1 goto ER_1
  117. )
  118. if %MAGIE% EQU 2 (
  119. echo.
  120. echo [火之激情] - 1
  121. echo [冰之冷酷] - 2
  122. echo [魔法栏空]
  123. echo [魔法栏空]
  124. echo [魔法栏空]
  125. echo [魔法栏空]
  126. echo [继续战斗] - Q
  127. echo.
  128. choice /N /C:12Q /M "你想用什么魔法?: "
  129. if errorlevel 3 goto %TURNO%
  130. if errorlevel 2 goto ER_2
  131. if errorlevel 1 goto ER_1
  132. )
  133. if %MAGIE% EQU 3 (
  134. echo.
  135. echo [火之激情] - 1
  136. echo [冰之冷酷] - 2
  137. echo [全力以赴] - 3
  138. echo [魔法栏空]
  139. echo [魔法栏空]
  140. echo [魔法栏空]
  141. echo [继续战斗] - Q
  142. echo.
  143. choice /N /C:123Q /M "你想用什么魔法?: "
  144. if errorlevel 4 goto %TURNO%
  145. if errorlevel 3 goto ER_3
  146. if errorlevel 2 goto ER_2
  147. if errorlevel 1 goto ER_1
  148. )
  149. if %MAGIE% EQU 4 (
  150. echo.
  151. echo [火之激情] - 1
  152. echo [冰之冷酷] - 2
  153. echo [全力以赴] - 3
  154. echo [水之力量] - 4
  155. echo [魔法栏空]
  156. echo [魔法栏空]
  157. echo [继续战斗] - Q
  158. echo.
  159. choice /N /C:1234Q /M "你想用什么魔法?: "
  160. if errorlevel 5 goto %TURNO%
  161. if errorlevel 4 goto ER_4
  162. if errorlevel 3 goto ER_3
  163. if errorlevel 2 goto ER_2
  164. if errorlevel 1 goto ER_1
  165. )
  166. if %MAGIE% EQU 5 (
  167. echo.
  168. echo [火之激情] - 1
  169. echo [冰之冷酷] - 2
  170. echo [全力以赴] - 3
  171. echo [水之力量] - 4
  172. echo [电闪雷鸣] - 5
  173. echo [魔法栏空]
  174. echo [继续战斗] - Q
  175. echo.
  176. choice /N /C:12345Q /M "你想用什么魔法?: "
  177. if errorlevel 6 goto %TURNO%
  178. if errorlevel 5 goto ER_5
  179. if errorlevel 4 goto ER_4
  180. if errorlevel 3 goto ER_3
  181. if errorlevel 2 goto ER_2
  182. if errorlevel 1 goto ER_1
  183. )
  184. if %MAGIE% EQU 6 (
  185. echo.
  186. echo [火之激情] - 1
  187. echo [冰之冷酷] - 2
  188. echo [全力以赴] - 3
  189. echo [水之力量] - 4
  190. echo [电闪雷鸣] - 5
  191. echo [妙手回春] - 6
  192. echo [继续战斗] - Q
  193. echo.
  194. choice /N /C:123456Q /M "你想用什么魔法?: "
  195. if errorlevel 7 goto %TURNO%
  196. if errorlevel 6 goto ER_6
  197. if errorlevel 5 goto ER_5
  198. if errorlevel 4 goto ER_4
  199. if errorlevel 3 goto ER_3
  200. if errorlevel 2 goto ER_2
  201. if errorlevel 1 goto ER_1
  202. )
  203. :ER_1
  204. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  205. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  206. echo %Name%使用了火之激情, 攻击力: %DAMAGE_M%
  207. if %HP_EN% LEQ 0 (
  208. echo %NAME_EN% 已死亡.
  209. set /a END_COMBACT=1
  210. pause >nul
  211. goto CALCOLO_EXP
  212. )
  213. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  214. echo %NAME_EN% 已死亡.
  215. set /a END_COMBACT=1
  216. pause >nul
  217. goto CALCOLO_EXP
  218. ) else (
  219. pause >nul
  220. goto %TURNO_EN%
  221. )
  222. :ER_2
  223. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  224. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  225. echo %Name%使用了冰之冷酷, 攻击力: %DAMAGE_M%
  226. if %HP_EN% LEQ 0 (
  227. echo %NAME_EN% 已死亡.
  228. set /a END_COMBACT=1
  229. pause >nul
  230. goto CALCOLO_EXP
  231. )
  232. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  233. echo %NAME_EN% 已死亡.
  234. set /a END_COMBACT=1
  235. pause >nul
  236. goto CALCOLO_EXP
  237. ) else (
  238. pause >nul
  239. goto %TURNO_EN%
  240. )
  241. :ER_3
  242. set /a HP_RESTORED=%HP%+(%VAR_MAG%+%MAG%)
  243. if HP_RESTORED GEQ %HP_MAX% (
  244. set /a HP=%HP_MAX%
  245. echo %Name%已经全部恢复...
  246. pause >nul
  247. goto %TURNO_EN%
  248. ) else (
  249. set /a HP=%HP_RESTORED%
  250. echo %Name%恢复: %HP_RESTORED% HP
  251. pause >nul
  252. goto %TURNO_EN%
  253. )
  254. :ER_4
  255. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  256. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  257. echo %Name%使用了水之力量, 攻击力: %DAMAGE_M%
  258. if %HP_EN% LEQ 0 (
  259. echo %NAME_EN% 已死亡.
  260. set /a END_COMBACT=1
  261. pause >nul
  262. goto CALCOLO_EXP
  263. )
  264. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  265. echo %NAME_EN% 已死亡.
  266. set /a END_COMBACT=1
  267. pause >nul
  268. goto CALCOLO_EXP
  269. ) else (
  270. pause >nul
  271. goto %TURNO_EN%
  272. )
  273. :ER_5
  274. set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  275. set /a HP_EN=%HP_EN%-%DAMAGE_M%
  276. echo %Name%使用了电闪雷鸣, 攻击力: %DAMAGE_M%
  277. if %HP_EN% LEQ 0 (
  278. echo %NAME_EN% 已死亡.
  279. set /a END_COMBACT=1
  280. pause >nul
  281. goto CALCOLO_EXP
  282. )
  283. if %DAMAGE_M% GEQ %HP_MAX_EN% (
  284. echo %NAME_EN% 已死亡.
  285. set /a END_COMBACT=1
  286. pause >nul
  287. goto CALCOLO_EXP
  288. ) else (
  289. pause >nul
  290. goto %TURNO_EN%
  291. )
  292. :ER_6
  293. if %ST_VELENO% EQU 1 (
  294. echo 使用妙手回春,你不再中毒了.
  295. set /a ST_VELENO=0
  296. pause >nul
  297. goto %TURNO_EN%
  298. ) else (
  299. echo %Name%无法使用妙手回春..
  300. pause >nul
  301. goto %TURNO_EN%
复制代码

作者: HOPE2021    时间: 2021-11-6 11:28

新版本源码第五部分
  1. )
  2. :CALCOLO_EXP
  3. set /a EXP=%EXP%+%EXP_EN%
  4. echo 你赢了: 获得 %EXP_EN% EXP
  5. pause >nul
  6. if %LV% EQU 1 if %EXP% GEQ 10 (
  7. echo.
  8. echo 你的经验足够了...
  9. echo 升到第 2 级...
  10. pause >nul
  11. set /a ATT=%ATT%+3
  12. set /a DIF=%DIF%+2
  13. set /a MAG=%MAG%+0
  14. set /a DIF_M=%DIF_M%+1
  15. set /a HP_MAX=%HP_MAX%+15
  16. set /a HP=%HP_MAX%+15
  17. set /a MAGIE=1
  18. set /a LV=2
  19. goto SAVE
  20. ) else (
  21. goto SAVE
  22. )
  23. if %LV% LEQ 2 if %EXP% GEQ 30 (
  24. echo.
  25. echo 你的经验足够了...
  26. echo 升到第 3 级...
  27. pause >nul
  28. set /a ATT=%ATT%+1
  29. set /a DIF=%DIF%+1
  30. set /a MAG=%MAG%+2
  31. set /a DIF_M=%DIF_M%+1
  32. set /a HP_MAX=%HP_MAX%+20
  33. set /a HP=%HP_MAX%+20
  34. set /a MAGIE=2
  35. set /a LV=3
  36. goto SAVE
  37. ) else (
  38. goto SAVE
  39. )
  40. if %LV% LEQ 3 if %EXP% GEQ 50 (
  41. echo.
  42. echo 你的经验足够了...
  43. echo 升到第 4 级...
  44. pause >nul
  45. set /a ATT=%ATT%+3
  46. set /a DIF=%DIF%+2
  47. set /a MAG=%MAG%+1
  48. set /a DIF_M=%DIF_M%+2
  49. set /a HP_MAX=%HP_MAX%+30
  50. set /a HP=%HP_MAX%+30
  51. set /a MAGIE=3
  52. set /a LV=4
  53. goto SAVE
  54. ) else (
  55. goto SAVE
  56. )
  57. if %LV% LEQ 4 if %EXP% GEQ 80 (
  58. echo.
  59. echo 你的经验足够了...
  60. echo 升到第 5 级...
  61. pause >nul
  62. set /a ATT=%ATT%+1
  63. set /a DIF=%DIF%+3
  64. set /a MAG=%MAG%+3
  65. set /a DIF_M=%DIF_M%+1
  66. set /a HP_MAX=%HP_MAX%+34
  67. set /a HP=%HP_MAX%+34
  68. set /a MAGIE=4
  69. set /a LV=5
  70. goto SAVE
  71. ) else (
  72. goto SAVE
  73. )
  74. if %LV% LEQ 5 if %EXP% GEQ 115 (
  75. echo.
  76. echo 你的经验足够了...
  77. echo 升到第 6 级...
  78. pause >nul
  79. set /a ATT=%ATT%+2
  80. set /a DIF=%DIF%+2
  81. set /a MAG=%MAG%+2
  82. set /a DIF_M=%DIF_M%+2
  83. set /a HP_MAX=%HP_MAX%+38
  84. set /a HP=%HP_MAX%+38
  85. set /a MAGIE=5
  86. set /a LV=6
  87. goto SAVE
  88. ) else (
  89. goto SAVE
  90. )
  91. if %LV% LEQ 6 if %EXP% GEQ 150 (
  92. echo.
  93. echo 你的经验足够了...
  94. echo 升到第 7 级...
  95. pause >nul
  96. set /a ATT=%ATT%+3
  97. set /a DIF=%DIF%+4
  98. set /a MAG=%MAG%+3
  99. set /a DIF_M=%DIF_M%+4
  100. set /a HP_MAX=%HP_MAX%+45
  101. set /a HP=%HP_MAX%+45
  102. set /a MAGIE=6
  103. set /a LV=7
  104. goto SAVE
  105. ) else (
  106. goto SAVE
  107. )
  108. :ATTACCA
  109. set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
  110. if %COMBACT% EQU 1 (
  111. set /a HP_EN=%HP_EN%-%DAMAGE%
  112. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  113. if !HP_EN! LEQ 0 (
  114. echo %NAME_EN% 已死亡...
  115. set /a END_COMBACT=1
  116. pause >nul
  117. goto CALCOLO_EXP
  118. )
  119. if !DAMAGE! GEQ %HP_MAX_EN% (
  120. echo %NAME_EN% 已死亡...
  121. set /a END_COMBACT=1
  122. pause >nul
  123. goto CALCOLO_EXP
  124. ) else (
  125. pause >nul
  126. goto %TURNO_EN%
  127. )
  128. )
  129. if %COMBACT% EQU 2 (
  130. if %MID_COMBACT% EQU 0 (
  131. if %TAG% EQU 1 (
  132. set /a HP_EN=%HP_EN%-%DAMAGE%
  133. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  134. if !HP_EN! LEQ 0 (
  135. echo %NAME_EN% 已死亡...
  136. set /a MID_COMBACT=1
  137. pause >nul
  138. goto COMBACT_2_ENEMY_NO2
  139. )
  140. if !DAMAGE! GEQ %HP_MAX_EN% (
  141. echo %NAME_EN% 已死亡...
  142. set /a MID_COMBACT=1
  143. pause >nul
  144. goto COMBACT_2_ENEMY_NO2
  145. ) else (
  146. pause >nul
  147. goto COMBACT_2_ENEMY_NO1
  148. )
  149. )
  150. if %TAG% EQU 2 (
  151. set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  152. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  153. if !HP_EN_2! LEQ 0 (
  154. echo %NAME_EN_2% 已死亡...
  155. set /a MID_COMBACT=2
  156. pause >nul
  157. goto COMBACT_2_ENEMY_NO1
  158. )
  159. if !DAMAGE! GEQ %HP_MAX_EN_2% (
  160. echo %NAME_EN_2% 已死亡...
  161. set /a MID_COMBACT=2
  162. pause >nul
  163. goto COMBACT_2_ENEMY_NO1
  164. ) else (
  165. pause >nul
  166. goto COMBACT_2_ENEMY_NO1
  167. )
  168. )
  169. )
  170. if %MID_COMBACT% EQU 1 (
  171. set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  172. echo %Name% 攻击了 %NAME_EN_2%, 攻击力: %DAMAGE%
  173. if !HP_EN_2! LEQ 0 (
  174. echo %NAME_EN_2% 已死亡...
  175. set /a END_COMBACT=1
  176. pause >nul
  177. goto CALCOLO_EXP
  178. )
  179. if !DAMAGE! GEQ %HP_MAX_EN_2% (
  180. echo %NAME_EN_2% 已死亡...
  181. set /a END_COMBACT=1
  182. pause >nul
  183. goto CALCOLO_EXP
  184. ) else (
  185. pause >nul
  186. goto COMBACT_2_ENEMY_NO2
  187. )
  188. )
  189. if %MID_COMBACT% EQU 2 (
  190. set /a HP_EN=%HP_EN%-%DAMAGE%
  191. echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  192. if !HP_EN! LEQ 0 (
  193. echo %NAME_EN% 已死亡...
  194. set /a END_COMBACT=1
  195. pause >nul
  196. goto CALCOLO_EXP
  197. )
  198. if !DAMAGE! GEQ %HP_MAX_EN% (
  199. echo %NAME_EN% 已死亡...
  200. set /a END_COMBACT=1
  201. pause >nul
  202. goto CALCOLO_EXP
  203. ) else (
  204. pause >nul
  205. goto COMBACT_2_ENEMY_NO1
  206. )
  207. )
  208. )
  209. :COMBACT_1
  210. set /a FUGA=%RANDOM% %%100
  211. set /a VAR_ATT=%RANDOM% %%5
  212. set /a VAR_MAG=%RANDOM% %%5
  213. set /a ST_DEF=0
  214. set /a COMBACT=1
  215. cls
  216. call color.bat 轮到你了#0a
  217. echo.
  218. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  219. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  220. echo.
  221. if %HP% LEQ 0 (
  222. echo.
  223. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  224. pause >nul
  225. goto END
  226. )
  227. if %HP_EN% LEQ 0 (
  228. echo %NAME_EN% 已死亡...
  229. set /a END_COMBACT=1
  230. pause >nul
  231. goto CALCOLO_EXP
  232. ) else (
  233. choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"
  234. if errorlevel 4 (
  235. echo 逃跑...
  236. if %FUGA% GEQ 50 (
  237. echo %Name%设法逃走了...
  238. pause >nul
  239. goto %AMBIENTE%
  240. ) else (
  241. echo %Name%无法逃走...
  242. pause >nul
  243. goto %TURNO_EN%
  244. )
  245. )
  246. if errorlevel 3 (
  247. if %MAGIE% EQU 0 (
  248. echo %Name%没有任何魔法... 做无用功...
  249. pause >nul
  250. goto %TURNO%
  251. )
  252. if %MAGIE% GEQ 1 goto MENU_MAGIE
  253. )
  254. if errorlevel 2 (
  255. echo 防御^^!我挡^^!^^!^^!
  256. set /a ST_DEF=1
  257. pause >nul
  258. goto %TURNO_EN%
  259. )
  260. if errorlevel 1 goto ATTACCA
  261. )
  262. :COMBACT_1_ENEMY
  263. set /a VELENO=%RANDOM% %%100
  264. set /a VAR_DAMAGE=%RANDOM% %%4
  265. if %ST_DEF% EQU 0 (
  266. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  267. ) else (
  268. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  269. )
  270. if %DAMAGE_EN% LEQ 0 (
  271. set /a DAMAGE_EN=0
  272. )
  273. cls
  274. call color.bat %NAME_EN%#0a 回合#0a
  275. echo.
  276. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  277. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  278. echo.
  279. echo %NAME_EN%攻击了%Name%...
  280. echo 攻击力: %DAMAGE_EN%
  281. set /a HP=%HP%-%DAMAGE_EN%
  282. if %HP_EN% LEQ 0 (
  283. echo %NAME_EN% 已死亡...
  284. set /a END_COMBACT=1
  285. pause >nul
  286. goto CALCOLO_EXP
  287. )
  288. if %HP% LEQ 0 (
  289. echo.
  290. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  291. pause >nul
  292. goto END
  293. )
  294. if %DAMAGE_EN% GEQ %HP_MAX% (
  295. echo.
  296. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  297. pause >nul
  298. goto END
  299. ) else (
  300. if %ST_VELENO% EQU 0 (
  301. if %VELENO% GEQ 75 (
  302. echo.
  303. echo %Name%中毒了...
  304. echo 损失: %HP_LOSE% HP
  305. set /a HP=%HP%-3
  306. set /a ST_VELENO=1
  307. if %HP% LEQ 0 (
  308. echo.
  309. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
复制代码

作者: HOPE2021    时间: 2021-11-6 11:29

新版本源码第六部分
  1. pause >nul
  2. goto END
  3. ) else (
  4. pause >nul
  5. goto %TURNO%
  6. )
  7. ) else (
  8. pause >nul
  9. goto %TURNO%
  10. )
  11. ) else (
  12. echo 损失: %HP_LOSE% HP
  13. set /a HP=%HP%-3
  14. if %HP% LEQ 0 (
  15. echo.
  16. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  17. pause >nul
  18. goto END
  19. ) else (
  20. pause >nul
  21. goto %TURNO%
  22. )
  23. )
  24. )
  25. :COMBACT_2
  26. set /a FUGA=%RANDOM% %%100
  27. set /a VAR_ATT=%RANDOM% %%5
  28. set /a VAR_MAG=%RANDOM% %%5
  29. set /a ST_DEF=0
  30. set /a COMBACT=2
  31. if %MID_COMBACT% EQU 0 (
  32. set TURNO_EN=COMBACT_2_ENEMY_NO1
  33. )
  34. if %MID_COMBACT% EQU 1 (
  35. set TURNO_EN=COMBACT_2_ENEMY_NO2
  36. )
  37. if %MID_COMBACT% EQU 2 (
  38. set TURNO_EN=COMBACT_2_ENEMY_NO1
  39. )
  40. cls
  41. call color.bat 轮到你了#0a
  42. echo.
  43. if %MID_COMBACT% EQU 0 (
  44. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  45. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  46. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  47. echo.
  48. )
  49. if %MID_COMBACT% EQU 1 (
  50. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  51. echo "%NAME_EN% -> Morto.
  52. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  53. echo.
  54. )
  55. if %MID_COMBACT% EQU 2 (
  56. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  57. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  58. echo "%NAME_EN_2% -> Morto.
  59. echo.
  60. )
  61. if %HP% LEQ 0 (
  62. echo.
  63. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  64. pause >nul
  65. goto END
  66. )
  67. if %HP_EN% LEQ 0 if %HP_EN_2% LEQ 0 (
  68. echo 僵尸死了...你看着,感到莫名的恶心...
  69. set /a END_COMBACT=1
  70. pause >nul
  71. goto CALCOLO_EXP
  72. )
  73. if %MID_COMBACT% EQU 0 (
  74. choice /N /C:12 /M "攻击谁? [1] %NAME_EN%, [2] %NAME_EN_2%"
  75. if errorlevel 2 (
  76. set /a TAG=2
  77. goto FINE_TARGET
  78. )
  79. if errorlevel 1 (
  80. set /a TAG=1
  81. goto FINE_TARGET
  82. )
  83. )
  84. if %MID_COMBACT% EQU 1 (
  85. set /a TAG=2
  86. )
  87. if %MID_COMBACT% EQU 2 (
  88. set /a TAG=1
  89. )
  90. :FINE_TARGET
  91. echo.
  92. choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"
  93. if errorlevel 4 (
  94. echo Tenti la fugga
  95. if %FUGA% GEQ 50 (
  96. echo %Name%设法逃走了...
  97. pause >nul
  98. goto %AMBIENTE%
  99. ) else (
  100. echo %Name%无法逃走...
  101. pause >nul
  102. goto %TURNO_EN%
  103. )
  104. )
  105. if errorlevel 3 (
  106. if %MAGIE% EQU 0 (
  107. echo %Name%没有任何魔法... 做无用功...
  108. pause >nul
  109. goto %TURNO%
  110. )
  111. if %MAGIE% GEQ 1 goto MENU_MAGIE
  112. )
  113. if errorlevel 2 (
  114. echo 防御^^!我挡^^!^^!^^!
  115. set /a ST_DEF=1
  116. pause >nul
  117. goto %TURNO_EN%
  118. )
  119. if errorlevel 1 goto ATTACCA
  120. :COMBACT_2_ENEMY_NO1
  121. set /a VELENO=%RANDOM% %%100
  122. set /a VAR_DAMAGE=%RANDOM% %%4
  123. if %ST_DEF% EQU 0 (
  124. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  125. ) else (
  126. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  127. )
  128. if %DAMAGE_EN% LEQ 0 (
  129. set /a DAMAGE_EN=0
  130. )
  131. if %MID_COMBACT% EQU 2 (
  132. cls
  133. call color.bat %NAME_EN%#0a 回合#0a
  134. echo.
  135. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  136. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  137. echo "%NAME_EN_2% -> Morto.
  138. echo.
  139. ) else (
  140. cls
  141. call color.bat %NAME_EN%#0a 回合#0a
  142. echo.
  143. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  144. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  145. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  146. echo.
  147. )
  148. echo %NAME_EN%攻击了%Name%...
  149. echo 攻击力: %DAMAGE_EN%
  150. set /a HP=%HP%-%DAMAGE_EN%
  151. if %MID_COMBACT% EQU 0 (
  152. if %HP_EN% LEQ 0 (
  153. echo %NAME_EN% 已死亡...
  154. set /a MID_COMBACT=1
  155. pause >nul
  156. goto COMBACT_2_ENEMY_NO2
  157. )
  158. )
  159. if %MID_COMBACT% EQU 2 (
  160. if %HP_EN% LEQ 0 (
  161. echo %NAME_EN% 已死亡...
  162. set /a END_COMBACT=1
  163. pause >nul
  164. goto CALCOLO_EXP
  165. )
  166. )
  167. if %HP% LEQ 0 (
  168. echo.
  169. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  170. pause >nul
  171. goto END
  172. )
  173. if %DAMAGE_EN% GEQ %HP_MAX% (
  174. echo.
  175. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  176. pause >nul
  177. goto END
  178. ) else (
  179. if %ST_VELENO% EQU 0 (
  180. if %VELENO% GEQ 75 (
  181. echo.
  182. echo %Name%中毒了...
  183. echo 损失: %HP_LOSE% HP
  184. set /a HP=%HP%-3
  185. set /a ST_VELENO=1
  186. if %HP% LEQ 0 (
  187. echo.
  188. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  189. pause >nul
  190. goto END
  191. ) else (
  192. pause >nul
  193. if %MID_COMBACT% EQU 0 (
  194. goto COMBACT_2_ENEMY_NO2
  195. ) else (
  196. goto %TURNO%
  197. )
  198. )
  199. ) else (
  200. pause >nul
  201. if %MID_COMBACT% EQU 0 (
  202. goto COMBACT_2_ENEMY_NO2
  203. ) else (
  204. goto %TURNO%
  205. )
  206. )
  207. ) else (
  208. echo 损失: %HP_LOSE% HP
  209. set /a HP=%HP%-3
  210. if %HP% LEQ 0 (
  211. echo.
  212. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  213. pause >nul
  214. goto END
  215. ) else (
  216. pause >nul
  217. if %MID_COMBACT% EQU 0 (
  218. goto COMBACT_2_ENEMY_NO2
  219. ) else (
  220. goto %TURNO%
  221. )
  222. )
  223. )
  224. )
  225. :COMBACT_2_ENEMY_NO2
  226. set /a VELENO=%RANDOM% %%100
  227. set /a VAR_DAMAGE=%RANDOM% %%4
  228. if %ST_DEF% EQU 0 (
  229. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  230. ) else (
  231. set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  232. )
  233. if %DAMAGE_EN% LEQ 0 (
  234. set /a DAMAGE_EN=0
  235. )
  236. if %MID_COMBACT% EQU 1 (
  237. cls
  238. call color.bat %NAME_EN_2%#0a 回合#0a
  239. echo.
  240. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  241. echo "%NAME_EN% -> Morto.
  242. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  243. echo.
  244. ) else (
  245. cls
  246. call color.bat TURNO#0a %NAME_EN_2%#0a
  247. echo.
  248. echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  249. echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  250. echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
  251. echo.
  252. )
  253. echo %NAME_EN_2%攻击了%Name%...
  254. echo 攻击力: %DAMAGE_EN%
  255. set /a HP=%HP%-%DAMAGE_EN%
  256. if %MID_COMBACT% EQU 0 (
  257. if %HP_EN_2% LEQ 0 (
  258. echo %NAME_EN_2%已死亡...
  259. set /a MID_COMBACT=2
  260. pause >nul
  261. goto COMBACT_2_ENEMY_NO1
  262. )
  263. )
  264. if %MID_COMBACT% EQU 1 (
  265. if %HP_EN_2% LEQ 0 (
  266. echo %NAME_EN_2%已死亡...
  267. set /a END_COMBACT=1
  268. pause >nul
  269. goto CALCOLO_EXP
  270. )
  271. )
  272. if %HP% LEQ 0 (
  273. echo.
  274. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  275. pause >nul
  276. goto END
  277. )
  278. if %DAMAGE_EN% GEQ %HP_MAX% (
  279. echo.
  280. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  281. pause >nul
  282. goto END
  283. ) else (
  284. if %ST_VELENO% EQU 0 (
  285. if %VELENO% GEQ 75 (
  286. echo.
  287. echo %Name%中毒了...
  288. echo 损失: %HP_LOSE% HP
  289. set /a HP=%HP%-3
  290. set /a ST_VELENO=1
  291. if %HP% LEQ 0 (
  292. echo.
  293. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  294. pause >nul
  295. goto END
  296. ) else (
  297. pause >nul
  298. goto %TURNO%
  299. )
  300. ) else (
  301. pause >nul
  302. goto %TURNO%
  303. )
  304. ) else (
  305. echo 损失: %HP_LOSE% HP
  306. set /a HP=%HP%-3
  307. if %HP% LEQ 0 (
  308. echo.
  309. echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  310. pause >nul
  311. goto END
  312. ) else (
  313. pause >nul
  314. goto %TURNO%
  315. )
  316. )
  317. )
  318. :END
  319. echo Game Over...
  320. pause >nul
  321. exit
复制代码

作者: Batcher    时间: 2021-11-6 12:04

回复 2# HOPE2021


    建议把完整代码打包上传到网盘,太长的代码不要这样分开发,不适合他人查看。
作者: netbenton    时间: 2021-11-6 12:16

还真有人想法跟我一样!我一直梦想用批处理做一个完美的RPG游戏。但楼主转的这个还不能算一个满意的答卷。哈哈,加油!
作者: HOPE2021    时间: 2021-11-6 12:18

下载链接:https://share.weiyun.com/4WvdvSkY
原文链接:https://www.dostips.com/forum/vi ... ;t=9848&p=63348
作者: HOPE2021    时间: 2021-11-6 12:25

回复 15# netbenton
多谢夸赞,您的扫雷才是真正的完美,这是我加过鼠标的版本,请您过目:http://cndos.fam.cx/forum/viewthread.php?tid=47761&fpage=0&highlight=&page=2 第25楼
作者: netbenton    时间: 2021-11-7 01:49

回复 17# HOPE2021


  谢谢评价。
鼠标三方不错。坐标列有点点问题,我改了一下,并把插旗改成红色标记了。
作者: HOPE2021    时间: 2021-11-7 09:06

回复 18# netbenton
谢谢您的评价。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2