找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 56589|回复: 18

[其他] [转载自Dostips] 游戏 劳里的幻想世界

[复制链接]
发表于 2021-10-4 13:17:30 | 显示全部楼层 |阅读模式
本帖最后由 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.                
  74.                 choice /N /C:SN
  75.                
  76.                 if errorlevel 2 (
  77.                         echo.
  78.                         echo 新的开始.
  79.                         pause >nul
  80.                        
  81.                         goto START
  82.                 )
  83.                 if errorlevel 1 (
  84.                         for /F "usebackq tokens=1-18 delims=," %%G in ("%UserProFile%\Save.Txt") do (
  85.                                 set AMBIENTE=%%G
  86.                                 set ATT=%%H
  87.                                 set DIF=%%I
  88.                                 set MAG=%%J
  89.                                 set DIF_M=%%K
  90.                                 set HP_MAX=%%L
  91.                                 set HP=%%M
  92.                                 set MAGIE=%%N
  93.                                 set LV=%%O
  94.                                 set EXP=%%P
  95.                                 set END_COMBACT=%%Q
  96.                                 set EQUIP_ARM=%%R
  97.                                 set EQUIP_CORPO=%%S
  98.                                 set EQUIP_ELM=%%T
  99.                                 set NAME=%%U
  100.                                 set SWT_LOC_A=%%V
  101.                                 set GOLD=%%W
  102.                                 set STORY=%%X
  103.                                 set /a ST_VELENO=0
  104.                                 set NAME_EN=
  105.                                 set /a HP_LOSE=3

  106.                                 set /a LOOP_L=0
  107.                                
  108.                                 goto LOOP_ECHO_LOAD
  109.                         )
  110.                 )
  111.         ) else (
  112.                 goto START
  113.         )

  114. :SAVE
  115.         set /a LOOP_S=0
  116.        
  117.         goto LOOP_ECHO_SAVE
  118.                
  119. :LOOP_ECHO_LOAD
  120.         if %LOOP_L% EQU 0 (
  121.                 cls
  122.                 echo.
  123.                 echo 正在加载 .
  124.                 set /a LOOP_L=%LOOP_L%+1
  125.                
  126.                 choice /N /C:P /T 1 /D P
  127.                 goto LOOP_ECHO_LOAD
  128.         )
  129.                                
  130.         if %LOOP_L% EQU 1 (
  131.                 cls
  132.                 echo.
  133.                 echo 正在加载 . .
  134.                 set /a LOOP_L=%LOOP_L%+1
  135.                
  136.                 choice /N /C:P /T 1 /D P
  137.                 goto LOOP_ECHO_LOAD
  138.         )
  139.        
  140.         if %LOOP_L% EQU 2 (
  141.                 cls
  142.                 echo.
  143.                 echo 正在加载 . . .
  144.                 set /a LOOP_L=0

  145.                 choice /N /C:P /T 1 /D P
  146.                 if errorlevel 1 goto %AMBIENTE%
  147.         )

  148. :LOOP_ECHO_SAVE
  149.         if %LOOP_S% EQU 0 (
  150.                 cls
  151.                 echo.
  152.                 echo 存档中 .
  153.                 set /a LOOP_S=%LOOP_S%+1
  154.                 choice /N /C:P /T 1 /D P
  155.                
  156.                 goto LOOP_ECHO_SAVE
  157.         )
  158.                                
  159.         if %LOOP_S% EQU 1 (
  160.                 cls
  161.                 echo.
  162.                 echo 存档中 . .
  163.                 set /a LOOP_S=%LOOP_S%+1
  164.                 choice /N /C:P /T 1 /D P
  165.                        
  166.                 goto LOOP_ECHO_SAVE
  167.         )
  168.        
  169.         if %LOOP_S% EQU 2 (
  170.                 cls
  171.                 echo.
  172.                 echo 存档中 . . .
  173.                 set /a LOOP_S=0

  174.                 choice /N /C:P /T 2 /D P
  175.                 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"

  176.                 goto %AMBIENTE%
  177.         )
  178.        
  179. :START
  180. set /a EQUIP_ARM=0
  181. :: 3= SPADA ATT +3
  182. :: 5= LANCIA ATT +5
  183. :: 7= PUGNALE ATT +7
  184. :: 2= ASTA +2 MAG
  185. :: 4= PISTOLA +4 MAG
  186. :: 8= LONGINUS +8 MAG

  187. set /a EQUIP_CORPO=0
  188. :: 1= MAGLIA DIF +1
  189. :: 3= GIUBOTTO DIF+3
  190. :: 8= CORAZZA DIF +8

  191. set /a EQUIP_ELM=0
  192. :: 2= CAPPELLO DIF_MAG +2
  193. :: 5= BASCO DIF_MAG +5
  194. :: 7= ELMO DIF_MAG +7

  195. set /a ATT=2
  196. set /a DIF=1
  197. set /a MAG=0
  198. set /a DIF_M=0
  199. set /a EXP=0
  200. set /a HP=30
  201. set /a HP_MAX=30
  202. set /a LV=1

  203. set /a ST_VELENO=0
  204. :: 1= AVVELENATO

  205. set /a HP_LOSE=3
  206. :: HP PERSI PER EFFETTO DEL VELENO

  207. set /a END_COMBACT=0

  208. set /a MAGIE=0
  209. :: FIRE=1
  210. :: ICE=2
  211. :: ENERGIA=3
  212. :: IDRO=4
  213. :: THUNDER=5
  214. :: ESNA=6

  215. set /a SWT_LOC_A=0
  216. :: VARIABILE PER I SOLDI TROVATI NEL MONDO

  217. set /a GOLD=0
  218. ::SOLDI DEL GIOCO

  219. set /a STORY=0
  220. ::VARIABILE DELLA STORIA

  221. set NAME_EN=


  222. cls
  223. echo.欢迎来到虚拟世界,这里使用了有史以来最好的图形引擎,你的大脑^^!
  224. pause >nul

  225. cls

  226. call color.bat 选择 [S]#0c 开始或选择 [N]#0c 退出
  227. choice /N /C:SN

  228. if errorlevel 2 goto END
  229. if errorlevel 1 goto BEGIN_GAME

  230. :BEGIN
  231.         cls
  232.         call color.bat 你的房子#0a
  233.         echo.
  234.         echo 你是离开房子还是在房间里踱步?

  235.         call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  236.         choice /N /C:AD
  237.        
  238.         if errorlevel 2 goto IN_HOME
  239.         if errorlevel 1 goto OUT_HOME

  240. :BEGIN_GAME
  241.         echo.
  242.         set /p NAME=你的名字叫什么?

  243.         if /i DEFINED NAME (
  244.                 echo.
  245.                 echo %NAME%你好, 你好,欢迎来到劳里的世界^^!
  246.                 echo 你准备好开始你的冒险了吗?
  247.                 call color.bat 按 [Enter键]#0c 开始。
  248.                 pause >nul
  249.         ) else (
  250.                 cls
  251.                 echo 请输入您的姓名^^!
  252.                 pause >nul
  253.                 goto BEGIN_GAME
  254.         )

  255. cls
  256. call color.bat 你的房子#0a
  257. echo.
  258. echo 嗯,刚刚醒来,马上就发现了一些奇怪的事情...
  259. echo 是啊...太安静了,有点不对劲...
  260. echo 走近前门想做点什么...
  261. echo 是离开房子还是在房间里踱步?

  262.         call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  263.         choice /N /C:AD
  264.        
  265.         if errorlevel 2 goto IN_HOME
  266.         if errorlevel 1 goto OUT_HOME

  267.         :OUT_HOME
  268.                 cls
  269.                 call color.bat 屋外#0a
  270.                 echo.
  271.                 echo 我听不到任何噪音...
  272.                 echo 我步行时注意到朋友的房子...
  273.                 echo 门开着...
  274.                 echo 决定进去还是继续?
  275.                
  276.                 call color.bat 选择 [A]#0c 进入或选择 [D]#0c 继续或 [X]#0c 返回
  277.                 choice /N /C:ADX
  278.                
  279.                 if errorlevel 3 goto BEGIN
  280.                 if errorlevel 2 goto STREET
  281.                 if errorlevel 1 goto FRIEND_HOUSE

  282.         :IN_HOME
  283.                 cls
  284.                 call color.bat 走廊#0a
  285.                 echo.
  286.                 echo 想去哪个房间?

  287.                 call color.bat 选择 [A]#0c 去厨房 [D]#0c 去卧室 [G]#0c 去浴室 [J]#0c 客厅
  288.                 choice /N /C:ADGJ

  289.                 if errorlevel 4 goto SALA
  290.                 if errorlevel 3 goto BAGNO
  291.                 if errorlevel 2 goto CAMERA
  292.                 if errorlevel 1 goto CUCINA

  293.                 :CUCINA
  294.                         cls
  295.                         call color.bat 厨房#0a
  296.                         echo.
  297.                         echo 这里也没有人...电线断了...
  298.                         echo 妈妈一定忘了关上它...
  299.                         echo 回去吧...
  300.                         pause >nul
  301.                         goto BEGIN
  302.                 :CAMERA
  303.                         if %EQUIP_ARM% EQU 0 (
  304.                                 cls
  305.                                 call color.bat 卧室#0a
  306.                                 echo.
  307.                                 echo 床没铺好...
  308.                                 echo 我检查了壁橱...
  309.                                 call color.bat 找到#03 黑桃#0c [ATT#0c +3]#0c
  310.                                 set /a EQUIP_ARM=3
  311.                                 echo 回去吧...
  312.                                 pause >nul
  313.                                 goto BEGIN
  314.                         )
  315.                         if %EQUIP_ARM% GEQ 1 (
复制代码
 楼主| 发表于 2021-10-4 13:18:16 | 显示全部楼层
回复 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.                
  37.                         call color.bat 选择 [A]#0c 给朋友打电话或选择 [D]#0c 检查房间
  38.                         choice /N /C:AD

  39.                         if errorlevel 2 goto ROOM_FRIEND_HOUSE
  40.                         if errorlevel 1 goto VOICE_1
  41.                 ) else (
  42.                         cls
  43.                         call color.bat 朋友的家#0a
  44.                         echo.
  45.                         echo 一个死去的僵尸躺在地上...
  46.                         echo 似乎没有什么有趣的事...
  47.                         pause >nul
  48.                         goto OUT_HOME
  49.                 )

  50.                 :ROOM_FRIEND_HOUSE
  51.                         cls
  52.                         call color.bat 房间#0a
  53.                         echo.
  54.                         echo 哦,我的天啊,真是太可怕了...
  55.                         echo 我的邻居好像变成了僵尸^^!^^!^^!
  56.                         echo 攻击我^^!^^!^^!
  57.                         echo.
  58.                         pause >nul

  59.                                 set /a HP_EN=20
  60.                                 set /a HP_MAX_EN=20
  61.                                 set /a ATT_EN=1
  62.                                 set /a DIF_EN=1
  63.                                 set /a MAG_EN=0
  64.                                 set /a DIF_M_EN=0

  65.                                 set NAME_EN=僵尸
  66.                                 set AMBIENTE=FRIEND_HOUSE
  67.                                 set TURNO=COMBACT_1
  68.                                 set TURNO_EN=COMBACT_1_ENEMY

  69.                                 set /a ST_VELENO=0

  70.                                 set /a EXP_EN=3
  71.                                
  72.                                 goto COMBACT_1

  73.         :VOICE_1
  74.                 cls.
  75.                 call color.bat 朋友的家#0a
  76.                 echo.
  77.                 echo 试着打电话给邻居,
  78.                 echo 似乎没有人回答...
  79.                 echo %Name%试着提高声音...
  80.                 echo 有奇怪的吼声... 从房间里传来...
  81.                 echo 发生了什么?

  82.                 call color.bat 是要离开 [A]#0c 还是检查 [D]#0c
  83.                 choice /N /C:AD

  84.                 if errorlevel 2 goto ROOM_FRIEND_HOUSE
  85.                 if errorlevel 1 goto OUT_HOME
  86.                
  87.         :STREET
  88.                 cls
  89.                 call color.bat 街头#0a
  90.                 echo.
  91.                 echo 你站在十字路口...
  92.                 echo 冷风飒飒... 乌云密布
  93.                 echo 一个指示牌歪歪斜斜... 指着东南西北...
  94.                 echo.
  95.                 echo 该向那儿走?
  96.                 call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  97.                
  98.                 choice /N /C:WADX

  99.                 if errorlevel 4 goto OUT_HOME
  100.                 if errorlevel 3 goto STREET_E
  101.                 if errorlevel 2 goto STREET_O
  102.                 if errorlevel 1 goto STREET_N

  103.         :STREET_N
  104.                 cls
  105.                 call color.bat 街头#0a
  106.                 echo.
  107.                 call color.bat [W]#0c 继续前行 [X]#0c 打道回府

  108.                 choice /N /C:WX

  109.                 if errorlevel 2 goto STREET
  110.                 if errorlevel 1 goto STREET_NN
  111.                
  112.                 :STREET_NN
  113.                         cls
  114.                         call color.bat 街头#0a
  115.                         echo.
  116.                         echo 这条路似乎到此为止...
  117.                         echo 最好回去...
  118.                         pause >nul
  119.        
  120.                         goto STREET_N

  121.         :STREET_O
  122.                 cls
  123.                 call color.bat 街头#0a
  124.                 echo.
  125.                 echo %Name%看到一座尖塔...
  126.                 call color.bat [W]#0c 直走 [A]#0c 左转 [X]#0c 返回

  127.                 choice /N /C:WAX

  128.                 if errorlevel 3 goto STREET
  129.                 if errorlevel 2 goto STREET_OS
  130.                 if errorlevel 1 goto STREET_OO

  131.                 :STREET_OO
  132.                         cls
  133.                         call color.bat 街头#0a
  134.                         echo.
  135.                         call color.bat [W]#0c 直走 [X]#0c 返回

  136.                         choice /N /C:WX

  137.                         if errorlevel 2 goto STREET_O
  138.                         if errorlevel 1 goto STREET_OOO
  139.                
  140.                         :STREET_OOO
  141.                                 cls
  142.                                 call color.bat 街头#0a
  143.                                 echo.
  144.                                 echo %Name%看到一座尖塔...
  145.                                 call color.bat [W]#0c 直走 [A]#0c 向左走 [D]#0c 向右走 [X]#0c 返回

  146.                                 choice /N /C:WADX

  147.                                 if errorlevel 4 goto STREET_OO
  148.                                 if errorlevel 3 goto STREET_OOON
  149.                                 if errorlevel 2 goto STREET_OOOS
  150.                                 if errorlevel 1 goto STREET_OOOO
  151.                                
  152.                                 :STREET_OOON
  153.                                         cls
  154.                                         call color.bat 街头#0a
  155.                                         echo.
  156.                                         echo 去酒吧,也许是个好主意...
  157.                                         echo 进去,我可以喝一杯或者...
  158.                                         echo 也许我应该晚一点回去...
  159.                                         echo.
  160.                                        
  161.                                         call color.bat [A]#0c 进去 [D]#0c 返回
  162.                                        
  163.                                         choice /N /C:AD
  164.                                        
  165.                                         if errorlevel 2 goto STREET_OOO
  166.                                         if errorlevel 1 goto BAR_1
  167.                                        
  168.                                 :STREET_OOOO
  169.                                         if %SWT_LOC_A% EQU 0 (
  170.                                                 cls
  171.                                                 call color.bat 街头#0a
  172.                                                 echo.
  173.                                                 echo 嘿,你找到3块金子了^^!
  174.                                                 set /a GOLD=%GOLD%+3
  175.                                                 pause >nul
  176.                                                
  177.                                                 set /a SWT_LOC_A=1
  178.                                                 goto STREET_OOO
  179.                                         )
  180.                                        
  181.                                         if %SWT_LOC_A% EQU 1 (
  182.                                                 cls
  183.                                                 call color.bat 街头#0a
  184.                                                 echo.
  185.                                                 echo 这里什么也没有... 这条路似乎到此为止...
  186.                                                 echo 最好回去...
  187.                                                 pause >nul

  188.                                                 goto STREET_OOO
  189.                                         )

  190.                                 :STREET_OOOS
  191.                                        
  192.                                         cls
  193.                                         call color.bat 街头#0a
  194.                                         echo.
  195.                                         echo 这条路似乎到此为止...
  196.                                                         echo 最好回去...
  197.                                         pause >nul

  198.                                         goto STREET_OOO
  199.                 :STREET_OS
  200.                         cls
  201.                         call color.bat 街头#0a
  202.                         echo.
  203.                         call color.bat [W]#0c 直走 [X]#0c 返回

  204.                         choice /N /C:WX

  205.                         if errorlevel 2 goto STREET_O
  206.                         if errorlevel 1 goto STREET_OSS

  207.                         :STREET_OSS
  208.                                 cls
  209.                                 call color.bat 街头#0a
  210.                                 echo.
  211.                                 echo %Name%找到了一个休息的地方,
  212.                                 echo 这里可以恢复精力...
  213.                                 set /a HP=%HP_MAX%
  214.                                 pause >nul

  215.                                 echo.
  216.                                 call color.bat [D]#0c 向右 [X]#0c 返回

  217.                                 choice /N /C:DX

  218.                                 if errorlevel 2 goto STREET_OS
  219.                                 if errorlevel 1 goto STREET_OSSO

  220.                                 :STREET_OSSO
  221.                                         cls
  222.                                         call color.bat 街头#0a
  223.                                         echo.
  224.                                         echo %Name%遇到了一个僵尸...
  225.                                         echo 它攻击%Name%
  226.                                         echo.
  227.                                         pause >nul

  228.                                                 set /a HP_EN=25
  229.                                                 set /a HP_MAX_EN=25
  230.                                                 set /a ATT_EN=1
  231.                                                 set /a DIF_EN=2
  232.                                                 set /a MAG_EN=0
  233.                                                 set /a DIF_M_EN=0

  234.                                                 set NAME_EN=僵尸
  235.                                                 set AMBIENTE=STREET_OSS
  236.                                                 set TURNO=COMBACT_1
  237.                                                 set TURNO_EN=COMBACT_1_ENEMY

  238.                                                 set /a ST_VELENO=0
  239.        
  240.                                                 set /a EXP_EN=7
  241.                                
  242.                                                 goto COMBACT_1


  243.         :STREET_E
  244.                 cls
  245.                 call color.bat 街头#0a
  246.                 echo.
  247.                 echo %Name%看到一座尖塔...
  248.                 call color.bat [A]#0c 向左 [D]#0c 向右 [X]#0c 返回

  249.                 choice /N /C:ADX

  250.                 if errorlevel 3 goto STREET
  251.                 if errorlevel 2 goto STREET_ES
  252.                 if errorlevel 1 goto STREET_EN

  253.                 :STREET_EN
  254.                         cls
  255.                         call color.bat 街头#0a
  256.                         echo.
  257.                         call color.bat [D]#0c 向右 [X]#0c 返回

  258.                         choice /N /C:DX

  259.                         if errorlevel 2 goto STREET_E
  260.                         if errorlevel 1 goto STREET_ENE
  261.                        
  262.                         :STREET_ENE
  263.                                 cls
  264.                                 call color.bat 街头#0a
  265.                                 echo.
  266.                                 call color.bat [W]#0c 直走 [X]#0c 返回

  267.                                 choice /N /C:WX

  268.                                 if errorlevel 2 goto STREET_EN
  269.                                 if errorlevel 1 goto STREET_ENEE
  270.                                
  271.                                 :STREET_ENEE
  272.                                         cls
  273.                                         call color.bat 街头#0a
  274.                                         echo.
  275.                                         echo %Name%找到了一个休息的地方,
  276.                                         echo 这里可以恢复精力...
  277.                                         set /a HP=%HP_MAX%
  278.                                         pause >nul

  279.                                         echo.
  280.                                         call color.bat [X]#0c 返回

  281.                                         choice /N /C:X

  282.                                         if errorlevel 1 goto STREET_ENE
  283.                                
  284.                 :STREET_ES
  285.                         cls
  286.                         call color.bat 街头#0a
  287.                         echo.
  288.                         echo %Name%看到一座尖塔...
  289.                         call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回

  290.                         choice /N /C:WADX

  291.                         if errorlevel 4 goto STREET_E
  292.                         if errorlevel 3 goto STREET_ESO
  293.                         if errorlevel 2 goto STREET_ESE
  294.                         if errorlevel 1 goto STREET_ESS
  295.                        
  296.                         :STREET_ESO
  297.                                 cls
  298.                                 call color.bat 街头#0a
  299.                                 echo.
  300.                                 call color.bat [W]#0c 直走 [X]#0c 返回

复制代码
 楼主| 发表于 2021-10-4 13:19:29 | 显示全部楼层
回复 2# HOPE2021
源码第三部分:
  1.                                 choice /N /C:WX

  2.                                 if errorlevel 2 goto STREET_ES
  3.                                 if errorlevel 1 goto STREET_ESOO
  4.                
  5.                         :STREET_ESE
  6.                                 cls
  7.                                 call color.bat 街头#0a
  8.                                 echo.
  9.                                 call color.bat [W]#0c 直走 [X]#0c 返回

  10.                                 choice /N /C:WX
  11.        
  12.                                 if errorlevel 2 goto STREET_ES
  13.                                 if errorlevel 1 goto STREET_ESEE
  14.                        
  15.                         :STREET_ESS
  16.                                 cls
  17.                                 call color.bat 街头#0a
  18.                                 echo.
  19.                                 call color.bat [A]#0c 向左 [X]#0c 返回

  20.                                 choice /N /C:AX

  21.                                 if errorlevel 2 goto STREET_ES
  22.                                 if errorlevel 1 goto STREET_ESSE
  23.                        
  24.                                 :STREET_ESOO
  25.                                         cls
  26.                                         call color.bat 街头#0a
  27.                                         echo.
  28.                                         echo 这条路似乎到此为止...
  29.                                         echo 最好回去...
  30.                                         pause >nul
  31.                                
  32.                                         goto STREET_ESO
  33.                                        
  34.                                 :STREET_ESEE
  35.                                         cls
  36.                                         call color.bat COMBATTI#0a
  37.                                         echo.
  38.                                         echo %Name%遇到了一个僵尸...
  39.                                         echo 它攻击%Name%
  40.                                         echo.
  41.                                         pause >nul
  42.                                        
  43.                                                 set /a HP_EN=25
  44.                                                 set /a HP_MAX_EN=25
  45.                                                 set /a ATT_EN=1
  46.                                                 set /a DIF_EN=2
  47.                                                 set /a MAG_EN=0
  48.                                                 set /a DIF_M_EN=0

  49.                                                 set NAME_EN=僵尸
  50.                                                 set AMBIENTE=STREET_ESE
  51.                                                 set TURNO=COMBACT_1
  52.                                                 set TURNO_EN=COMBACT_1_ENEMY

  53.                                                 set /a ST_VELENO=0
  54.        
  55.                                                 set /a EXP_EN=7
  56.                                
  57.                                                 goto COMBACT_1
  58.                                
  59.                                 :STREET_ESSE
  60.                                         cls
  61.                                         call color.bat 街头#0a
  62.                                         echo.
  63.                                         echo %Name%看到一座尖塔...
  64.                                         call color.bat [W]#0c 直走 [D]#0c 向右 [X]#0c 返回

  65.                                         choice /N /C:WDX

  66.                                         if errorlevel 3 goto STREET_ESS
  67.                                         if errorlevel 2 goto STREET_ESSES
  68.                                         if errorlevel 1 goto STREET_ESSEE
  69.                                        
  70.                                         :STREET_ESSES
  71.                                                 cls
  72.                                                
  73.                                                 if %STORY% LEQ 0 (
  74.                                                         call color.bat 街边-森林#0a
  75.                                                         echo.
  76.                                                         echo %Name%走进一片森林,听到远处有人声...
  77.                                                         echo 还是检查一下吧...
  78.                                                         echo.
  79.                                                         echo 那是%Name%遇见伴侣的时候...
  80.                                                         pause >nul
  81.                                                
  82.                                                         goto BOSCO
  83.                                                 ) else (
  84.                                                         call color.bat 街边-森林#0a
  85.                                                         echo.
  86.                                                         echo %Name%已经到达一个森林的入口,想做什么?
  87.                                                         call color.bat [W]#0c 去森林 [X]#0c 返回
  88.                                                         choice /N /C:WX
  89.                                                        
  90.                                                         if errorlevel 2 goto STREET_ESSE
  91.                                                         if errorlevel 1 goto BOSCO
  92.                                                 )
  93.                                        
  94.                                         :STREET_ESSEE
  95.                                                 cls
  96.                                                 call color.bat 街头#0a
  97.                                                 echo.
  98.                                                 echo 这条路似乎到此为止...
  99.                                                         echo 最好回去...
  100.                                                 pause >nul
  101.                                
  102.                                                 goto STREET_ESSE
  103.                                                
  104.         :BOSCO
  105.                 if %STORY% LEQ 0 (
  106.                         cls
  107.                         call color.bat 森林#0a
  108.                         echo.
  109.                         echo 嘿,前面有很多僵尸...
  110.                         echo 这里,可能需要这个...
  111.                         echo 啊,但是后来我听说了一家商店...
  112.                         echo 在那里... 哦,可以买一些必需品...
  113.                         echo.
  114.                         echo 您已获得: 毛衣
  115.                         set /a EQUIP_CORPO=1
  116.                         set /a STORY=%STORY%+1
  117.                         echo.
  118.                         echo 乔瓦尼离开了,呆在森林的你开始做什么?
  119.                         echo 继续前行还是返回?
  120.                        
  121.                         call color.bat [W]#0c 继续向前 [X]#0c 返回
  122.                         choice /N /C:WX
  123.                        
  124.                         if errorlevel 2 goto STREET_ESSES
  125.                         if errorlevel 1 goto BOSCO_1
  126.                 ) else (
  127.                         cls
  128.                         call color.bat 森林#0a
  129.                         echo.
  130.                         echo 你在树林里干什么?
  131.                         echo 继续前行或返回?
  132.                        
  133.                         call color.bat [W]#0c 继续前行 [X]#0c 返回
  134.                         choice /N /C:WX
  135.                        
  136.                         if errorlevel 2 goto STREET_ESSES
  137.                         if errorlevel 1 goto BOSCO_1
  138.                 )
  139.                
  140.         :BOSCO_1
  141.                 set /a VAR_INC=%RANDOM% %%100
  142.                
  143.                 if !VAR_INC! GEQ 60 (
  144.                         cls
  145.                         call color.bat 森林-战场#0a
  146.                         echo.
  147.                         echo %Name%遇到一个僵尸,它攻击%Name%...
  148.                         pause >nul
  149.                        
  150.                         set /a HP_EN=40
  151.                         set /a HP_MAX_EN=40
  152.                         set /a ATT_EN=4
  153.                         set /a DIF_EN=5
  154.                         set /a MAG_EN=0
  155.                         set /a DIF_M_EN=0

  156.                         set NAME_EN=僵尸1
  157.                         set AMBIENTE=BOSCO
  158.                         set TURNO=COMBACT_1
  159.                         set TURNO_EN=COMBACT_1_ENEMY

  160.                         set /a ST_VELENO=0

  161.                         set /a EXP_EN=10

  162.                         goto COMBACT_1
  163.                 ) else (
  164.                         cls
  165.                         call color.bat 森林#0a
  166.                         echo.
  167.                         echo 没有动静... 什么都没有吗?
  168.                         call color.bat [S]#0c 是的 [N]#0c 不是

  169.                         choice /N /C:SN

  170.                         if errorlevel 2 goto BOSCO
  171.                         if errorlevel 1 goto END
  172.                 )

  173.                 if !VAR_INC! GEQ 83 (
  174.                         cls
  175.                         call color.bat 森林-战场#0a
  176.                         echo.
  177.                         echo %Name%遇到两个僵尸,他们攻击%Name%^^!^^!^^!
  178.                         pause >nul

  179.                         set /a HP_EN=40
  180.                         set /a HP_MAX_EN=40
  181.                         set /a ATT_EN=4
  182.                         set /a DIF_EN=5
  183.                         set /a MAG_EN=0
  184.                         set /a DIF_M_EN=0

  185.                         set /a HP_EN_2=20
  186.                         set /a HP_MAX_EN_2=20
  187.                         set /a ATT_EN_2=3
  188.                         set /a DIF_EN_2=3
  189.                         set /a MAG_EN_2=0
  190.                         set /a DIF_M_EN_2=0

  191.                         set NAME_EN=僵尸1
  192.                         set NAME_EN_2=僵尸2
  193.                         set AMBIENTE=BOSCO
  194.                         set TURNO=COMBACT_2
  195.                         set TURNO_EN=COMBACT_2_ENEMY_NO1

  196.                         set /a MID_COMBACT=0

  197.                         set /a ST_VELENO=0

  198.                         set /a EXP_EN=10

  199.                         goto COMBACT_2
  200.                 ) else (
  201.                         cls
  202.                         call color.bat 森林#0a
  203.                         echo.
  204.                         echo 好像什么动静都没有... 但这是真的吗?
  205.                         call color.bat [S]#0c 是的 [N]#0c 不是

  206.                         choice /N /C:SN

  207.                         if errorlevel 2 goto BOSCO
  208.                         if errorlevel 1 goto END
  209.                 )
  210.                
  211.         :BAR_1
  212.                 set AMBIENTE=BAR_1
  213.                 cls
  214.         :S_BAR_DOMANDA
  215.                 call color.bat 酒吧#0a
  216.                 echo.
  217.                 echo ---==^> 归 %GOLD% 块金子的人所有 ^<==---
  218.                 echo.
  219.                 echo 欢迎来到这里最特别的酒吧,哈哈 ^^!^^!^^!
  220.                 echo 是啊... 你偶尔也会笑,这对你有好处...
  221.                 echo 回到我们这里,你想要什么?
  222.                 echo 如果你不知道该带什么,你可以写"Chiedi"来问我
  223.        
  224.         :S_BAR_DOMANDA_1
  225.                 echo.
  226.                 echo 你的愿望是什么?
  227.                 set /p DOMANDA=
  228.                
  229.                 if /i DEFINED DOMANDA (
  230.                         goto S_BAR_MENU
  231.                 ) else (
  232.                         echo.
  233.                                 echo 我不明白... 试着键入"Chiedi"
  234.                         pause >nul
  235.                         cls
  236.                         goto S_BAR_DOMANDA
  237.                 )
  238.        
  239.         :S_BAR_MENU
  240.         if /i %DOMANDA%==Chiedi (
  241.                 cls
  242.                 call color.bat BAR#0a
  243.                 echo.
  244.                 echo 菜单:
  245.                 echo.
  246.                 echo    - BEVI    -^> 查看鸡尾酒菜单.
  247.                 echo    - MANGIA  -^> 查看甜品菜单.
  248.                 echo    - SALVA   -^> 保存游戏进度.
  249.                 echo    - ESCI    -^> 离开酒吧.
  250.                
  251.                 goto S_BAR_DOMANDA_1
  252.         )

  253.         :MENU_BEVI
  254.         if /i %DOMANDA%==Bevi (
  255.                 cls
  256.                 call color.bat 菜单#0a
  257.                 echo.
  258.                 echo 菜单:
  259.                 echo.
  260.                 echo.    酒品        价格^(G块金子^)
  261.                 echo.  ------====^>^>^> ^<^<^<====------
  262.                 echo   - Campari              ^(3G^)
  263.                 echo   - Aperol               ^(4G^)
  264.                 echo   - Niente
  265.                
  266.                 echo.
  267.                 echo 你的愿望是什么[ 键入 Campari 或 Aperol 即可买酒 , 键入 Niente 即可返回 ]?
  268.                
  269.                 set /p BEVI=
  270.                 goto BEVI
  271.         )
  272.                
  273.         if /i %DOMANDA%==Mangia (

  274.                 cls
  275.                 call color.bat 菜单#0a
  276.                 echo.
  277.                 echo 菜单:
  278.                 echo.
  279.                 echo.    甜品        价格^(G块金子^)
  280.                 echo.  ------====^>^>^> ^<^<^<====------
  281.                 echo   - Struffoli            ^(3G^)
  282.                 echo   - Cassata              ^(4G^)
  283.                 echo   - Tiramisu             ^(5G^)
  284.                 echo   - Niente
  285.                
  286.                 echo.
  287.                 echo 你的愿望是什么[ 键入 Struffoli / Cassata / Tiramisu 即可购买甜品 , 键入 Niente 即可返回 ]?
  288.                
  289.                 set /p MANGIA=
  290.                 goto MANGIA
  291.         )
  292.                
  293.         if /i %DOMANDA%==Salva (
  294.                 echo.
  295.                 goto SAVE
  296.         )
  297.        
  298.         if /i %DOMANDA%==Esci (
  299.                 echo.
  300.                 echo %Name%离开了酒吧.
  301.                 pause >nul
  302.                 cls
  303.                 goto STREET_OOON
  304.         )
  305.                
  306.         echo.
  307.         echo 我不明白... 试着键入"Chiedi"
  308.         pause >nul
  309.         cls
  310.         goto S_BAR_DOMANDA
  311.                
  312.         :BEVI
  313.         if /i %BEVI%==Campari (
  314.                 if %GOLD% GEQ 3 (
  315.                         echo 这是你的 !BEVI! 和气泡酒
  316.                         echo 你想要更多吗?
  317.                         pause >nul
  318.                         set /a GOLD=%GOLD%-3
  319.                         goto S_BAR_MENU
  320.                 ) else (
  321.                         echo 你没有金子...
  322.                         echo 你想要更多吗?
  323.                         pause >nul
  324.                         goto S_BAR_MENU
复制代码
 楼主| 发表于 2021-10-4 13:20:07 | 显示全部楼层
回复 3# HOPE2021
源码第五部分:
  1.                 )
  2.         )
  3.        
  4.         if /i %BEVI%==Aperol (
  5.                 if %GOLD% GEQ 4 (
  6.                         echo 这是你的Spritz鸡尾酒... 祝你享受威尼斯的夕阳...
  7.                         echo 你想要更多吗?
  8.                         pause >nul
  9.                         set /a GOLD=%GOLD%-4
  10.                         goto S_BAR_MENU
  11.                 ) else (
  12.                         echo 你没有金子...
  13.                         echo 你想要更多吗?
  14.                         pause >nul
  15.                         goto S_BAR_MENU
  16.                 )
  17.         )
  18.        
  19.         if /i %BEVI%==Niente (
  20.                 echo 好的
  21.                 pause >nul
  22.                 cls
  23.                 goto S_BAR_DOMANDA
  24.         )
  25.        
  26.         echo.
  27.         echo 我不明白... 试着键入"Chiedi"
  28.         pause >nul
  29.         goto MENU_BEVI
  30.        
  31.         :MANGIA

  32.         if /i %MANGIA%==Struffoli (
  33.                 if %GOLD% GEQ 3 (
  34.                         echo 这是你的蜂蜜糖球...
  35.                         echo 你想要更多吗?
  36.                         pause >nul
  37.                         set /a GOLD=%GOLD%-3
  38.                         goto S_BAR_MENU
  39.                 ) else (
  40.                         echo 你没有金子...
  41.                         echo 你想要更多吗?
  42.                         pause >nul
  43.                         goto S_BAR_MENU
  44.                 )
  45.         )
  46.        
  47.         if /i %MANGIA%==Aperol (
  48.                 if %GOLD% GEQ 4 (
  49.                         echo 这是你的卡萨塔... 祝你享受西西里的快乐...
  50.                         echo 你想要更多吗?
  51.                         pause >nul
  52.                         set /a GOLD=%GOLD%-4
  53.                         goto S_BAR_MENU
  54.                 ) else (
  55.                         echo 你没有金子...
  56.                         echo 你想要更多吗?
  57.                         pause >nul
  58.                         goto S_BAR_MENU
  59.                 )
  60.         )
  61.        
  62.         if /i %MANGIA%==Aperol (
  63.                 if %GOLD% GEQ 5 (
  64.                         echo 这是你的提拉米苏... 祝你享受意大利的美味...
  65.                         echo 你想要更多吗?
  66.                         pause >nul
  67.                         set /a GOLD=%GOLD%-5
  68.                         goto S_BAR_MENU
  69.                 ) else (
  70.                         echo 你没有金子...
  71.                         echo 你想要更多吗?
  72.                         pause >nul
  73.                         goto S_BAR_MENU
  74.                 )
  75.         )
  76.        
  77.         if /i %MANGIA%==Niente (
  78.                 echo 好的
  79.                 pause >nul
  80.                 cls
  81.                 goto S_BAR_DOMANDA
  82.         )
  83.        
  84.         echo.
  85.         echo 我不明白... 试着键入"Chiedi"
  86.         pause >nul
  87.         goto MENU_BEVI

  88. :MENU_MAGIE
  89.         if %MAGIE% EQU 1 (
  90.                 echo.
  91.                 echo [火之激情] - 1
  92.                 echo [魔法栏空]
  93.                 echo [魔法栏空]
  94.                 echo [魔法栏空]
  95.                 echo [魔法栏空]
  96.                 echo [魔法栏空]
  97.                 echo [继续战斗] - Q
  98.                 echo.
  99.                
  100.                 choice /N /C:1Q /M "你想用什么魔法?: "
  101.                
  102.                 if errorlevel 2 goto %TURNO%
  103.                 if errorlevel 1 goto ER_1
  104.         )

  105.         if %MAGIE% EQU 2 (
  106.                 echo.
  107.                 echo [火之激情] - 1
  108.                 echo [冰之冷酷] - 2
  109.                 echo [魔法栏空]
  110.                 echo [魔法栏空]
  111.                 echo [魔法栏空]
  112.                 echo [魔法栏空]
  113.                 echo [继续战斗] - Q
  114.                 echo.
  115.                
  116.                 choice /N /C:12Q /M "你想用什么魔法?: "
  117.                
  118.                 if errorlevel 3 goto %TURNO%
  119.                 if errorlevel 2 goto ER_2
  120.                 if errorlevel 1 goto ER_1
  121.         )

  122.         if %MAGIE% EQU 3 (
  123.                 echo.
  124.                 echo [火之激情] - 1
  125.                 echo [冰之冷酷] - 2
  126.                 echo [全力以赴] - 3
  127.                 echo [魔法栏空]
  128.                 echo [魔法栏空]
  129.                 echo [魔法栏空]
  130.                 echo [继续战斗] - Q
  131.                 echo.
  132.                
  133.                 choice /N /C:123Q /M "你想用什么魔法?: "
  134.                
  135.                 if errorlevel 4 goto %TURNO%
  136.                 if errorlevel 3 goto ER_3
  137.                 if errorlevel 2 goto ER_2
  138.                 if errorlevel 1 goto ER_1
  139.         )

  140.         if %MAGIE% EQU 4 (
  141.                 echo.
  142.                 echo [火之激情] - 1
  143.                 echo [冰之冷酷] - 2
  144.                 echo [全力以赴] - 3
  145.                 echo [水之力量] - 4
  146.                 echo [魔法栏空]
  147.                 echo [魔法栏空]
  148.                 echo [继续战斗] - Q
  149.                 echo.
  150.                
  151.                 choice /N /C:1234Q /M "你想用什么魔法?: "
  152.                
  153.                 if errorlevel 5 goto %TURNO%
  154.                 if errorlevel 4 goto ER_4
  155.                 if errorlevel 3 goto ER_3
  156.                 if errorlevel 2 goto ER_2
  157.                 if errorlevel 1 goto ER_1
  158.         )

  159.         if %MAGIE% EQU 5 (
  160.                 echo.
  161.                 echo [火之激情] - 1
  162.                 echo [冰之冷酷] - 2
  163.                 echo [全力以赴] - 3
  164.                 echo [水之力量] - 4
  165.                 echo [电闪雷鸣] - 5
  166.                 echo [魔法栏空]
  167.                 echo [继续战斗] - Q
  168.                 echo.
  169.                
  170.                 choice /N /C:12345Q /M "你想用什么魔法?: "
  171.                
  172.                 if errorlevel 6 goto %TURNO%
  173.                 if errorlevel 5 goto ER_5
  174.                 if errorlevel 4 goto ER_4
  175.                 if errorlevel 3 goto ER_3
  176.                 if errorlevel 2 goto ER_2
  177.                 if errorlevel 1 goto ER_1
  178.         )

  179.         if %MAGIE% EQU 6 (
  180.                 echo.
  181.                 echo [火之激情] - 1
  182.                 echo [冰之冷酷] - 2
  183.                 echo [全力以赴] - 3
  184.                 echo [水之力量] - 4
  185.                 echo [电闪雷鸣] - 5
  186.                 echo [妙手回春] - 6
  187.                 echo [继续战斗] - Q
  188.                 echo.
  189.                
  190.                 choice /N /C:123456Q /M "你想用什么魔法?: "
  191.                
  192.                 if errorlevel 7 goto %TURNO%
  193.                 if errorlevel 6 goto ER_6
  194.                 if errorlevel 5 goto ER_5
  195.                 if errorlevel 4 goto ER_4
  196.                 if errorlevel 3 goto ER_3
  197.                 if errorlevel 2 goto ER_2
  198.                 if errorlevel 1 goto ER_1
  199.         )

  200. :ER_1
  201.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  202.         set /a HP_EN=%HP_EN%-%DAMAGE_M%
  203.                        
  204.         echo %Name%使用了火之激情, 攻击力: %DAMAGE_M%
  205.                        
  206.         if %HP_EN% LEQ 0 (
  207.                 echo %NAME_EN% 已死亡.
  208.                 set /a END_COMBACT=1
  209.                 pause >nul
  210.                 goto CALCOLO_EXP
  211.         )
  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.                
  227.         if %HP_EN% LEQ 0 (
  228.                 echo %NAME_EN% 已死亡.
  229.                 set /a END_COMBACT=1
  230.                 pause >nul
  231.                 goto CALCOLO_EXP
  232.         )
  233.                        
  234.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  235.                 echo %NAME_EN% 已死亡.
  236.                 set /a END_COMBACT=1
  237.                 pause >nul
  238.                 goto CALCOLO_EXP
  239.         ) else (
  240.                 pause >nul
  241.                 goto %TURNO_EN%
  242.         )

  243. :ER_3
  244.         set /a HP_RESTORED=%HP%+(%VAR_MAG%+%MAG%)

  245.         if HP_RESTORED GEQ %HP_MAX% (
  246.                 set /a HP=%HP_MAX%
  247.                 echo %Name%已经全部恢复...
  248.                 pause >nul
  249.                 goto %TURNO_EN%
  250.         ) else (
  251.                 set /a HP=%HP_RESTORED%
  252.                 echo %Name%恢复: %HP_RESTORED% HP
  253.                 pause >nul
  254.                 goto %TURNO_EN%
  255.         )

  256. :ER_4
  257.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  258.         set /a HP_EN=%HP_EN%-%DAMAGE_M%

  259.         echo %Name%使用了水之力量, 攻击力: %DAMAGE_M%
  260.        
  261.         if %HP_EN% LEQ 0 (
  262.                 echo %NAME_EN% 已死亡.
  263.                 set /a END_COMBACT=1
  264.                 pause >nul
  265.                 goto CALCOLO_EXP
  266.         )
  267.                        
  268.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  269.                 echo %NAME_EN% 已死亡.
  270.                 set /a END_COMBACT=1
  271.                 pause >nul
  272.                 goto CALCOLO_EXP
  273.         ) else (
  274.                 pause >nul
  275.                 goto %TURNO_EN%
  276.         )

  277. :ER_5
  278.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  279.         set /a HP_EN=%HP_EN%-%DAMAGE_M%

  280.         echo %Name%使用了电闪雷鸣, 攻击力: %DAMAGE_M%
  281.        
  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.                        
  289.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  290.                 echo %NAME_EN% 已死亡.
  291.                 set /a END_COMBACT=1
  292.                 pause >nul
  293.                 goto CALCOLO_EXP
  294.         ) else (
  295.                 pause >nul
  296.                 goto %TURNO_EN%
  297.         )

  298. :ER_6
  299.         if %ST_VELENO% EQU 1 (
  300.                 echo 使用妙手回春,你不再中毒了.
  301.                 set /a ST_VELENO=0
  302.                 pause >nul
  303.                 goto %TURNO_EN%
  304.         ) else (
  305.                 echo %Name%无法使用妙手回春..
  306.                 pause >nul
  307.                 goto %TURNO_EN%
  308.         )

  309. :CALCOLO_EXP
  310.         set /a EXP=%EXP%+%EXP_EN%
  311.         echo 你赢了: 获得 %EXP_EN% EXP
  312.         pause >nul
  313.        
  314.         if %LV% EQU 1 if %EXP% GEQ 10 (
  315.                 echo.
  316.                 echo 你的经验足够了...
  317.                 echo 升到第 2 级...
  318.                 pause >nul
  319.                 set /a ATT=%ATT%+3
  320.                 set /a DIF=%DIF%+2
  321.                 set /a MAG=%MAG%+0
  322.                 set /a DIF_M=%DIF_M%+1
  323.                 set /a HP_MAX=%HP_MAX%+15
  324.                 set /a HP=%HP_MAX%+15
  325.                 set /a MAGIE=1
  326.                 set /a LV=2
  327.                
  328.                 goto SAVE
  329.         ) else (
  330.                 goto SAVE
  331.         )
  332.         if %LV% LEQ 2 if %EXP% GEQ 30 (
复制代码
 楼主| 发表于 2021-10-4 13:20:51 | 显示全部楼层
回复 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.                
  14.                 goto SAVE
  15.         ) else (
  16.                 goto SAVE
  17.         )
  18.         if %LV% LEQ 3 if %EXP% GEQ 50 (
  19.                 echo.
  20.                 echo 你的经验足够了...
  21.                 echo 升到第 4 级...
  22.                 pause >nul
  23.                 set /a ATT=%ATT%+3
  24.                 set /a DIF=%DIF%+2
  25.                 set /a MAG=%MAG%+1
  26.                 set /a DIF_M=%DIF_M%+2
  27.                 set /a HP_MAX=%HP_MAX%+30
  28.                 set /a HP=%HP_MAX%+30
  29.                 set /a MAGIE=3
  30.                 set /a LV=4
  31.                
  32.                 goto SAVE
  33.         ) else (
  34.                 goto SAVE
  35.         )
  36.         if %LV% LEQ 4 if %EXP% GEQ 80 (
  37.                 echo.
  38.                 echo 你的经验足够了...
  39.                 echo 升到第 5 级...
  40.                 pause >nul
  41.                 set /a ATT=%ATT%+1
  42.                 set /a DIF=%DIF%+3
  43.                 set /a MAG=%MAG%+3
  44.                 set /a DIF_M=%DIF_M%+1
  45.                 set /a HP_MAX=%HP_MAX%+34
  46.                 set /a HP=%HP_MAX%+34
  47.                 set /a MAGIE=4
  48.                 set /a LV=5
  49.                
  50.                 goto SAVE
  51.         ) else (
  52.                 goto SAVE
  53.         )
  54.         if %LV% LEQ 5 if %EXP% GEQ 115 (
  55.                 echo.
  56.                 echo 你的经验足够了...
  57.                 echo 升到第 6 级...
  58.                 pause >nul
  59.                 set /a ATT=%ATT%+2
  60.                 set /a DIF=%DIF%+2
  61.                 set /a MAG=%MAG%+2
  62.                 set /a DIF_M=%DIF_M%+2
  63.                 set /a HP_MAX=%HP_MAX%+38
  64.                 set /a HP=%HP_MAX%+38
  65.                 set /a MAGIE=5
  66.                 set /a LV=6
  67.                
  68.                 goto SAVE
  69.         ) else (
  70.                 goto SAVE
  71.         )
  72.         if %LV% LEQ 6 if %EXP% GEQ 150 (
  73.                 echo.
  74.                 echo 你的经验足够了...
  75.                 echo 升到第 7 级...
  76.                 pause >nul
  77.                 set /a ATT=%ATT%+3
  78.                 set /a DIF=%DIF%+4
  79.                 set /a MAG=%MAG%+3
  80.                 set /a DIF_M=%DIF_M%+4
  81.                 set /a HP_MAX=%HP_MAX%+45
  82.                 set /a HP=%HP_MAX%+45
  83.                 set /a MAGIE=6
  84.                 set /a LV=7
  85.                
  86.                 goto SAVE
  87.         ) else (
  88.                 goto SAVE
  89.         )

  90. :ATTACCA
  91.         set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
  92.        
  93.         if %COMBACT% EQU 1 (
  94.                 set /a HP_EN=%HP_EN%-%DAMAGE%
  95.                 echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%

  96.                 if !HP_EN! LEQ 0 (
  97.                         echo %NAME_EN% 已死亡...
  98.                         set /a END_COMBACT=1
  99.                         pause >nul
  100.                         goto CALCOLO_EXP
  101.                 )
  102.                        
  103.                 if !DAMAGE! GEQ %HP_MAX_EN% (
  104.                         echo %NAME_EN% 已死亡...
  105.                         set /a END_COMBACT=1
  106.                         pause >nul
  107.                         goto CALCOLO_EXP
  108.                 ) else (
  109.                         pause >nul
  110.                         goto %TURNO_EN%
  111.                 )
  112.         )
  113.        
  114.         if %COMBACT% EQU 2 (
  115.                 if %MID_COMBACT% EQU 0 (
  116.                         if %TAG% EQU 1 (
  117.                                 set /a HP_EN=%HP_EN%-%DAMAGE%
  118.                                 echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  119.        
  120.                                 if !HP_EN! LEQ 0 (
  121.                                         echo %NAME_EN% 已死亡...
  122.                                         set /a MID_COMBACT=1
  123.                                 pause >nul
  124.                                         goto COMBACT_2_ENEMY_NO2
  125.                                 )
  126.                        
  127.                                 if !DAMAGE! GEQ %HP_MAX_EN% (
  128.                                         echo %NAME_EN% 已死亡...
  129.                                         set /a MID_COMBACT=1
  130.                                         pause >nul
  131.                                         goto COMBACT_2_ENEMY_NO2
  132.                                 ) else (
  133.                                         pause >nul
  134.                                         goto COMBACT_2_ENEMY_NO1
  135.                                 )
  136.                         )
  137.                
  138.                         if %TAG% EQU 2 (
  139.                                 set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  140.                                 echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  141.        
  142.                                 if !HP_EN_2! LEQ 0 (
  143.                                         echo %NAME_EN_2% 已死亡...
  144.                                         set /a MID_COMBACT=2
  145.                                         pause >nul
  146.                                         goto COMBACT_2_ENEMY_NO1
  147.                                 )
  148.                        
  149.                                 if !DAMAGE! GEQ %HP_MAX_EN_2% (
  150.                                         echo %NAME_EN_2% 已死亡...
  151.                                         set /a MID_COMBACT=2
  152.                                         pause >nul
  153.                                         goto COMBACT_2_ENEMY_NO1
  154.                                 ) else (
  155.                                         pause >nul
  156.                                         goto COMBACT_2_ENEMY_NO1
  157.                                 )
  158.                         )
  159.                 )
  160.                
  161.                 if %MID_COMBACT% EQU 1 (
  162.                         set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  163.                         echo %Name% 攻击了 %NAME_EN_2%, 攻击力: %DAMAGE%

  164.                         if !HP_EN_2! LEQ 0 (
  165.                                 echo %NAME_EN_2% 已死亡...
  166.                                 set /a END_COMBACT=1
  167.                                 pause >nul
  168.                                 goto CALCOLO_EXP
  169.                         )

  170.                         if !DAMAGE! GEQ %HP_MAX_EN_2% (
  171.                                 echo %NAME_EN_2% 已死亡...
  172.                                 set /a END_COMBACT=1
  173.                                 pause >nul
  174.                                 goto CALCOLO_EXP
  175.                         ) else (
  176.                                 pause >nul
  177.                                 goto COMBACT_2_ENEMY_NO2
  178.                         )
  179.                 )

  180.                 if %MID_COMBACT% EQU 2 (
  181.                         set /a HP_EN=%HP_EN%-%DAMAGE%
  182.                         echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%

  183.                         if !HP_EN! LEQ 0 (
  184.                                 echo %NAME_EN% 已死亡...
  185.                                 set /a END_COMBACT=1
  186.                                 pause >nul
  187.                                 goto CALCOLO_EXP
  188.                         )

  189.                         if !DAMAGE! GEQ %HP_MAX_EN% (
  190.                                 echo %NAME_EN% 已死亡...
  191.                                 set /a END_COMBACT=1
  192.                                 pause >nul
  193.                                 goto CALCOLO_EXP
  194.                         ) else (
  195.                                 pause >nul
  196.                                 goto COMBACT_2_ENEMY_NO1
  197.                         )
  198.                 )
  199.         )

  200. :COMBACT_1
  201.         set /a FUGA=%RANDOM% %%100
  202.         set /a VAR_ATT=%RANDOM% %%5
  203.         set /a VAR_MAG=%RANDOM% %%5
  204.         set /a ST_DEF=0
  205.         set /a COMBACT=1
  206.        
  207.         cls

  208.         call color.bat 轮到你了#0a
  209.         echo.
  210.         echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  211.         echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  212.         echo.
  213.                                
  214.         if %HP% LEQ 0 (
  215.                 echo.
  216.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  217.                 pause >nul
  218.                 goto END
  219.         )

  220.         if %HP_EN% LEQ 0 (
  221.                 echo %NAME_EN% 已死亡...
  222.                 set /a END_COMBACT=1
  223.                 pause >nul
  224.                 goto CALCOLO_EXP
  225.         ) else (               
  226.                 choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"

  227.                 if errorlevel 4 (
  228.                         echo 逃跑...
  229.                         if %FUGA% GEQ 50 (
  230.                                 echo %Name%设法逃走了...
  231.                                 pause >nul
  232.                                 goto %AMBIENTE%
  233.                         ) else (
  234.                                 echo %Name%无法逃走...
  235.                                 pause >nul
  236.                                 goto %TURNO_EN%
  237.                         )
  238.                 )
  239.        
  240.                 if errorlevel 3 (
  241.                         if %MAGIE% EQU 0 (
  242.                                 echo %Name%没有任何魔法... 做无用功...
  243.                                 pause >nul
  244.                                 goto %TURNO%
  245.                         )
  246.                         if %MAGIE% GEQ 1 goto MENU_MAGIE
  247.                 )
  248.        
  249.                 if errorlevel 2 (
  250.                         echo 防御^^!我挡^^!^^!^^!
  251.                         set /a ST_DEF=1
  252.                         pause >nul
  253.                         goto %TURNO_EN%
  254.                 )
  255.                
  256.                 if errorlevel 1 goto ATTACCA
  257.         )

  258. :COMBACT_1_ENEMY
  259.         set /a VELENO=%RANDOM% %%100
  260.         set /a VAR_DAMAGE=%RANDOM% %%4

  261.         if %ST_DEF% EQU 0 (
  262.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  263.         ) else (
  264.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  265.         )
  266.        
  267.         if %DAMAGE_EN% LEQ 0 (
  268.                 set /a DAMAGE_EN=0
  269.         )
  270.                                
  271.         cls

  272.         call color.bat %NAME_EN%#0a 回合#0a
  273.         echo.
  274.         echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  275.         echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  276.         echo.
  277.         echo %NAME_EN%攻击了%Name%...
  278.         echo 攻击力: %DAMAGE_EN%
  279.                                
  280.         set /a HP=%HP%-%DAMAGE_EN%
  281.                                
  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.                        
  289.         if %HP% LEQ 0 (
  290.                 echo.
  291.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  292.                 pause >nul
  293.                 goto END
  294.         )

  295.         if %DAMAGE_EN% GEQ %HP_MAX% (
  296.                 echo.
  297.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  298.                 pause >nul
  299.                 goto END
  300.         ) else (
  301.                 if %ST_VELENO% EQU 0 (
  302.                         if %VELENO% GEQ 75 (
  303.                                 echo.
  304.                                 echo %Name%中毒了...
  305.                                 echo 损失: %HP_LOSE% HP
  306.                                 set /a HP=%HP%-3
  307.                                 set /a ST_VELENO=1
  308.                                 if %HP% LEQ 0 (
  309.                                         echo.
  310.                                         echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  311.                                         pause >nul
  312.                                         goto END
  313.                                 ) else (
  314.                                         pause >nul
  315.                                         goto %TURNO%
  316.                                 )
  317.                         ) else (
  318.                                 pause >nul
  319.                                 goto %TURNO%
  320.                         )
  321.                 ) else (
  322.                         echo 损失: %HP_LOSE% HP
  323.                         set /a HP=%HP%-3
  324.                         if %HP% LEQ 0 (
  325.                                 echo.
  326.                                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  327.                                 pause >nul
  328.                                 goto END
  329.                         ) else (
  330.                                 pause >nul
  331.                                 goto %TURNO%
  332.                         )
  333.                 )
  334.         )
复制代码
 楼主| 发表于 2021-10-4 13:21:25 | 显示全部楼层
回复 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.        
  8.         if %MID_COMBACT% EQU 0 (
  9.                 set TURNO_EN=COMBACT_2_ENEMY_NO1
  10.         )
  11.        
  12.         if %MID_COMBACT% EQU 1 (
  13.                 set TURNO_EN=COMBACT_2_ENEMY_NO2
  14.         )
  15.        
  16.         if %MID_COMBACT% EQU 2 (
  17.                 set TURNO_EN=COMBACT_2_ENEMY_NO1
  18.         )

  19.         cls
  20.         call color.bat 轮到你了#0a
  21.         echo.
  22.        
  23.         if %MID_COMBACT% EQU 0 (
  24.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  25.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  26.                 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%"
  27.                 echo.
  28.         )
  29.        
  30.         if %MID_COMBACT% EQU 1 (
  31.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  32.                 echo "%NAME_EN% -> Morto.
  33.                 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%"
  34.                 echo.
  35.         )
  36.        
  37.         if %MID_COMBACT% EQU 2 (
  38.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  39.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  40.                 echo "%NAME_EN_2% -> Morto.
  41.                 echo.
  42.         )
  43.        
  44.         if %HP% LEQ 0 (
  45.                 echo.
  46.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  47.                 pause >nul
  48.                 goto END
  49.         )
  50.                
  51.         if %HP_EN% LEQ 0 if %HP_EN_2% LEQ 0 (
  52.                 echo 僵尸死了...你看着,感到莫名的恶心...
  53.                 set /a END_COMBACT=1
  54.                 pause >nul
  55.                 goto CALCOLO_EXP
  56.         )
  57.        
  58.                 if %MID_COMBACT% EQU 0 (
  59.                         choice /N /C:12 /M "攻击谁? [1] %NAME_EN%, [2] %NAME_EN_2%"
  60.                        
  61.                         if errorlevel 2 (
  62.                                 set /a TAG=2
  63.                                 goto FINE_TARGET
  64.                         )
  65.                        
  66.                         if errorlevel 1 (
  67.                                 set /a TAG=1
  68.                                 goto FINE_TARGET
  69.                         )
  70.                 )
  71.                
  72.                 if %MID_COMBACT% EQU 1 (
  73.                         set /a TAG=2
  74.                 )
  75.                
  76.                 if %MID_COMBACT% EQU 2 (
  77.                         set /a TAG=1
  78.                 )
  79.                
  80.                 :FINE_TARGET
  81.                 echo.
  82.                 choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"

  83.                 if errorlevel 4 (
  84.                         echo Tenti la fugga
  85.                         if %FUGA% GEQ 50 (
  86.                                 echo %Name%设法逃走了...
  87.                                 pause >nul
  88.                                 goto %AMBIENTE%
  89.                         ) else (
  90.                                 echo %Name%无法逃走...
  91.                                 pause >nul
  92.                                 goto %TURNO_EN%
  93.                         )
  94.                 )
  95.        
  96.                 if errorlevel 3 (
  97.                         if %MAGIE% EQU 0 (
  98.                                 echo %Name%没有任何魔法... 做无用功...
  99.                                 pause >nul
  100.                                 goto %TURNO%
  101.                         )
  102.                         if %MAGIE% GEQ 1 goto MENU_MAGIE
  103.                 )
  104.        
  105.                 if errorlevel 2 (
  106.                         echo 防御^^!我挡^^!^^!^^!
  107.                         set /a ST_DEF=1
  108.                         pause >nul
  109.                         goto %TURNO_EN%
  110.                 )
  111.                
  112.                 if errorlevel 1 goto ATTACCA

  113. :COMBACT_2_ENEMY_NO1
  114.         set /a VELENO=%RANDOM% %%100
  115.         set /a VAR_DAMAGE=%RANDOM% %%4

  116.         if %ST_DEF% EQU 0 (
  117.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  118.         ) else (
  119.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  120.         )
  121.        
  122.         if %DAMAGE_EN% LEQ 0 (
  123.                 set /a DAMAGE_EN=0
  124.         )

  125.         if %MID_COMBACT% EQU 2 (
  126.                 cls
  127.                 call color.bat %NAME_EN%#0a 回合#0a
  128.                 echo.
  129.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  130.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  131.                 echo "%NAME_EN_2% -> Morto.
  132.                 echo.
  133.         ) else (
  134.                 cls
  135.                 call color.bat %NAME_EN%#0a 回合#0a
  136.                 echo.
  137.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  138.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  139.                 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%"
  140.                 echo.
  141.         )
  142.        
  143.         echo %NAME_EN%攻击了%Name%...
  144.         echo 攻击力: %DAMAGE_EN%

  145.         set /a HP=%HP%-%DAMAGE_EN%

  146.         if %MID_COMBACT% EQU 0 (
  147.                 if %HP_EN% LEQ 0 (
  148.                         echo %NAME_EN% 已死亡...
  149.                         set /a MID_COMBACT=1
  150.                         pause >nul
  151.                         goto COMBACT_2_ENEMY_NO2
  152.                 )
  153.         )
  154.        
  155.         if %MID_COMBACT% EQU 2 (
  156.                 if %HP_EN% LEQ 0 (
  157.                         echo %NAME_EN% 已死亡...
  158.                         set /a END_COMBACT=1
  159.                         pause >nul
  160.                         goto CALCOLO_EXP
  161.                 )
  162.         )

  163.         if %HP% LEQ 0 (
  164.                 echo.
  165.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  166.                 pause >nul
  167.                 goto END
  168.         )

  169.         if %DAMAGE_EN% GEQ %HP_MAX% (
  170.                 echo.
  171.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  172.                 pause >nul
  173.                 goto END
  174.         ) else (
  175.                 if %ST_VELENO% EQU 0 (
  176.                         if %VELENO% GEQ 75 (
  177.                                 echo.
  178.                                 echo %Name%中毒了...
  179.                                 echo 损失: %HP_LOSE% HP
  180.                                 set /a HP=%HP%-3
  181.                                 set /a ST_VELENO=1
  182.                                 if %HP% LEQ 0 (
  183.                                         echo.
  184.                                         echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  185.                                         pause >nul
  186.                                         goto END
  187.                                 ) else (
  188.                                         pause >nul
  189.                                         if %MID_COMBACT% EQU 0 (
  190.                                                 goto COMBACT_2_ENEMY_NO2
  191.                                         ) else (
  192.                                                 goto %TURNO%
  193.                                         )
  194.                                 )
  195.                         ) else (
  196.                                 pause >nul
  197.                                 if %MID_COMBACT% EQU 0 (
  198.                                         goto COMBACT_2_ENEMY_NO2
  199.                                 ) else (
  200.                                         goto %TURNO%
  201.                                 )
  202.                         )
  203.                 ) else (
  204.                         echo 损失: %HP_LOSE% HP
  205.                         set /a HP=%HP%-3
  206.                         if %HP% LEQ 0 (
  207.                                 echo.
  208.                                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  209.                                 pause >nul
  210.                                 goto END
  211.                         ) else (
  212.                                 pause >nul
  213.                                 if %MID_COMBACT% EQU 0 (
  214.                                         goto COMBACT_2_ENEMY_NO2
  215.                                 ) else (
  216.                                         goto %TURNO%
  217.                                 )
  218.                         )
  219.                 )
  220.         )

  221. :COMBACT_2_ENEMY_NO2
  222.         set /a VELENO=%RANDOM% %%100
  223.         set /a VAR_DAMAGE=%RANDOM% %%4

  224.         if %ST_DEF% EQU 0 (
  225.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  226.         ) else (
  227.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  228.         )
  229.        
  230.         if %DAMAGE_EN% LEQ 0 (
  231.                 set /a DAMAGE_EN=0
  232.         )

  233.         if %MID_COMBACT% EQU 1 (
  234.                 cls
  235.                 call color.bat %NAME_EN_2%#0a 回合#0a
  236.                 echo.
  237.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  238.                 echo "%NAME_EN% -> Morto.
  239.                 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%"
  240.                 echo.
  241.         ) else (
  242.                 cls
  243.                 call color.bat TURNO#0a %NAME_EN_2%#0a
  244.                 echo.
  245.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  246.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  247.                 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%"
  248.                 echo.
  249.         )
  250.        
  251.         echo %NAME_EN_2%攻击了%Name%...
  252.         echo 攻击力: %DAMAGE_EN%

  253.         set /a HP=%HP%-%DAMAGE_EN%

  254.         if %MID_COMBACT% EQU 0 (
  255.                 if %HP_EN_2% LEQ 0 (
  256.                         echo %NAME_EN_2%已死亡...
  257.                         set /a MID_COMBACT=2
  258.                         pause >nul
  259.                         goto COMBACT_2_ENEMY_NO1
  260.                 )
  261.         )
  262.        
  263.         if %MID_COMBACT% EQU 1 (
  264.                 if %HP_EN_2% LEQ 0 (
  265.                         echo %NAME_EN_2%已死亡...
  266.                         set /a END_COMBACT=1
  267.                         pause >nul
  268.                         goto CALCOLO_EXP
  269.                 )
  270.         )

  271.         if %HP% LEQ 0 (
  272.                 echo.
  273.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  274.                 pause >nul
  275.                 goto END
  276.         )

  277.         if %DAMAGE_EN% GEQ %HP_MAX% (
  278.                 echo.
  279.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  280.                 pause >nul
  281.                 goto END
  282.         ) else (
  283.                 if %ST_VELENO% EQU 0 (
  284.                         if %VELENO% GEQ 75 (
  285.                                 echo.
  286.                                 echo %Name%中毒了...
  287.                                 echo 损失: %HP_LOSE% HP
  288.                                 set /a HP=%HP%-3
  289.                                 set /a ST_VELENO=1
  290.                                 if %HP% LEQ 0 (
  291.                                         echo.
  292.                                         echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  293.                                         pause >nul
  294.                                         goto END
  295.                                 ) else (
  296.                                         pause >nul
  297.                                         goto %TURNO%
  298.                                 )
  299.                         ) else (
  300.                                 pause >nul
  301.                                 goto %TURNO%
  302.                         )
  303.                 ) else (
  304.                         echo 损失: %HP_LOSE% HP
  305.                         set /a HP=%HP%-3
  306.                         if %HP% LEQ 0 (
  307.                                 echo.
  308.                                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  309.                                 pause >nul
  310.                                 goto END
  311.                         ) else (
  312.                                 pause >nul
  313.                                 goto %TURNO%
  314.                         )
  315.                 )
  316.         )

  317. :END
  318. echo Game Over...
  319. pause >nul
  320. exit
复制代码
 楼主| 发表于 2021-11-6 11:20:16 | 显示全部楼层
新版本!
更新了!
让老版本的Cmd也能拥有Windows10的色调和感觉!
下一楼放代码!
 楼主| 发表于 2021-11-6 11:21:31 | 显示全部楼层
新版本源码第一部分(颜色更改的关键!)
  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.                
  98.                 choice /N /C:SN
  99.                
  100.                 if errorlevel 2 (
  101.                         echo.
  102.                         echo 新的开始.
  103.                         pause >nul
  104.                        
  105.                         goto START
  106.                 )
  107.                 if errorlevel 1 (
  108.                         for /F "usebackq tokens=1-18 delims=," %%G in ("%UserProFile%\Save.Txt") do (
  109.                                 set AMBIENTE=%%G
  110.                                 set ATT=%%H
  111.                                 set DIF=%%I
  112.                                 set MAG=%%J
  113.                                 set DIF_M=%%K
  114.                                 set HP_MAX=%%L
  115.                                 set HP=%%M
  116.                                 set MAGIE=%%N
  117.                                 set LV=%%O
  118.                                 set EXP=%%P
  119.                                 set END_COMBACT=%%Q
  120.                                 set EQUIP_ARM=%%R
  121.                                 set EQUIP_CORPO=%%S
  122.                                 set EQUIP_ELM=%%T
  123.                                 set NAME=%%U
  124.                                 set SWT_LOC_A=%%V
  125.                                 set GOLD=%%W
  126.                                 set STORY=%%X
  127.                                 set /a ST_VELENO=0
  128.                                 set NAME_EN=
  129.                                 set /a HP_LOSE=3

  130.                                 set /a LOOP_L=0
  131.                                
  132.                                 goto LOOP_ECHO_LOAD
  133.                         )
  134.                 )
  135.         ) else (
  136.                 goto START
  137.         )

  138. :SAVE
  139.         set /a LOOP_S=0
  140.        
  141.         goto LOOP_ECHO_SAVE
  142.                
  143. :LOOP_ECHO_LOAD
  144.         if %LOOP_L% EQU 0 (
  145.                 cls
  146.                 echo.
  147.                 echo 正在加载 .
  148.                 set /a LOOP_L=%LOOP_L%+1
  149.                
  150.                 choice /N /C:P /T 0 /D P
  151.                 goto LOOP_ECHO_LOAD
  152.         )
  153.                                
  154.         if %LOOP_L% EQU 1 (
  155.                 cls
  156.                 echo.
  157.                 echo 正在加载 . .
  158.                 set /a LOOP_L=%LOOP_L%+1
  159.                
  160.                 choice /N /C:P /T 0 /D P
  161.                 goto LOOP_ECHO_LOAD
  162.         )
  163.        
  164.         if %LOOP_L% EQU 2 (
  165.                 cls
  166.                 echo.
  167.                 echo 正在加载 . . .
  168.                 set /a LOOP_L=0

  169.                 choice /N /C:P /T 0 /D P
  170.                 if errorlevel 1 goto %AMBIENTE%
  171.         )

  172. :LOOP_ECHO_SAVE
  173.         if %LOOP_S% EQU 0 (
  174.                 cls
  175.                 echo.
  176.                 echo 存档中 .
  177.                 set /a LOOP_S=%LOOP_S%+1
  178.                 choice /N /C:P /T 0 /D P
  179.                
  180.                 goto LOOP_ECHO_SAVE
  181.         )
  182.                                
  183.         if %LOOP_S% EQU 1 (
  184.                 cls
  185.                 echo.
  186.                 echo 存档中 . .
  187.                 set /a LOOP_S=%LOOP_S%+1
  188.                 choice /N /C:P /T 0 /D P
  189.                        
  190.                 goto LOOP_ECHO_SAVE
  191.         )
  192.        
  193.         if %LOOP_S% EQU 2 (
  194.                 cls
  195.                 echo.
  196.                 echo 存档中 . . .
  197.                 set /a LOOP_S=0

  198.                 choice /N /C:P /T 0 /D P
  199.                 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"

  200.                 goto %AMBIENTE%
  201.         )
  202.        
  203. :START
  204. set /a EQUIP_ARM=0
  205. :: 3= SPADA ATT +3
  206. :: 5= LANCIA ATT +5
  207. :: 7= PUGNALE ATT +7
  208. :: 2= ASTA +2 MAG
  209. :: 4= PISTOLA +4 MAG
  210. :: 8= LONGINUS +8 MAG

  211. set /a EQUIP_CORPO=0
  212. :: 1= MAGLIA DIF +1
  213. :: 3= GIUBOTTO DIF+3
  214. :: 8= CORAZZA DIF +8

  215. set /a EQUIP_ELM=0
  216. :: 2= CAPPELLO DIF_MAG +2
  217. :: 5= BASCO DIF_MAG +5
  218. :: 7= ELMO DIF_MAG +7

  219. set /a ATT=2
  220. set /a DIF=1
  221. set /a MAG=0
  222. set /a DIF_M=0
  223. set /a EXP=0
  224. set /a HP=30
  225. set /a HP_MAX=30
  226. set /a LV=1

  227. set /a ST_VELENO=0
  228. :: 1= AVVELENATO

  229. set /a HP_LOSE=3
  230. :: HP PERSI PER EFFETTO DEL VELENO

  231. set /a END_COMBACT=0

  232. set /a MAGIE=0
  233. :: FIRE=1
  234. :: ICE=2
  235. :: ENERGIA=3
  236. :: IDRO=4
  237. :: THUNDER=5
  238. :: ESNA=6

  239. set /a SWT_LOC_A=0
  240. :: VARIABILE PER I SOLDI TROVATI NEL MONDO

  241. set /a GOLD=0
  242. ::SOLDI DEL GIOCO

  243. set /a STORY=0
  244. ::VARIABILE DELLA STORIA

  245. set NAME_EN=


  246. cls
  247. echo.欢迎来到虚拟世界,这里使用了有史以来最好的图形引擎,你的大脑^^!
  248. pause >nul

  249. cls

  250. call color.bat 选择 [S]#0c 开始或选择 [N]#0c 退出
  251. choice /N /C:SN

  252. if errorlevel 2 goto END
  253. if errorlevel 1 goto BEGIN_GAME

  254. :BEGIN
  255.         cls
  256.         call color.bat 你的房子#0a
  257.         echo.
  258.         echo 你是离开房子还是在房间里踱步?

  259.         call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  260.         choice /N /C:AD
  261.        
  262.         if errorlevel 2 goto IN_HOME
  263.         if errorlevel 1 goto OUT_HOME

  264. :BEGIN_GAME
  265.         echo.
  266.         set /p NAME=你的名字叫什么?

  267.         if /i DEFINED NAME (
  268.                 echo.
  269.                 echo %NAME%你好, 你好,欢迎来到劳里的世界^^!
  270.                 echo 你准备好开始你的冒险了吗?
  271.                 call color.bat 按 [Enter键]#0c 开始。
  272.                 pause >nul
  273.         ) else (
  274.                 cls
  275.                 echo 请输入您的姓名^^!
  276.                 pause >nul
  277.                 goto BEGIN_GAME
  278.         )

  279. cls
  280. call color.bat 你的房子#0a
  281. echo.
  282. echo 嗯,刚刚醒来,马上就发现了一些奇怪的事情...
  283. echo 是啊...太安静了,有点不对劲...
  284. echo 走近前门想做点什么...
  285. echo 是离开房子还是在房间里踱步?

  286.         call color.bat 选择 [A]#0c 离开或选择 [D]#0c 停留
  287.         choice /N /C:AD
  288.        
  289.         if errorlevel 2 goto IN_HOME
  290.         if errorlevel 1 goto OUT_HOME

  291.         :OUT_HOME
  292.                 cls
  293.                 call color.bat 屋外#0a
  294.                 echo.
  295.                 echo 我听不到任何噪音...
  296.                 echo 我步行时注意到朋友的房子...
  297.                 echo 门开着...
  298.                 echo 决定进去还是继续?
  299.                
  300.                 call color.bat 选择 [A]#0c 进入或选择 [D]#0c 继续或 [X]#0c 返回
  301.                 choice /N /C:ADX
  302.                
  303.                 if errorlevel 3 goto BEGIN
  304.                 if errorlevel 2 goto STREET
  305.                 if errorlevel 1 goto FRIEND_HOUSE

  306.         :IN_HOME
  307.                 cls
  308.                 call color.bat 走廊#0a
  309.                 echo.
  310.                 echo 想去哪个房间?

  311.                 call color.bat 选择 [A]#0c 去厨房 [D]#0c 去卧室 [G]#0c 去浴室 [J]#0c 客厅
  312.                 choice /N /C:ADGJ

  313.                 if errorlevel 4 goto SALA
  314.                 if errorlevel 3 goto BAGNO
  315.                 if errorlevel 2 goto CAMERA
复制代码
 楼主| 发表于 2021-11-6 11:22:23 | 显示全部楼层
新版本源码第二部分
  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.                
  61.                         call color.bat 选择 [A]#0c 给朋友打电话或选择 [D]#0c 检查房间
  62.                         choice /N /C:AD

  63.                         if errorlevel 2 goto ROOM_FRIEND_HOUSE
  64.                         if errorlevel 1 goto VOICE_1
  65.                 ) else (
  66.                         cls
  67.                         call color.bat 朋友的家#0a
  68.                         echo.
  69.                         echo 一个死去的僵尸躺在地上...
  70.                         echo 似乎没有什么有趣的事...
  71.                         pause >nul
  72.                         goto OUT_HOME
  73.                 )

  74.                 :ROOM_FRIEND_HOUSE
  75.                         cls
  76.                         call color.bat 房间#0a
  77.                         echo.
  78.                         echo 哦,我的天啊,真是太可怕了...
  79.                         echo 我的邻居好像变成了僵尸^^!^^!^^!
  80.                         echo 攻击我^^!^^!^^!
  81.                         echo.
  82.                         pause >nul

  83.                                 set /a HP_EN=20
  84.                                 set /a HP_MAX_EN=20
  85.                                 set /a ATT_EN=1
  86.                                 set /a DIF_EN=1
  87.                                 set /a MAG_EN=0
  88.                                 set /a DIF_M_EN=0

  89.                                 set NAME_EN=僵尸
  90.                                 set AMBIENTE=FRIEND_HOUSE
  91.                                 set TURNO=COMBACT_1
  92.                                 set TURNO_EN=COMBACT_1_ENEMY

  93.                                 set /a ST_VELENO=0

  94.                                 set /a EXP_EN=3
  95.                                
  96.                                 goto COMBACT_1

  97.         :VOICE_1
  98.                 cls.
  99.                 call color.bat 朋友的家#0a
  100.                 echo.
  101.                 echo 试着打电话给邻居,
  102.                 echo 似乎没有人回答...
  103.                 echo %Name%试着提高声音...
  104.                 echo 有奇怪的吼声... 从房间里传来...
  105.                 echo 发生了什么?

  106.                 call color.bat 是要离开 [A]#0c 还是检查 [D]#0c
  107.                 choice /N /C:AD

  108.                 if errorlevel 2 goto ROOM_FRIEND_HOUSE
  109.                 if errorlevel 1 goto OUT_HOME
  110.                
  111.         :STREET
  112.                 cls
  113.                 call color.bat 街头#0a
  114.                 echo.
  115.                 echo 你站在十字路口...
  116.                 echo 冷风飒飒... 乌云密布
  117.                 echo 一个指示牌歪歪斜斜... 指着东南西北...
  118.                 echo.
  119.                 echo 该向那儿走?
  120.                 call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回
  121.                
  122.                 choice /N /C:WADX

  123.                 if errorlevel 4 goto OUT_HOME
  124.                 if errorlevel 3 goto STREET_E
  125.                 if errorlevel 2 goto STREET_O
  126.                 if errorlevel 1 goto STREET_N

  127.         :STREET_N
  128.                 cls
  129.                 call color.bat 街头#0a
  130.                 echo.
  131.                 call color.bat [W]#0c 继续前行 [X]#0c 打道回府

  132.                 choice /N /C:WX

  133.                 if errorlevel 2 goto STREET
  134.                 if errorlevel 1 goto STREET_NN
  135.                
  136.                 :STREET_NN
  137.                         cls
  138.                         call color.bat 街头#0a
  139.                         echo.
  140.                         echo 这条路似乎到此为止...
  141.                         echo 最好回去...
  142.                         pause >nul
  143.        
  144.                         goto STREET_N

  145.         :STREET_O
  146.                 cls
  147.                 call color.bat 街头#0a
  148.                 echo.
  149.                 echo %Name%看到一座尖塔...
  150.                 call color.bat [W]#0c 直走 [A]#0c 左转 [X]#0c 返回

  151.                 choice /N /C:WAX

  152.                 if errorlevel 3 goto STREET
  153.                 if errorlevel 2 goto STREET_OS
  154.                 if errorlevel 1 goto STREET_OO

  155.                 :STREET_OO
  156.                         cls
  157.                         call color.bat 街头#0a
  158.                         echo.
  159.                         call color.bat [W]#0c 直走 [X]#0c 返回

  160.                         choice /N /C:WX

  161.                         if errorlevel 2 goto STREET_O
  162.                         if errorlevel 1 goto STREET_OOO
  163.                
  164.                         :STREET_OOO
  165.                                 cls
  166.                                 call color.bat 街头#0a
  167.                                 echo.
  168.                                 echo %Name%看到一座尖塔...
  169.                                 call color.bat [W]#0c 直走 [A]#0c 向左走 [D]#0c 向右走 [X]#0c 返回

  170.                                 choice /N /C:WADX

  171.                                 if errorlevel 4 goto STREET_OO
  172.                                 if errorlevel 3 goto STREET_OOON
  173.                                 if errorlevel 2 goto STREET_OOOS
  174.                                 if errorlevel 1 goto STREET_OOOO
  175.                                
  176.                                 :STREET_OOON
  177.                                         cls
  178.                                         call color.bat 街头#0a
  179.                                         echo.
  180.                                         echo 去酒吧,也许是个好主意...
  181.                                         echo 进去,我可以喝一杯或者...
  182.                                         echo 也许我应该晚一点回去...
  183.                                         echo.
  184.                                        
  185.                                         call color.bat [A]#0c 进去 [D]#0c 返回
  186.                                        
  187.                                         choice /N /C:AD
  188.                                        
  189.                                         if errorlevel 2 goto STREET_OOO
  190.                                         if errorlevel 1 goto BAR_1
  191.                                        
  192.                                 :STREET_OOOO
  193.                                         if %SWT_LOC_A% EQU 0 (
  194.                                                 cls
  195.                                                 call color.bat 街头#0a
  196.                                                 echo.
  197.                                                 echo 嘿,你找到3块金子了^^!
  198.                                                 set /a GOLD=%GOLD%+3
  199.                                                 pause >nul
  200.                                                
  201.                                                 set /a SWT_LOC_A=1
  202.                                                 goto STREET_OOO
  203.                                         )
  204.                                        
  205.                                         if %SWT_LOC_A% EQU 1 (
  206.                                                 cls
  207.                                                 call color.bat 街头#0a
  208.                                                 echo.
  209.                                                 echo 这里什么也没有... 这条路似乎到此为止...
  210.                                                 echo 最好回去...
  211.                                                 pause >nul

  212.                                                 goto STREET_OOO
  213.                                         )

  214.                                 :STREET_OOOS
  215.                                        
  216.                                         cls
  217.                                         call color.bat 街头#0a
  218.                                         echo.
  219.                                         echo 这条路似乎到此为止...
  220.                                                         echo 最好回去...
  221.                                         pause >nul

  222.                                         goto STREET_OOO
  223.                 :STREET_OS
  224.                         cls
  225.                         call color.bat 街头#0a
  226.                         echo.
  227.                         call color.bat [W]#0c 直走 [X]#0c 返回

  228.                         choice /N /C:WX

  229.                         if errorlevel 2 goto STREET_O
  230.                         if errorlevel 1 goto STREET_OSS

  231.                         :STREET_OSS
  232.                                 cls
  233.                                 call color.bat 街头#0a
  234.                                 echo.
  235.                                 echo %Name%找到了一个休息的地方,
  236.                                 echo 这里可以恢复精力...
  237.                                 set /a HP=%HP_MAX%
  238.                                 pause >nul

  239.                                 echo.
  240.                                 call color.bat [D]#0c 向右 [X]#0c 返回

  241.                                 choice /N /C:DX

  242.                                 if errorlevel 2 goto STREET_OS
  243.                                 if errorlevel 1 goto STREET_OSSO

  244.                                 :STREET_OSSO
  245.                                         cls
  246.                                         call color.bat 街头#0a
  247.                                         echo.
  248.                                         echo %Name%遇到了一个僵尸...
  249.                                         echo 它攻击%Name%
  250.                                         echo.
  251.                                         pause >nul

  252.                                                 set /a HP_EN=25
  253.                                                 set /a HP_MAX_EN=25
  254.                                                 set /a ATT_EN=1
  255.                                                 set /a DIF_EN=2
  256.                                                 set /a MAG_EN=0
  257.                                                 set /a DIF_M_EN=0

  258.                                                 set NAME_EN=僵尸
  259.                                                 set AMBIENTE=STREET_OSS
  260.                                                 set TURNO=COMBACT_1
  261.                                                 set TURNO_EN=COMBACT_1_ENEMY

  262.                                                 set /a ST_VELENO=0
  263.        
  264.                                                 set /a EXP_EN=7
  265.                                
  266.                                                 goto COMBACT_1


  267.         :STREET_E
  268.                 cls
  269.                 call color.bat 街头#0a
  270.                 echo.
  271.                 echo %Name%看到一座尖塔...
  272.                 call color.bat [A]#0c 向左 [D]#0c 向右 [X]#0c 返回

  273.                 choice /N /C:ADX

  274.                 if errorlevel 3 goto STREET
  275.                 if errorlevel 2 goto STREET_ES
  276.                 if errorlevel 1 goto STREET_EN

  277.                 :STREET_EN
  278.                         cls
  279.                         call color.bat 街头#0a
  280.                         echo.
  281.                         call color.bat [D]#0c 向右 [X]#0c 返回

  282.                         choice /N /C:DX

  283.                         if errorlevel 2 goto STREET_E
  284.                         if errorlevel 1 goto STREET_ENE
  285.                        
  286.                         :STREET_ENE
  287.                                 cls
  288.                                 call color.bat 街头#0a
  289.                                 echo.
  290.                                 call color.bat [W]#0c 直走 [X]#0c 返回

  291.                                 choice /N /C:WX

  292.                                 if errorlevel 2 goto STREET_EN
  293.                                 if errorlevel 1 goto STREET_ENEE
  294.                                
  295.                                 :STREET_ENEE
  296.                                         cls
  297.                                         call color.bat 街头#0a
  298.                                         echo.
  299.                                         echo %Name%找到了一个休息的地方,
  300.                                         echo 这里可以恢复精力...
  301.                                         set /a HP=%HP_MAX%
  302.                                         pause >nul

  303.                                         echo.
  304.                                         call color.bat [X]#0c 返回
复制代码
 楼主| 发表于 2021-11-6 11:23:50 | 显示全部楼层
新版本源码第三部分


  1.                                         choice /N /C:X

  2.                                         if errorlevel 1 goto STREET_ENE
  3.                                
  4.                 :STREET_ES
  5.                         cls
  6.                         call color.bat 街头#0a
  7.                         echo.
  8.                         echo %Name%看到一座尖塔...
  9.                         call color.bat [W]#0c 直走 [A]#0c 向左 [D]#0c 向右 [X]#0c 返回

  10.                         choice /N /C:WADX

  11.                         if errorlevel 4 goto STREET_E
  12.                         if errorlevel 3 goto STREET_ESO
  13.                         if errorlevel 2 goto STREET_ESE
  14.                         if errorlevel 1 goto STREET_ESS
  15.                        
  16.                         :STREET_ESO
  17.                                 cls
  18.                                 call color.bat 街头#0a
  19.                                 echo.
  20.                                 call color.bat [W]#0c 直走 [X]#0c 返回

  21.                                 choice /N /C:WX

  22.                                 if errorlevel 2 goto STREET_ES
  23.                                 if errorlevel 1 goto STREET_ESOO
  24.                
  25.                         :STREET_ESE
  26.                                 cls
  27.                                 call color.bat 街头#0a
  28.                                 echo.
  29.                                 call color.bat [W]#0c 直走 [X]#0c 返回

  30.                                 choice /N /C:WX
  31.        
  32.                                 if errorlevel 2 goto STREET_ES
  33.                                 if errorlevel 1 goto STREET_ESEE
  34.                        
  35.                         :STREET_ESS
  36.                                 cls
  37.                                 call color.bat 街头#0a
  38.                                 echo.
  39.                                 call color.bat [A]#0c 向左 [X]#0c 返回

  40.                                 choice /N /C:AX

  41.                                 if errorlevel 2 goto STREET_ES
  42.                                 if errorlevel 1 goto STREET_ESSE
  43.                        
  44.                                 :STREET_ESOO
  45.                                         cls
  46.                                         call color.bat 街头#0a
  47.                                         echo.
  48.                                         echo 这条路似乎到此为止...
  49.                                         echo 最好回去...
  50.                                         pause >nul
  51.                                
  52.                                         goto STREET_ESO
  53.                                        
  54.                                 :STREET_ESEE
  55.                                         cls
  56.                                         call color.bat COMBATTI#0a
  57.                                         echo.
  58.                                         echo %Name%遇到了一个僵尸...
  59.                                         echo 它攻击%Name%
  60.                                         echo.
  61.                                         pause >nul
  62.                                        
  63.                                                 set /a HP_EN=25
  64.                                                 set /a HP_MAX_EN=25
  65.                                                 set /a ATT_EN=1
  66.                                                 set /a DIF_EN=2
  67.                                                 set /a MAG_EN=0
  68.                                                 set /a DIF_M_EN=0

  69.                                                 set NAME_EN=僵尸
  70.                                                 set AMBIENTE=STREET_ESE
  71.                                                 set TURNO=COMBACT_1
  72.                                                 set TURNO_EN=COMBACT_1_ENEMY

  73.                                                 set /a ST_VELENO=0
  74.        
  75.                                                 set /a EXP_EN=7
  76.                                
  77.                                                 goto COMBACT_1
  78.                                
  79.                                 :STREET_ESSE
  80.                                         cls
  81.                                         call color.bat 街头#0a
  82.                                         echo.
  83.                                         echo %Name%看到一座尖塔...
  84.                                         call color.bat [W]#0c 直走 [D]#0c 向右 [X]#0c 返回

  85.                                         choice /N /C:WDX

  86.                                         if errorlevel 3 goto STREET_ESS
  87.                                         if errorlevel 2 goto STREET_ESSES
  88.                                         if errorlevel 1 goto STREET_ESSEE
  89.                                        
  90.                                         :STREET_ESSES
  91.                                                 cls
  92.                                                
  93.                                                 if %STORY% LEQ 0 (
  94.                                                         call color.bat 街边-森林#0a
  95.                                                         echo.
  96.                                                         echo %Name%走进一片森林,听到远处有人声...
  97.                                                         echo 还是检查一下吧...
  98.                                                         echo.
  99.                                                         echo 那是%Name%遇见伴侣的时候...
  100.                                                         pause >nul
  101.                                                
  102.                                                         goto BOSCO
  103.                                                 ) else (
  104.                                                         call color.bat 街边-森林#0a
  105.                                                         echo.
  106.                                                         echo %Name%已经到达一个森林的入口,想做什么?
  107.                                                         call color.bat [W]#0c 去森林 [X]#0c 返回
  108.                                                         choice /N /C:WX
  109.                                                        
  110.                                                         if errorlevel 2 goto STREET_ESSE
  111.                                                         if errorlevel 1 goto BOSCO
  112.                                                 )
  113.                                        
  114.                                         :STREET_ESSEE
  115.                                                 cls
  116.                                                 call color.bat 街头#0a
  117.                                                 echo.
  118.                                                 echo 这条路似乎到此为止...
  119.                                                         echo 最好回去...
  120.                                                 pause >nul
  121.                                
  122.                                                 goto STREET_ESSE
  123.                                                
  124.         :BOSCO
  125.                 if %STORY% LEQ 0 (
  126.                         cls
  127.                         call color.bat 森林#0a
  128.                         echo.
  129.                         echo 嘿,前面有很多僵尸...
  130.                         echo 这里,可能需要这个...
  131.                         echo 啊,但是后来我听说了一家商店...
  132.                         echo 在那里... 哦,可以买一些必需品...
  133.                         echo.
  134.                         echo 您已获得: 毛衣
  135.                         set /a EQUIP_CORPO=1
  136.                         set /a STORY=%STORY%+1
  137.                         echo.
  138.                         echo 乔瓦尼离开了,呆在森林的你开始做什么?
  139.                         echo 继续前行还是返回?
  140.                        
  141.                         call color.bat [W]#0c 继续向前 [X]#0c 返回
  142.                         choice /N /C:WX
  143.                        
  144.                         if errorlevel 2 goto STREET_ESSES
  145.                         if errorlevel 1 goto BOSCO_1
  146.                 ) else (
  147.                         cls
  148.                         call color.bat 森林#0a
  149.                         echo.
  150.                         echo 你在树林里干什么?
  151.                         echo 继续前行或返回?
  152.                        
  153.                         call color.bat [W]#0c 继续前行 [X]#0c 返回
  154.                         choice /N /C:WX
  155.                        
  156.                         if errorlevel 2 goto STREET_ESSES
  157.                         if errorlevel 1 goto BOSCO_1
  158.                 )
  159.                
  160.         :BOSCO_1
  161.                 set /a VAR_INC=%RANDOM% %%100
  162.                
  163.                 if !VAR_INC! GEQ 60 (
  164.                         cls
  165.                         call color.bat 森林-战场#0a
  166.                         echo.
  167.                         echo %Name%遇到一个僵尸,它攻击%Name%...
  168.                         pause >nul
  169.                        
  170.                         set /a HP_EN=40
  171.                         set /a HP_MAX_EN=40
  172.                         set /a ATT_EN=4
  173.                         set /a DIF_EN=5
  174.                         set /a MAG_EN=0
  175.                         set /a DIF_M_EN=0

  176.                         set NAME_EN=僵尸1
  177.                         set AMBIENTE=BOSCO
  178.                         set TURNO=COMBACT_1
  179.                         set TURNO_EN=COMBACT_1_ENEMY

  180.                         set /a ST_VELENO=0

  181.                         set /a EXP_EN=10

  182.                         goto COMBACT_1
  183.                 ) else (
  184.                         cls
  185.                         call color.bat 森林#0a
  186.                         echo.
  187.                         echo 没有动静... 什么都没有吗?
  188.                         call color.bat [S]#0c 是的 [N]#0c 不是

  189.                         choice /N /C:SN

  190.                         if errorlevel 2 goto BOSCO
  191.                         if errorlevel 1 goto END
  192.                 )

  193.                 if !VAR_INC! GEQ 83 (
  194.                         cls
  195.                         call color.bat 森林-战场#0a
  196.                         echo.
  197.                         echo %Name%遇到两个僵尸,他们攻击%Name%^^!^^!^^!
  198.                         pause >nul

  199.                         set /a HP_EN=40
  200.                         set /a HP_MAX_EN=40
  201.                         set /a ATT_EN=4
  202.                         set /a DIF_EN=5
  203.                         set /a MAG_EN=0
  204.                         set /a DIF_M_EN=0

  205.                         set /a HP_EN_2=20
  206.                         set /a HP_MAX_EN_2=20
  207.                         set /a ATT_EN_2=3
  208.                         set /a DIF_EN_2=3
  209.                         set /a MAG_EN_2=0
  210.                         set /a DIF_M_EN_2=0

  211.                         set NAME_EN=僵尸1
  212.                         set NAME_EN_2=僵尸2
  213.                         set AMBIENTE=BOSCO
  214.                         set TURNO=COMBACT_2
  215.                         set TURNO_EN=COMBACT_2_ENEMY_NO1

  216.                         set /a MID_COMBACT=0

  217.                         set /a ST_VELENO=0

  218.                         set /a EXP_EN=10

  219.                         goto COMBACT_2
  220.                 ) else (
  221.                         cls
  222.                         call color.bat 森林#0a
  223.                         echo.
  224.                         echo 好像什么动静都没有... 但这是真的吗?
  225.                         call color.bat [S]#0c 是的 [N]#0c 不是

  226.                         choice /N /C:SN

  227.                         if errorlevel 2 goto BOSCO
  228.                         if errorlevel 1 goto END
  229.                 )
  230.                
  231.         :BAR_1
  232.                 set AMBIENTE=BAR_1
  233.                 cls
  234.         :S_BAR_DOMANDA
  235.                 call color.bat 酒吧#0a
  236.                 echo.
  237.                 echo ---==^> 归 %GOLD% 块金子的人所有 ^<==---
  238.                 echo.
  239.                 echo 欢迎来到这里最特别的酒吧,哈哈 ^^!^^!^^!
  240.                 echo 是啊... 你偶尔也会笑,这对你有好处...
  241.                 echo 回到我们这里,你想要什么?
  242.                 echo 如果你不知道该带什么,你可以写"Chiedi"来问我
  243.        
  244.         :S_BAR_DOMANDA_1
  245.                 echo.
  246.                 echo 你的愿望是什么?
  247.                 set /p DOMANDA=
  248.                
  249.                 if /i DEFINED DOMANDA (
  250.                         goto S_BAR_MENU
  251.                 ) else (
  252.                         echo.
  253.                                 echo 我不明白... 试着键入"Chiedi"
  254.                         pause >nul
  255.                         cls
  256.                         goto S_BAR_DOMANDA
  257.                 )
  258.        
  259.         :S_BAR_MENU
  260.         if /i %DOMANDA%==Chiedi (
  261.                 cls
  262.                 call color.bat BAR#0a
  263.                 echo.
  264.                 echo 菜单:
  265.                 echo.
  266.                 echo    - BEVI    -^> 查看鸡尾酒菜单.
  267.                 echo    - MANGIA  -^> 查看甜品菜单.
  268.                 echo    - SALVA   -^> 保存游戏进度.
  269.                 echo    - ESCI    -^> 离开酒吧.
  270.                
  271.                 goto S_BAR_DOMANDA_1
  272.         )

  273.         :MENU_BEVI
  274.         if /i %DOMANDA%==Bevi (
  275.                 cls
  276.                 call color.bat 菜单#0a
  277.                 echo.
  278.                 echo 菜单:
  279.                 echo.
  280.                 echo.    酒品        价格^(G块金子^)
  281.                 echo.  ------====^>^>^> ^<^<^<====------
  282.                 echo   - Campari              ^(3G^)
  283.                 echo   - Aperol               ^(4G^)
  284.                 echo   - Niente
  285.                
  286.                 echo.
  287.                 echo 你的愿望是什么[ 键入 Campari 或 Aperol 即可买酒 , 键入 Niente 即可返回 ]?
  288.                
  289.                 set /p BEVI=
  290.                 goto BEVI
  291.         )
  292.                
  293.         if /i %DOMANDA%==Mangia (

  294.                 cls
  295.                 call color.bat 菜单#0a
  296.                 echo.
  297.                 echo 菜单:
  298.                 echo.
  299.                 echo.    甜品        价格^(G块金子^)
  300.                 echo.  ------====^>^>^> ^<^<^<====------
  301.                 echo   - Struffoli            ^(3G^)
  302.                 echo   - Cassata              ^(4G^)
  303.                 echo   - Tiramisu             ^(5G^)
  304.                 echo   - Niente
  305.                
  306.                 echo.
  307.                 echo 你的愿望是什么[ 键入 Struffoli / Cassata / Tiramisu 即可购买甜品 , 键入 Niente 即可返回 ]?
  308.                
  309.                 set /p MANGIA=
  310.                 goto MANGIA
  311.         )
  312.                
  313.         if /i %DOMANDA%==Salva (
  314.                 echo.
  315.                 goto SAVE
  316.         )
  317.        
  318.         if /i %DOMANDA%==Esci (
  319.                 echo.
复制代码
 楼主| 发表于 2021-11-6 11:25:50 | 显示全部楼层
本帖最后由 HOPE2021 于 2021-11-6 11:27 编辑

新版本源码第四部分
  1.                 echo %Name%离开了酒吧.
  2.                 pause >nul
  3.                 cls
  4.                 goto STREET_OOON
  5.         )
  6.                
  7.         echo.
  8.         echo 我不明白... 试着键入"Chiedi"
  9.         pause >nul
  10.         cls
  11.         goto S_BAR_DOMANDA
  12.                
  13.         :BEVI
  14.         if /i %BEVI%==Campari (
  15.                 if %GOLD% GEQ 3 (
  16.                         echo 这是你的 !BEVI! 和气泡酒
  17.                         echo 你想要更多吗?
  18.                         pause >nul
  19.                         set /a GOLD=%GOLD%-3
  20.                         goto S_BAR_MENU
  21.                 ) else (
  22.                         echo 你没有金子...
  23.                         echo 你想要更多吗?
  24.                         pause >nul
  25.                         goto S_BAR_MENU
  26.                 )
  27.         )
  28.        
  29.         if /i %BEVI%==Aperol (
  30.                 if %GOLD% GEQ 4 (
  31.                         echo 这是你的Spritz鸡尾酒... 祝你享受威尼斯的夕阳...
  32.                         echo 你想要更多吗?
  33.                         pause >nul
  34.                         set /a GOLD=%GOLD%-4
  35.                         goto S_BAR_MENU
  36.                 ) else (
  37.                         echo 你没有金子...
  38.                         echo 你想要更多吗?
  39.                         pause >nul
  40.                         goto S_BAR_MENU
  41.                 )
  42.         )
  43.        
  44.         if /i %BEVI%==Niente (
  45.                 echo 好的
  46.                 pause >nul
  47.                 cls
  48.                 goto S_BAR_DOMANDA
  49.         )
  50.        
  51.         echo.
  52.         echo 我不明白... 试着键入"Chiedi"
  53.         pause >nul
  54.         goto MENU_BEVI
  55.        
  56.         :MANGIA

  57.         if /i %MANGIA%==Struffoli (
  58.                 if %GOLD% GEQ 3 (
  59.                         echo 这是你的蜂蜜糖球...
  60.                         echo 你想要更多吗?
  61.                         pause >nul
  62.                         set /a GOLD=%GOLD%-3
  63.                         goto S_BAR_MENU
  64.                 ) else (
  65.                         echo 你没有金子...
  66.                         echo 你想要更多吗?
  67.                         pause >nul
  68.                         goto S_BAR_MENU
  69.                 )
  70.         )
  71.        
  72.         if /i %MANGIA%==Aperol (
  73.                 if %GOLD% GEQ 4 (
  74.                         echo 这是你的卡萨塔... 祝你享受西西里的快乐...
  75.                         echo 你想要更多吗?
  76.                         pause >nul
  77.                         set /a GOLD=%GOLD%-4
  78.                         goto S_BAR_MENU
  79.                 ) else (
  80.                         echo 你没有金子...
  81.                         echo 你想要更多吗?
  82.                         pause >nul
  83.                         goto S_BAR_MENU
  84.                 )
  85.         )
  86.        
  87.         if /i %MANGIA%==Aperol (
  88.                 if %GOLD% GEQ 5 (
  89.                         echo 这是你的提拉米苏... 祝你享受意大利的美味...
  90.                         echo 你想要更多吗?
  91.                         pause >nul
  92.                         set /a GOLD=%GOLD%-5
  93.                         goto S_BAR_MENU
  94.                 ) else (
  95.                         echo 你没有金子...
  96.                         echo 你想要更多吗?
  97.                         pause >nul
  98.                         goto S_BAR_MENU
  99.                 )
  100.         )
  101.        
  102.         if /i %MANGIA%==Niente (
  103.                 echo 好的
  104.                 pause >nul
  105.                 cls
  106.                 goto S_BAR_DOMANDA
  107.         )
  108.        
  109.         echo.
  110.         echo 我不明白... 试着键入"Chiedi"
  111.         pause >nul
  112.         goto MENU_BEVI

  113. :MENU_MAGIE
  114.         if %MAGIE% EQU 1 (
  115.                 echo.
  116.                 echo [火之激情] - 1
  117.                 echo [魔法栏空]
  118.                 echo [魔法栏空]
  119.                 echo [魔法栏空]
  120.                 echo [魔法栏空]
  121.                 echo [魔法栏空]
  122.                 echo [继续战斗] - Q
  123.                 echo.
  124.                
  125.                 choice /N /C:1Q /M "你想用什么魔法?: "
  126.                
  127.                 if errorlevel 2 goto %TURNO%
  128.                 if errorlevel 1 goto ER_1
  129.         )

  130.         if %MAGIE% EQU 2 (
  131.                 echo.
  132.                 echo [火之激情] - 1
  133.                 echo [冰之冷酷] - 2
  134.                 echo [魔法栏空]
  135.                 echo [魔法栏空]
  136.                 echo [魔法栏空]
  137.                 echo [魔法栏空]
  138.                 echo [继续战斗] - Q
  139.                 echo.
  140.                
  141.                 choice /N /C:12Q /M "你想用什么魔法?: "
  142.                
  143.                 if errorlevel 3 goto %TURNO%
  144.                 if errorlevel 2 goto ER_2
  145.                 if errorlevel 1 goto ER_1
  146.         )

  147.         if %MAGIE% EQU 3 (
  148.                 echo.
  149.                 echo [火之激情] - 1
  150.                 echo [冰之冷酷] - 2
  151.                 echo [全力以赴] - 3
  152.                 echo [魔法栏空]
  153.                 echo [魔法栏空]
  154.                 echo [魔法栏空]
  155.                 echo [继续战斗] - Q
  156.                 echo.
  157.                
  158.                 choice /N /C:123Q /M "你想用什么魔法?: "
  159.                
  160.                 if errorlevel 4 goto %TURNO%
  161.                 if errorlevel 3 goto ER_3
  162.                 if errorlevel 2 goto ER_2
  163.                 if errorlevel 1 goto ER_1
  164.         )

  165.         if %MAGIE% EQU 4 (
  166.                 echo.
  167.                 echo [火之激情] - 1
  168.                 echo [冰之冷酷] - 2
  169.                 echo [全力以赴] - 3
  170.                 echo [水之力量] - 4
  171.                 echo [魔法栏空]
  172.                 echo [魔法栏空]
  173.                 echo [继续战斗] - Q
  174.                 echo.
  175.                
  176.                 choice /N /C:1234Q /M "你想用什么魔法?: "
  177.                
  178.                 if errorlevel 5 goto %TURNO%
  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 5 (
  185.                 echo.
  186.                 echo [火之激情] - 1
  187.                 echo [冰之冷酷] - 2
  188.                 echo [全力以赴] - 3
  189.                 echo [水之力量] - 4
  190.                 echo [电闪雷鸣] - 5
  191.                 echo [魔法栏空]
  192.                 echo [继续战斗] - Q
  193.                 echo.
  194.                
  195.                 choice /N /C:12345Q /M "你想用什么魔法?: "
  196.                
  197.                 if errorlevel 6 goto %TURNO%
  198.                 if errorlevel 5 goto ER_5
  199.                 if errorlevel 4 goto ER_4
  200.                 if errorlevel 3 goto ER_3
  201.                 if errorlevel 2 goto ER_2
  202.                 if errorlevel 1 goto ER_1
  203.         )

  204.         if %MAGIE% EQU 6 (
  205.                 echo.
  206.                 echo [火之激情] - 1
  207.                 echo [冰之冷酷] - 2
  208.                 echo [全力以赴] - 3
  209.                 echo [水之力量] - 4
  210.                 echo [电闪雷鸣] - 5
  211.                 echo [妙手回春] - 6
  212.                 echo [继续战斗] - Q
  213.                 echo.
  214.                
  215.                 choice /N /C:123456Q /M "你想用什么魔法?: "
  216.                
  217.                 if errorlevel 7 goto %TURNO%
  218.                 if errorlevel 6 goto ER_6
  219.                 if errorlevel 5 goto ER_5
  220.                 if errorlevel 4 goto ER_4
  221.                 if errorlevel 3 goto ER_3
  222.                 if errorlevel 2 goto ER_2
  223.                 if errorlevel 1 goto ER_1
  224.         )

  225. :ER_1
  226.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  227.         set /a HP_EN=%HP_EN%-%DAMAGE_M%
  228.                        
  229.         echo %Name%使用了火之激情, 攻击力: %DAMAGE_M%
  230.                        
  231.         if %HP_EN% LEQ 0 (
  232.                 echo %NAME_EN% 已死亡.
  233.                 set /a END_COMBACT=1
  234.                 pause >nul
  235.                 goto CALCOLO_EXP
  236.         )
  237.                        
  238.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  239.                 echo %NAME_EN% 已死亡.
  240.                 set /a END_COMBACT=1
  241.                 pause >nul
  242.                 goto CALCOLO_EXP
  243.         ) else (
  244.                 pause >nul
  245.                 goto %TURNO_EN%
  246.         )

  247. :ER_2
  248.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  249.         set /a HP_EN=%HP_EN%-%DAMAGE_M%

  250.         echo %Name%使用了冰之冷酷, 攻击力: %DAMAGE_M%
  251.                
  252.         if %HP_EN% LEQ 0 (
  253.                 echo %NAME_EN% 已死亡.
  254.                 set /a END_COMBACT=1
  255.                 pause >nul
  256.                 goto CALCOLO_EXP
  257.         )
  258.                        
  259.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  260.                 echo %NAME_EN% 已死亡.
  261.                 set /a END_COMBACT=1
  262.                 pause >nul
  263.                 goto CALCOLO_EXP
  264.         ) else (
  265.                 pause >nul
  266.                 goto %TURNO_EN%
  267.         )

  268. :ER_3
  269.         set /a HP_RESTORED=%HP%+(%VAR_MAG%+%MAG%)

  270.         if HP_RESTORED GEQ %HP_MAX% (
  271.                 set /a HP=%HP_MAX%
  272.                 echo %Name%已经全部恢复...
  273.                 pause >nul
  274.                 goto %TURNO_EN%
  275.         ) else (
  276.                 set /a HP=%HP_RESTORED%
  277.                 echo %Name%恢复: %HP_RESTORED% HP
  278.                 pause >nul
  279.                 goto %TURNO_EN%
  280.         )

  281. :ER_4
  282.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  283.         set /a HP_EN=%HP_EN%-%DAMAGE_M%

  284.         echo %Name%使用了水之力量, 攻击力: %DAMAGE_M%
  285.        
  286.         if %HP_EN% LEQ 0 (
  287.                 echo %NAME_EN% 已死亡.
  288.                 set /a END_COMBACT=1
  289.                 pause >nul
  290.                 goto CALCOLO_EXP
  291.         )
  292.                        
  293.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  294.                 echo %NAME_EN% 已死亡.
  295.                 set /a END_COMBACT=1
  296.                 pause >nul
  297.                 goto CALCOLO_EXP
  298.         ) else (
  299.                 pause >nul
  300.                 goto %TURNO_EN%
  301.         )

  302. :ER_5
  303.         set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
  304.         set /a HP_EN=%HP_EN%-%DAMAGE_M%

  305.         echo %Name%使用了电闪雷鸣, 攻击力: %DAMAGE_M%
  306.        
  307.         if %HP_EN% LEQ 0 (
  308.                 echo %NAME_EN% 已死亡.
  309.                 set /a END_COMBACT=1
  310.                 pause >nul
  311.                 goto CALCOLO_EXP
  312.         )
  313.                        
  314.         if %DAMAGE_M% GEQ %HP_MAX_EN% (
  315.                 echo %NAME_EN% 已死亡.
  316.                 set /a END_COMBACT=1
  317.                 pause >nul
  318.                 goto CALCOLO_EXP
  319.         ) else (
  320.                 pause >nul
  321.                 goto %TURNO_EN%
  322.         )

  323. :ER_6
  324.         if %ST_VELENO% EQU 1 (
  325.                 echo 使用妙手回春,你不再中毒了.
  326.                 set /a ST_VELENO=0
  327.                 pause >nul
  328.                 goto %TURNO_EN%
  329.         ) else (
  330.                 echo %Name%无法使用妙手回春..
  331.                 pause >nul
  332.                 goto %TURNO_EN%
复制代码
 楼主| 发表于 2021-11-6 11:28:41 | 显示全部楼层
新版本源码第五部分
  1.         )

  2. :CALCOLO_EXP
  3.         set /a EXP=%EXP%+%EXP_EN%
  4.         echo 你赢了: 获得 %EXP_EN% EXP
  5.         pause >nul
  6.        
  7.         if %LV% EQU 1 if %EXP% GEQ 10 (
  8.                 echo.
  9.                 echo 你的经验足够了...
  10.                 echo 升到第 2 级...
  11.                 pause >nul
  12.                 set /a ATT=%ATT%+3
  13.                 set /a DIF=%DIF%+2
  14.                 set /a MAG=%MAG%+0
  15.                 set /a DIF_M=%DIF_M%+1
  16.                 set /a HP_MAX=%HP_MAX%+15
  17.                 set /a HP=%HP_MAX%+15
  18.                 set /a MAGIE=1
  19.                 set /a LV=2
  20.                
  21.                 goto SAVE
  22.         ) else (
  23.                 goto SAVE
  24.         )
  25.         if %LV% LEQ 2 if %EXP% GEQ 30 (
  26.                 echo.
  27.                 echo 你的经验足够了...
  28.                 echo 升到第 3 级...
  29.                 pause >nul
  30.                 set /a ATT=%ATT%+1
  31.                 set /a DIF=%DIF%+1
  32.                 set /a MAG=%MAG%+2
  33.                 set /a DIF_M=%DIF_M%+1
  34.                 set /a HP_MAX=%HP_MAX%+20
  35.                 set /a HP=%HP_MAX%+20
  36.                 set /a MAGIE=2
  37.                 set /a LV=3
  38.                
  39.                 goto SAVE
  40.         ) else (
  41.                 goto SAVE
  42.         )
  43.         if %LV% LEQ 3 if %EXP% GEQ 50 (
  44.                 echo.
  45.                 echo 你的经验足够了...
  46.                 echo 升到第 4 级...
  47.                 pause >nul
  48.                 set /a ATT=%ATT%+3
  49.                 set /a DIF=%DIF%+2
  50.                 set /a MAG=%MAG%+1
  51.                 set /a DIF_M=%DIF_M%+2
  52.                 set /a HP_MAX=%HP_MAX%+30
  53.                 set /a HP=%HP_MAX%+30
  54.                 set /a MAGIE=3
  55.                 set /a LV=4
  56.                
  57.                 goto SAVE
  58.         ) else (
  59.                 goto SAVE
  60.         )
  61.         if %LV% LEQ 4 if %EXP% GEQ 80 (
  62.                 echo.
  63.                 echo 你的经验足够了...
  64.                 echo 升到第 5 级...
  65.                 pause >nul
  66.                 set /a ATT=%ATT%+1
  67.                 set /a DIF=%DIF%+3
  68.                 set /a MAG=%MAG%+3
  69.                 set /a DIF_M=%DIF_M%+1
  70.                 set /a HP_MAX=%HP_MAX%+34
  71.                 set /a HP=%HP_MAX%+34
  72.                 set /a MAGIE=4
  73.                 set /a LV=5
  74.                
  75.                 goto SAVE
  76.         ) else (
  77.                 goto SAVE
  78.         )
  79.         if %LV% LEQ 5 if %EXP% GEQ 115 (
  80.                 echo.
  81.                 echo 你的经验足够了...
  82.                 echo 升到第 6 级...
  83.                 pause >nul
  84.                 set /a ATT=%ATT%+2
  85.                 set /a DIF=%DIF%+2
  86.                 set /a MAG=%MAG%+2
  87.                 set /a DIF_M=%DIF_M%+2
  88.                 set /a HP_MAX=%HP_MAX%+38
  89.                 set /a HP=%HP_MAX%+38
  90.                 set /a MAGIE=5
  91.                 set /a LV=6
  92.                
  93.                 goto SAVE
  94.         ) else (
  95.                 goto SAVE
  96.         )
  97.         if %LV% LEQ 6 if %EXP% GEQ 150 (
  98.                 echo.
  99.                 echo 你的经验足够了...
  100.                 echo 升到第 7 级...
  101.                 pause >nul
  102.                 set /a ATT=%ATT%+3
  103.                 set /a DIF=%DIF%+4
  104.                 set /a MAG=%MAG%+3
  105.                 set /a DIF_M=%DIF_M%+4
  106.                 set /a HP_MAX=%HP_MAX%+45
  107.                 set /a HP=%HP_MAX%+45
  108.                 set /a MAGIE=6
  109.                 set /a LV=7
  110.                
  111.                 goto SAVE
  112.         ) else (
  113.                 goto SAVE
  114.         )

  115. :ATTACCA
  116.         set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
  117.        
  118.         if %COMBACT% EQU 1 (
  119.                 set /a HP_EN=%HP_EN%-%DAMAGE%
  120.                 echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%

  121.                 if !HP_EN! LEQ 0 (
  122.                         echo %NAME_EN% 已死亡...
  123.                         set /a END_COMBACT=1
  124.                         pause >nul
  125.                         goto CALCOLO_EXP
  126.                 )
  127.                        
  128.                 if !DAMAGE! GEQ %HP_MAX_EN% (
  129.                         echo %NAME_EN% 已死亡...
  130.                         set /a END_COMBACT=1
  131.                         pause >nul
  132.                         goto CALCOLO_EXP
  133.                 ) else (
  134.                         pause >nul
  135.                         goto %TURNO_EN%
  136.                 )
  137.         )
  138.        
  139.         if %COMBACT% EQU 2 (
  140.                 if %MID_COMBACT% EQU 0 (
  141.                         if %TAG% EQU 1 (
  142.                                 set /a HP_EN=%HP_EN%-%DAMAGE%
  143.                                 echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  144.        
  145.                                 if !HP_EN! LEQ 0 (
  146.                                         echo %NAME_EN% 已死亡...
  147.                                         set /a MID_COMBACT=1
  148.                                 pause >nul
  149.                                         goto COMBACT_2_ENEMY_NO2
  150.                                 )
  151.                        
  152.                                 if !DAMAGE! GEQ %HP_MAX_EN% (
  153.                                         echo %NAME_EN% 已死亡...
  154.                                         set /a MID_COMBACT=1
  155.                                         pause >nul
  156.                                         goto COMBACT_2_ENEMY_NO2
  157.                                 ) else (
  158.                                         pause >nul
  159.                                         goto COMBACT_2_ENEMY_NO1
  160.                                 )
  161.                         )
  162.                
  163.                         if %TAG% EQU 2 (
  164.                                 set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  165.                                 echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%
  166.        
  167.                                 if !HP_EN_2! LEQ 0 (
  168.                                         echo %NAME_EN_2% 已死亡...
  169.                                         set /a MID_COMBACT=2
  170.                                         pause >nul
  171.                                         goto COMBACT_2_ENEMY_NO1
  172.                                 )
  173.                        
  174.                                 if !DAMAGE! GEQ %HP_MAX_EN_2% (
  175.                                         echo %NAME_EN_2% 已死亡...
  176.                                         set /a MID_COMBACT=2
  177.                                         pause >nul
  178.                                         goto COMBACT_2_ENEMY_NO1
  179.                                 ) else (
  180.                                         pause >nul
  181.                                         goto COMBACT_2_ENEMY_NO1
  182.                                 )
  183.                         )
  184.                 )
  185.                
  186.                 if %MID_COMBACT% EQU 1 (
  187.                         set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
  188.                         echo %Name% 攻击了 %NAME_EN_2%, 攻击力: %DAMAGE%

  189.                         if !HP_EN_2! LEQ 0 (
  190.                                 echo %NAME_EN_2% 已死亡...
  191.                                 set /a END_COMBACT=1
  192.                                 pause >nul
  193.                                 goto CALCOLO_EXP
  194.                         )

  195.                         if !DAMAGE! GEQ %HP_MAX_EN_2% (
  196.                                 echo %NAME_EN_2% 已死亡...
  197.                                 set /a END_COMBACT=1
  198.                                 pause >nul
  199.                                 goto CALCOLO_EXP
  200.                         ) else (
  201.                                 pause >nul
  202.                                 goto COMBACT_2_ENEMY_NO2
  203.                         )
  204.                 )

  205.                 if %MID_COMBACT% EQU 2 (
  206.                         set /a HP_EN=%HP_EN%-%DAMAGE%
  207.                         echo %Name% 攻击了 %NAME_EN%, 攻击力: %DAMAGE%

  208.                         if !HP_EN! LEQ 0 (
  209.                                 echo %NAME_EN% 已死亡...
  210.                                 set /a END_COMBACT=1
  211.                                 pause >nul
  212.                                 goto CALCOLO_EXP
  213.                         )

  214.                         if !DAMAGE! GEQ %HP_MAX_EN% (
  215.                                 echo %NAME_EN% 已死亡...
  216.                                 set /a END_COMBACT=1
  217.                                 pause >nul
  218.                                 goto CALCOLO_EXP
  219.                         ) else (
  220.                                 pause >nul
  221.                                 goto COMBACT_2_ENEMY_NO1
  222.                         )
  223.                 )
  224.         )

  225. :COMBACT_1
  226.         set /a FUGA=%RANDOM% %%100
  227.         set /a VAR_ATT=%RANDOM% %%5
  228.         set /a VAR_MAG=%RANDOM% %%5
  229.         set /a ST_DEF=0
  230.         set /a COMBACT=1
  231.        
  232.         cls

  233.         call color.bat 轮到你了#0a
  234.         echo.
  235.         echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  236.         echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  237.         echo.
  238.                                
  239.         if %HP% LEQ 0 (
  240.                 echo.
  241.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  242.                 pause >nul
  243.                 goto END
  244.         )

  245.         if %HP_EN% LEQ 0 (
  246.                 echo %NAME_EN% 已死亡...
  247.                 set /a END_COMBACT=1
  248.                 pause >nul
  249.                 goto CALCOLO_EXP
  250.         ) else (               
  251.                 choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"

  252.                 if errorlevel 4 (
  253.                         echo 逃跑...
  254.                         if %FUGA% GEQ 50 (
  255.                                 echo %Name%设法逃走了...
  256.                                 pause >nul
  257.                                 goto %AMBIENTE%
  258.                         ) else (
  259.                                 echo %Name%无法逃走...
  260.                                 pause >nul
  261.                                 goto %TURNO_EN%
  262.                         )
  263.                 )
  264.        
  265.                 if errorlevel 3 (
  266.                         if %MAGIE% EQU 0 (
  267.                                 echo %Name%没有任何魔法... 做无用功...
  268.                                 pause >nul
  269.                                 goto %TURNO%
  270.                         )
  271.                         if %MAGIE% GEQ 1 goto MENU_MAGIE
  272.                 )
  273.        
  274.                 if errorlevel 2 (
  275.                         echo 防御^^!我挡^^!^^!^^!
  276.                         set /a ST_DEF=1
  277.                         pause >nul
  278.                         goto %TURNO_EN%
  279.                 )
  280.                
  281.                 if errorlevel 1 goto ATTACCA
  282.         )

  283. :COMBACT_1_ENEMY
  284.         set /a VELENO=%RANDOM% %%100
  285.         set /a VAR_DAMAGE=%RANDOM% %%4

  286.         if %ST_DEF% EQU 0 (
  287.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  288.         ) else (
  289.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  290.         )
  291.        
  292.         if %DAMAGE_EN% LEQ 0 (
  293.                 set /a DAMAGE_EN=0
  294.         )
  295.                                
  296.         cls

  297.         call color.bat %NAME_EN%#0a 回合#0a
  298.         echo.
  299.         echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  300.         echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  301.         echo.
  302.         echo %NAME_EN%攻击了%Name%...
  303.         echo 攻击力: %DAMAGE_EN%
  304.                                
  305.         set /a HP=%HP%-%DAMAGE_EN%
  306.                                
  307.         if %HP_EN% LEQ 0 (
  308.                 echo %NAME_EN% 已死亡...
  309.                 set /a END_COMBACT=1
  310.                 pause >nul
  311.                 goto CALCOLO_EXP
  312.         )
  313.                        
  314.         if %HP% LEQ 0 (
  315.                 echo.
  316.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  317.                 pause >nul
  318.                 goto END
  319.         )

  320.         if %DAMAGE_EN% GEQ %HP_MAX% (
  321.                 echo.
  322.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  323.                 pause >nul
  324.                 goto END
  325.         ) else (
  326.                 if %ST_VELENO% EQU 0 (
  327.                         if %VELENO% GEQ 75 (
  328.                                 echo.
  329.                                 echo %Name%中毒了...
  330.                                 echo 损失: %HP_LOSE% HP
  331.                                 set /a HP=%HP%-3
  332.                                 set /a ST_VELENO=1
  333.                                 if %HP% LEQ 0 (
  334.                                         echo.
  335.                                         echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
复制代码
 楼主| 发表于 2021-11-6 11:29:20 | 显示全部楼层
新版本源码第六部分
  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.        
  32.         if %MID_COMBACT% EQU 0 (
  33.                 set TURNO_EN=COMBACT_2_ENEMY_NO1
  34.         )
  35.        
  36.         if %MID_COMBACT% EQU 1 (
  37.                 set TURNO_EN=COMBACT_2_ENEMY_NO2
  38.         )
  39.        
  40.         if %MID_COMBACT% EQU 2 (
  41.                 set TURNO_EN=COMBACT_2_ENEMY_NO1
  42.         )

  43.         cls
  44.         call color.bat 轮到你了#0a
  45.         echo.
  46.        
  47.         if %MID_COMBACT% EQU 0 (
  48.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  49.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  50.                 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%"
  51.                 echo.
  52.         )
  53.        
  54.         if %MID_COMBACT% EQU 1 (
  55.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  56.                 echo "%NAME_EN% -> Morto.
  57.                 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%"
  58.                 echo.
  59.         )
  60.        
  61.         if %MID_COMBACT% EQU 2 (
  62.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  63.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  64.                 echo "%NAME_EN_2% -> Morto.
  65.                 echo.
  66.         )
  67.        
  68.         if %HP% LEQ 0 (
  69.                 echo.
  70.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  71.                 pause >nul
  72.                 goto END
  73.         )
  74.                
  75.         if %HP_EN% LEQ 0 if %HP_EN_2% LEQ 0 (
  76.                 echo 僵尸死了...你看着,感到莫名的恶心...
  77.                 set /a END_COMBACT=1
  78.                 pause >nul
  79.                 goto CALCOLO_EXP
  80.         )
  81.        
  82.                 if %MID_COMBACT% EQU 0 (
  83.                         choice /N /C:12 /M "攻击谁? [1] %NAME_EN%, [2] %NAME_EN_2%"
  84.                        
  85.                         if errorlevel 2 (
  86.                                 set /a TAG=2
  87.                                 goto FINE_TARGET
  88.                         )
  89.                        
  90.                         if errorlevel 1 (
  91.                                 set /a TAG=1
  92.                                 goto FINE_TARGET
  93.                         )
  94.                 )
  95.                
  96.                 if %MID_COMBACT% EQU 1 (
  97.                         set /a TAG=2
  98.                 )
  99.                
  100.                 if %MID_COMBACT% EQU 2 (
  101.                         set /a TAG=1
  102.                 )
  103.                
  104.                 :FINE_TARGET
  105.                 echo.
  106.                 choice /N /C:ADMF /M "A[攻击] D[防御] M[魔法] F[逃跑]"

  107.                 if errorlevel 4 (
  108.                         echo Tenti la fugga
  109.                         if %FUGA% GEQ 50 (
  110.                                 echo %Name%设法逃走了...
  111.                                 pause >nul
  112.                                 goto %AMBIENTE%
  113.                         ) else (
  114.                                 echo %Name%无法逃走...
  115.                                 pause >nul
  116.                                 goto %TURNO_EN%
  117.                         )
  118.                 )
  119.        
  120.                 if errorlevel 3 (
  121.                         if %MAGIE% EQU 0 (
  122.                                 echo %Name%没有任何魔法... 做无用功...
  123.                                 pause >nul
  124.                                 goto %TURNO%
  125.                         )
  126.                         if %MAGIE% GEQ 1 goto MENU_MAGIE
  127.                 )
  128.        
  129.                 if errorlevel 2 (
  130.                         echo 防御^^!我挡^^!^^!^^!
  131.                         set /a ST_DEF=1
  132.                         pause >nul
  133.                         goto %TURNO_EN%
  134.                 )
  135.                
  136.                 if errorlevel 1 goto ATTACCA

  137. :COMBACT_2_ENEMY_NO1
  138.         set /a VELENO=%RANDOM% %%100
  139.         set /a VAR_DAMAGE=%RANDOM% %%4

  140.         if %ST_DEF% EQU 0 (
  141.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  142.         ) else (
  143.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  144.         )
  145.        
  146.         if %DAMAGE_EN% LEQ 0 (
  147.                 set /a DAMAGE_EN=0
  148.         )

  149.         if %MID_COMBACT% EQU 2 (
  150.                 cls
  151.                 call color.bat %NAME_EN%#0a 回合#0a
  152.                 echo.
  153.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  154.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  155.                 echo "%NAME_EN_2% -> Morto.
  156.                 echo.
  157.         ) else (
  158.                 cls
  159.                 call color.bat %NAME_EN%#0a 回合#0a
  160.                 echo.
  161.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  162.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  163.                 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%"
  164.                 echo.
  165.         )
  166.        
  167.         echo %NAME_EN%攻击了%Name%...
  168.         echo 攻击力: %DAMAGE_EN%

  169.         set /a HP=%HP%-%DAMAGE_EN%

  170.         if %MID_COMBACT% EQU 0 (
  171.                 if %HP_EN% LEQ 0 (
  172.                         echo %NAME_EN% 已死亡...
  173.                         set /a MID_COMBACT=1
  174.                         pause >nul
  175.                         goto COMBACT_2_ENEMY_NO2
  176.                 )
  177.         )
  178.        
  179.         if %MID_COMBACT% EQU 2 (
  180.                 if %HP_EN% LEQ 0 (
  181.                         echo %NAME_EN% 已死亡...
  182.                         set /a END_COMBACT=1
  183.                         pause >nul
  184.                         goto CALCOLO_EXP
  185.                 )
  186.         )

  187.         if %HP% LEQ 0 (
  188.                 echo.
  189.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  190.                 pause >nul
  191.                 goto END
  192.         )

  193.         if %DAMAGE_EN% GEQ %HP_MAX% (
  194.                 echo.
  195.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  196.                 pause >nul
  197.                 goto END
  198.         ) else (
  199.                 if %ST_VELENO% EQU 0 (
  200.                         if %VELENO% GEQ 75 (
  201.                                 echo.
  202.                                 echo %Name%中毒了...
  203.                                 echo 损失: %HP_LOSE% HP
  204.                                 set /a HP=%HP%-3
  205.                                 set /a ST_VELENO=1
  206.                                 if %HP% LEQ 0 (
  207.                                         echo.
  208.                                         echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  209.                                         pause >nul
  210.                                         goto END
  211.                                 ) else (
  212.                                         pause >nul
  213.                                         if %MID_COMBACT% EQU 0 (
  214.                                                 goto COMBACT_2_ENEMY_NO2
  215.                                         ) else (
  216.                                                 goto %TURNO%
  217.                                         )
  218.                                 )
  219.                         ) else (
  220.                                 pause >nul
  221.                                 if %MID_COMBACT% EQU 0 (
  222.                                         goto COMBACT_2_ENEMY_NO2
  223.                                 ) else (
  224.                                         goto %TURNO%
  225.                                 )
  226.                         )
  227.                 ) else (
  228.                         echo 损失: %HP_LOSE% HP
  229.                         set /a HP=%HP%-3
  230.                         if %HP% LEQ 0 (
  231.                                 echo.
  232.                                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  233.                                 pause >nul
  234.                                 goto END
  235.                         ) else (
  236.                                 pause >nul
  237.                                 if %MID_COMBACT% EQU 0 (
  238.                                         goto COMBACT_2_ENEMY_NO2
  239.                                 ) else (
  240.                                         goto %TURNO%
  241.                                 )
  242.                         )
  243.                 )
  244.         )

  245. :COMBACT_2_ENEMY_NO2
  246.         set /a VELENO=%RANDOM% %%100
  247.         set /a VAR_DAMAGE=%RANDOM% %%4

  248.         if %ST_DEF% EQU 0 (
  249.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
  250.         ) else (
  251.                 set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
  252.         )
  253.        
  254.         if %DAMAGE_EN% LEQ 0 (
  255.                 set /a DAMAGE_EN=0
  256.         )

  257.         if %MID_COMBACT% EQU 1 (
  258.                 cls
  259.                 call color.bat %NAME_EN_2%#0a 回合#0a
  260.                 echo.
  261.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  262.                 echo "%NAME_EN% -> Morto.
  263.                 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%"
  264.                 echo.
  265.         ) else (
  266.                 cls
  267.                 call color.bat TURNO#0a %NAME_EN_2%#0a
  268.                 echo.
  269.                 echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
  270.                 echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
  271.                 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%"
  272.                 echo.
  273.         )
  274.        
  275.         echo %NAME_EN_2%攻击了%Name%...
  276.         echo 攻击力: %DAMAGE_EN%

  277.         set /a HP=%HP%-%DAMAGE_EN%

  278.         if %MID_COMBACT% EQU 0 (
  279.                 if %HP_EN_2% LEQ 0 (
  280.                         echo %NAME_EN_2%已死亡...
  281.                         set /a MID_COMBACT=2
  282.                         pause >nul
  283.                         goto COMBACT_2_ENEMY_NO1
  284.                 )
  285.         )
  286.        
  287.         if %MID_COMBACT% EQU 1 (
  288.                 if %HP_EN_2% LEQ 0 (
  289.                         echo %NAME_EN_2%已死亡...
  290.                         set /a END_COMBACT=1
  291.                         pause >nul
  292.                         goto CALCOLO_EXP
  293.                 )
  294.         )

  295.         if %HP% LEQ 0 (
  296.                 echo.
  297.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  298.                 pause >nul
  299.                 goto END
  300.         )

  301.         if %DAMAGE_EN% GEQ %HP_MAX% (
  302.                 echo.
  303.                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  304.                 pause >nul
  305.                 goto END
  306.         ) else (
  307.                 if %ST_VELENO% EQU 0 (
  308.                         if %VELENO% GEQ 75 (
  309.                                 echo.
  310.                                 echo %Name%中毒了...
  311.                                 echo 损失: %HP_LOSE% HP
  312.                                 set /a HP=%HP%-3
  313.                                 set /a ST_VELENO=1
  314.                                 if %HP% LEQ 0 (
  315.                                         echo.
  316.                                         echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  317.                                         pause >nul
  318.                                         goto END
  319.                                 ) else (
  320.                                         pause >nul
  321.                                         goto %TURNO%
  322.                                 )
  323.                         ) else (
  324.                                 pause >nul
  325.                                 goto %TURNO%
  326.                         )
  327.                 ) else (
  328.                         echo 损失: %HP_LOSE% HP
  329.                         set /a HP=%HP%-3
  330.                         if %HP% LEQ 0 (
  331.                                 echo.
  332.                                 echo %Name%躺在地上... 流血不止... 缓缓地合上了双眼... 再见了... %Name%
  333.                                 pause >nul
  334.                                 goto END
  335.                         ) else (
  336.                                 pause >nul
  337.                                 goto %TURNO%
  338.                         )
  339.                 )
  340.         )

  341. :END
  342. echo Game Over...
  343. pause >nul
  344. exit
复制代码
发表于 2021-11-6 12:04:28 | 显示全部楼层
回复 2# HOPE2021


    建议把完整代码打包上传到网盘,太长的代码不要这样分开发,不适合他人查看。
发表于 2021-11-6 12:16:34 | 显示全部楼层
还真有人想法跟我一样!我一直梦想用批处理做一个完美的RPG游戏。但楼主转的这个还不能算一个满意的答卷。哈哈,加油!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:43 , Processed in 0.040592 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表