Board logo

标题: 这个游戏是一个类似于魔塔的游戏 [打印本页]

作者: a2002    时间: 2017-7-1 14:30     标题: 这个游戏是一个类似于魔塔的游戏

本帖最后由 a2002 于 2017-7-17 10:45 编辑

这个游戏是一个类似于魔塔的游戏(可以说是魔塔的变种),但难度却和魔塔差不多。
太囧了,原创区竟然没权限发不了
话不多说,先上图:
[attach]10719[/attach]
[attach]10718[/attach]
[attach]10721[/attach]

全景: (这是第三层的)
[attach]10720[/attach]

游戏地图20*20,版本17.6.29(2017年6月29日编写完成)

其中CKey.exe,CPaint.exe和EUDC.exe取自Defanive,PlaySound.exe自编,感谢Defanive的第三方,这也算宣传了EUDC吧

还有ttf字体,也选自他编的21层魔塔批处理

这个游戏,是我根据魔塔想出来的,和魔塔差不多

游戏为7层地图,每层20*20,打败大魔王结束游戏(有一定的难度,但实测通关过)

还有,我才初三,见识短浅,不喜勿喷

**********游戏操作**********
*Esc键退出并解除系统占用
*B键切换背景音乐(现只有2个)
*C键设置,进入界面后上下键选择,左右键控制,空格确定
*L键读取(较慢)
*R键重新开始(较慢)
*S键保存游戏,存档是Data\SaveData.dat
*U键使用道具,进入界面后上下键选择,空格确定,Esc关闭

以下是主程序源码(有些乱)
  1. @echo off
  2. :Restart
  3. title 冒险者&set "Music_Control=exit"&taskkill /f /im "PlaySound.exe">nul 2>nul&set "Music_Control="
  4. setlocal enabledelayedexpansion
  5. call :Module_Check
  6. color 0f&mode 40,25&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo           游戏初始化...
  7. ren "%~dp0Data\N_Game_BGM-1.*" "Game_BGM-1.*">nul 2>nul&ren "%~dp0Data\Game_BGM-2.*" "N_Game_BGM-2.*">nul 2>nul
  8. if "%1" neq "" goto :PlayBGM
  9. start /b "" cmd /c "%~f0" BGM
  10. rem 冒险者游戏,由a2002编写完成,版本:17.6.29
  11. call :Module_InitEUDC
  12. call :Module_InitString
  13. call :Module_InitBlocks
  14. call :Module_InitMaps
  15. call :Module_InitFloorPoint
  16. echo           载入地图中...
  17. call :Module_TranslateMaps
  18. cls
  19. :Game_Control
  20. call :Module_Echo
  21. :Game_Control_ReChoice
  22. Ckey 27 38 40 37 39 83 76 67 72 85 66 82
  23. if !errorlevel! equ 6 call :PlaySound "Char.mp3"&set Player_>"%~dp0Data\SaveData.dat"&set Map_>>"%~dp0Data\SaveData.dat"&set "Player_Echo_Message=游戏数据保存成功!"&goto :Game_Control
  24. if !errorlevel! equ 7 if exist "%~dp0Data\SaveData.dat" (call :PlaySound "Char.mp3"&for /f "usebackq tokens=*" %%a in ("%~dp0Data\SaveData.dat") do set "%%a"
  25. set "Player_Echo_Message=读取中,请稍后..."&call :Module_DrawMsg&call :ClearMaps&call :Module_TranslateMaps&set "Player_Echo_Message=游戏数据读取成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=未发现存档记录!"&goto :Game_Control)
  26. set "Player_Echo_Message=H键打开帮助"
  27. if !errorlevel! equ 1 goto :Game_Exit
  28. if !errorlevel! equ 2 if !Player_X! neq 1 (set /a "Player_New_X=Player_X-1","Player_New_Y=Player_Y"&set Player_Onto=g) else goto :Game_Control
  29. if !errorlevel! equ 3 if !Player_X! neq 20 (set /a "Player_New_X=Player_X+1","Player_New_Y=Player_Y"&set Player_Onto=d) else goto :Game_Control
  30. if !errorlevel! equ 4 if !Player_Y! neq 1 (set /a "Player_New_Y=Player_Y-1","Player_New_X=Player_X"&set Player_Onto=e) else goto :Game_Control
  31. if !errorlevel! equ 5 if !Player_Y! neq 20 (set /a "Player_New_Y=Player_Y+1","Player_New_X=Player_X"&set Player_Onto=f) else goto :Game_Control
  32. if !errorlevel! equ 8 set Player_Choice=1&call :PlaySound "Char.mp3"&goto :Module_Config
  33. if !errorlevel! equ 9 call :Module_ShowChat d "版本!Player_Game_Version! 部分第三方及图片由Defanive提供,由a2002编写完成,L/S键读取/保存,C/U键设置/使用道具,空格键确定,ESC退出,R键重新开始,参见readme" "" "游戏帮助:"&goto :Game_Control
  34. if !errorlevel! equ 10 goto :UseItem
  35. if !errorlevel! equ 11 goto :SetBGM
  36. if !errorlevel! equ 12 endlocal&goto :Restart
  37. set /a "t1=!Player_New_Y!-1"
  38. set "Event_Block=!Map_%Player_NFloor%_%Player_New_X%:~%t1%,1!"
  39. goto :Event_!Block_Event_%Event_Block%!
  40. goto :Game_Control
  41. :PlayBGM
  42. !Music_Control!
  43. PlaySound "%~dp0Data\Game_BGM*"
  44. goto :PlayBGM
  45. :Module_Check
  46. for %%# in (1.tte BasicData.dat) do if not exist "%~dp0Data\%%#" (echo 找不到数据文件,无法继续&pause>nul&exit)
  47. if /i not "%processor_architecture%" equ "X86" (echo 电脑版本不兼容,无法继续&pause>nul&exit)
  48. for %%# in ("Ckey" "CPaint" "EUDC" "PlaySound") do if not exist "%%~#.exe" call :B64DECODE "%%~#.exe"
  49. goto :eof
  50. :Module_InitEUDC
  51. EUDC 0&reg add "HKCU\EUDC\936" /f /v "SystemDefaultEUDCFont" /d "%~dp0Data\1.tte" >nul 2>nul&EUDC 1
  52. goto :eof
  53. :Module_InitString
  54. set "RunPath=%~dp0"&set "RunFile=%~nx0"&set "Char_Space=                                                            "
  55. set "TPL_Color=0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f"
  56. set "Player_NFloor=1"&set "Player_HP=100"&set "Player_At=0"&set "Player_De=0"
  57. set "Player_YK=0"&set "Player_GK=0"&set "Player_PK=0"&set "Player_Onto=d"&set "Player_BeenTo=1"
  58. set "Player_Echo_Message=Made by a2002,H键打开帮助"
  59. set "Player_Mo=0"&set "Player_Ex=0"&set "Player_KBook=0"
  60. set "Player_Set_Music=1"&set "Player_Message_Set_Music=游戏音效"
  61. set "Player_Set_EDE=1"&set "Player_Message_Set_EDE=取物延迟"
  62. set "Player_Set_SAD=2"&set "Player_Message_Set_SAD=战前查看怪物信息"
  63. set "Player_Set_Note=2"&set "Player_Message_Set_Note=记录留言(不建议关闭)"&set "CN_Note=记事本,用来记录所获得的信息"&set "Player_Use_Note=0"&set "Player_Max_Note=0"
  64. set "Player_Use_Cs=0"&set "CN_Cs=幸运十字架,用来提升自己的能力"
  65. set "Player_Use_JF=0"&set "CN_JF=传送器,用来跳转楼层"
  66. set "Player_Use_MC=0"&set "CN_MC=圣水瓶,可以使生命翻倍"
  67. set "Player_Use_RP=0"&set "CN_RP=中心对称转换器,传送玩家(慎重使用)"
  68. goto :eof
  69. :Module_InitBlocks
  70. cd /d %temp%
  71. findstr "^^#Block#" "!RunPath!Data\BasicData.dat" >#GameTmp#.tmp
  72. for /f "tokens=2-7 delims=_" %%a in (#GameTmp#.tmp) do (
  73. set "Block_Top_%%a=%%b"&set "Block_Bottom_%%a=%%c"&set "Block_Event_%%a=%%d"&set "Block_Color_%%a=%%e"&set "Block_Msg_%%a=%%f"
  74. set Block_ColorA_%%a=!Block_Color_%%a!&set Block_ColorA_%%a=!Block_ColorA_%%a:a=A!&set Block_ColorA_%%a=!Block_ColorA_%%a:b=B!&set Block_ColorA_%%a=!Block_ColorA_%%a:c=C!&set Block_ColorA_%%a=!Block_ColorA_%%a:d=D!&set Block_ColorA_%%a=!Block_ColorA_%%a:e=E!&set Block_ColorA_%%a=!Block_ColorA_%%a:f=F!)
  75. findstr "^^#Msg#" "!RunPath!Data\BasicData.dat" >#GameTmp#.tmp
  76. for /f "tokens=2-7 delims=_" %%a in (#GameTmp#.tmp) do set Player_Game_Name=%%a&set Player_Game_Version=%%b
  77. del #GameTmp#.tmp >nul 2>nul
  78. cd /d "%RunPath%"
  79. goto :eof
  80. :Module_InitMaps
  81. cd /d %temp%
  82. findstr "^^#Map#" "!RunPath!Data\BasicData.dat" >#GameTmp#.tmp
  83. for /f "tokens=2,3 delims=_" %%a in (#GameTmp#.tmp) do (
  84. for /l %%c in (0,20,380) do (
  85. set t1=%%b&set /a t2=%%c/20+1
  86. set "Map_%%a_!t2!=!t1:~%%c,20!
  87. ))
  88. del #GameTmp#.tmp >nul 2>nul
  89. cd /d "%RunPath%"
  90. goto :eof
  91. :Module_InitFloorPoint
  92. cd /d %temp%
  93. findstr "^^#Point#" "!RunPath!Data\BasicData.dat" >#GameTmp#.tmp
  94. for /f "tokens=2-6 delims=_" %%a in (#GameTmp#.tmp) do set "EI_%%a_1_X=%%b"&set "EI_%%a_1_Y=%%c"&set "EI_%%a_2_X=%%d"&set "EI_%%a_2_Y=%%e"
  95. set Player_X=!EI_1_1_X!&set Player_Y=!EI_1_1_Y!
  96. del #GameTmp#.tmp >nul 2>nul
  97. cd /d "%RunPath%"
  98. goto :eof
  99. :ClearMaps
  100. for /l %%# in (1,1,100) do if defined Color_Map_%%#_1 set "Color_Map_%%#_1="
  101. goto :eof
  102. :Module_TranslateMaps
  103. if defined Color_Map_!Player_NFloor!_1 goto :eof
  104. for /l %%# in (1,1,20) do (
  105. set "t1=!Map_%Player_NFloor%_%%#!"&set "t2=!t1!"&set "t3=!t1!"
  106. for /f "tokens=3 delims=_" %%a in ('set Block_Top_') do set Top_Map_!Player_NFloor!_%%#=!t1:%%a!&set "t1=!Top_Map_%Player_NFloor%_%%#!"
  107. for /f "tokens=3 delims=_" %%a in ('set Block_Bottom_') do set Bottom_Map_!Player_NFloor!_%%#=!t2:%%a!&set "t2=!Bottom_Map_%Player_NFloor%_%%#!"
  108. for /f "tokens=3,4 delims=_=" %%a in ('set Block_ColorA_') do set Color_Map_!Player_NFloor!_%%#=!t3:%%a=%%b%%b!&set "t3=!Color_Map_%Player_NFloor%_%%#!"
  109. set Color_Map_!Player_NFloor!_%%#=!Color_Map_%Player_NFloor%_%%#:A=a!&set Color_Map_!Player_NFloor!_%%#=!Color_Map_%Player_NFloor%_%%#:B=b!&set Color_Map_!Player_NFloor!_%%#=!Color_Map_%Player_NFloor%_%%#:C=c!&set Color_Map_!Player_NFloor!_%%#=!Color_Map_%Player_NFloor%_%%#:D=d!&set Color_Map_!Player_NFloor!_%%#=!Color_Map_%Player_NFloor%_%%#:E=e!&set Color_Map_!Player_NFloor!_%%#=!Color_Map_%Player_NFloor%_%%#:F=f!)
  110. goto :eof
  111. :Game_Exit
  112. cls&EUDC 0&reg add "HKCU\EUDC\936" /f /v "SystemDefaultEUDCFont" /d "EUDC.TTE" >nul 2>nul&EUDC 1
  113. call :Module_ShowChat b "按╳关闭" "1" "" ""
  114. CKey ?
  115. :Module_Echo
  116. set Color=&for /l %%a in (1,1,12) do set S_%%a=■
  117. set "t=0"&set "t1=!Player_HP!        "&set "t2=!Player_YK!,!Player_GK!,!Player_PK!        "&set "t3=!Player_At!        "&set "t4=!Player_De!        "&set "t5=!Player_Mo!        "&set "t6=!Player_Ex!        "
  118. (if !Player_X! lss 6 set /a t+=1)&(if !Player_Y! lss 6 set /a t+=2)&(if !Player_Y! gtr 14 set /a t+=4)&(if !Player_X! gtr 14 set /a t+=8)
  119. set S_!t!=□&if !t! equ 0 set S_6=□
  120. set "Echo=  !S_3!!S_1!!S_5!血量:!t1:~0,8!  钥匙:!t2:~0,10!  !S_2!!S_6!!S_4!攻击:!t3:~0,8!  防御:!t4:~0,8!    !S_10!!S_8!!S_12!金币:!t5:~0,8!  经验:!t6:~0,8!  "
  121. set /a "Echo_X=!Player_X!-4","Echo_Y=!Player_Y!-5"&set Color=
  122. (if !Player_X! lss 5 set Echo_X=1)&(if !Player_X! gtr 15 set Echo_X=11)&(if !Player_Y! lss 5 set Echo_Y=0)&(if !Player_Y! gtr 15 set Echo_Y=10)
  123. set /a "t1=Echo_X+9","t2=Echo_Y*4","t3=t2/2"
  124. for /l %%# in (!Echo_X!,1,!t1!) do (
  125. set Echo=!Echo!!Top_Map_%Player_NFloor%_%%#:~%t3%,20!!Bottom_Map_%Player_NFloor%_%%#:~%t3%,20!
  126. set Color=!Color!!Color_Map_%Player_NFloor%_%%#:~%t2%,40!!Color_Map_%Player_NFloor%_%%#:~%t2%,40!)
  127. set /a "t1=Player_Y-Echo_Y","t2=Player_X-Echo_X+1","t3=t1*2+t2*40+51","t4=t3+2","t5=t4+20"
  128. set "Echo=!Echo:~0,%t3%!!Block_Top_%Player_Onto%!!Echo:~%t4%,18!!Block_Bottom_%Player_Onto%!!Echo:~%t5%!"
  129. CPaint 0 0 0fe2e2e20f0f0f0a0a0a0a0f0f0f0f0a0a0a0a0a0fe2e2e20f0f0f0a0a0a0a0f0f0f0f0a0a0a0a0f0fe2e2e20f0f0f0a0a0a0a0f0f0f0f0a0a0a0a0f!Color! "!Echo!"
  130. title !Player_Game_Name! - 第 !Player_NFloor! 层
  131. call :Module_DrawMsg&goto :eof
  132. :Module_DrawPlayer
  133. set "t=!Block_Color_%Player_Onto%!!Block_Color_%Player_Onto%!"
  134. set /a "t1=Player_Y*2-Echo_Y*2-2","t2=Player_X*2-Echo_X*2+3","t3=t2+1"
  135. CPaint !t1! !t2! !t! "!Block_Top_%Player_Onto%!"
  136. CPaint !t1! !t3! !t! "!Block_Bottom_%Player_Onto%!"
  137. goto :eof
  138. :Module_DrawMsg
  139. CPaint 0 23 "!TPL_Color!!TPL_Color!" "!Player_Echo_Message!!Char_Space!!Char_Space!"
  140. goto :eof
  141. :UseItem
  142. set "Char_Top=┏━━━━━━━━道具━━━━━━━━┓"&set "Char_Bottom=┗━━━━━━━━━━━━━━━━━━┛"&set "Player_Choice=1"&set "Msg_1="&set "Msg="&set "t=0"
  143. for /f "tokens=3,4 delims=_=" %%a in ('set Player_Use_') do if "%%b" equ "1" (set /a "t+=1"&set "Msg_!t!=!CN_%%a!"&set "Basic_!t!=UseItem_%%a")
  144. if not defined Msg_1 call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=你没有可使用的道具!"&goto :Game_Control
  145. for /l %%# in (1,1,!t!) do set "Msg_%%#=!Msg_%%#!!Char_Space!"&set "Msg=!Msg!┃!Msg_%%#:~0,18!┃"
  146. set "Msg=!Msg!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!"
  147. set "Msg=!Msg:                    =┃                  ┃!"
  148. set "Color=!TPL_Color!!TPL_Color!!TPL_Color!!TPL_Color!"&set "Color=!Color!!Color!!Color!!Color!!Color!!Color!!Color!"
  149. :UseItem_loop
  150. call :PlaySound "Choice.mp3"&set /a "t1=Player_Choice*40+2"
  151. CPaint 0 0 "!Color:~0,%t1%!!TPL_Color:~1,36!!Color!" "!Char_Top!!Msg:~0,460!!Char_Bottom!"
  152. CKey 27 32 38 40
  153. if !errorlevel! equ 1 call :PlaySound "Cancel.mp3"&goto :Game_Control
  154. if !errorlevel! equ 2 goto :!Basic_%Player_Choice%!
  155. if !errorlevel! equ 3 if "!Player_Choice!" equ "1" (set "Player_Choice=!t!") else (set /a "Player_Choice-=1")
  156. if !errorlevel! equ 4 if "!Player_Choice!" equ "!t!" (set "Player_Choice=1") else (set /a "Player_Choice+=1")
  157. goto :UseItem_loop
  158. :UseItem_Note
  159. if !Player_Set_Note! equ 2 goto :Game_Control
  160. if !Player_Max_Note! equ 0 call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=你开启记事本时还未与人交谈过!"&goto :Game_Control
  161. set /a "t4=Player_Max_Note+1"
  162. for /l %%# in (!t4!,1,999) do set "Player_Note_Save_%%#="
  163. set "Player_Choice=1"&set "t1=关"&if !Player_Set_Note! equ 1 set "t1=开"
  164. set "Char_Top=┏━━━━━━记事本(!t1!)━━━━━━┓"&set "Char="
  165. set "Char_Between=┣━━━━━━━━━━━━━━━━━━┫"&set "Char_Bottom=┗━━━━━━━━━━━━━━━━━━┛"&set "t=0"
  166. for /f "tokens=4,5 delims=_=" %%a in ('set Player_Note_Save_') do set /a "t+=1"&set "t2=0%%a"&set "Msg_!t!=%%b!Char_Space!!Char_Space!!Char_Space!"&if %%a leq !Player_Max_Note! set "Char=!Char!┃       第 !t2:~-2! 条       ┃"
  167. set "Char=!Char!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!"
  168. set "Char=!Char:                    =┃                    ┃!"
  169. set "t1=20"&set "Echo_Choice=1"&set "Color=!TPL_Color!!TPL_Color!!TPL_Color!!TPL_Color!!TPL_Color!"&set "Color=!Color!!Color!!Color!!Color!!Color!"
  170. :UseItem_NotePad_loop
  171. call :PlaySound "Choice.mp3"&set "Msg=!Msg_%Player_Choice%!"
  172. set "Choice_Massage=┃!Msg:~0,18!┃┃!Msg:~18,18!┃┃!Msg:~36,18!┃┃!Msg:~54,18!┃"
  173. set /a "t2=Echo_Choice*40+2","t3=(Player_Choice-Echo_Choice)*22"
  174. CPaint 0 0 "!Color:~0,%t2%!!TPL_Color:~1,36!!Color!" "!Char_Top!!Char:~%t3%,396!!Char_Between!!Choice_Massage!!Char_Bottom!"
  175. CKey 38 40 32
  176. if !errorlevel! equ 1 (if !Player_Choice! equ 1 (set "Player_Choice=!Player_Max_Note!"&set "Echo_Choice=18") else (set /a Echo_Choice-=1&set /a Player_Choice-=1))
  177. if !errorlevel! equ 2 (if !Player_Choice! equ !Player_Max_Note! (set "Player_Choice=1"&set "Echo_Choice=1") else (set /a Echo_Choice+=1&set /a Player_Choice+=1))
  178. if !errorlevel! equ 3 call :PlaySound "Cancel.mp3"&goto :Game_Control
  179. if !Echo_Choice! gtr !Player_Max_Note! set "Echo_Choice=!Player_Max_Note!"
  180. if !Echo_Choice! lss 1 set "Echo_Choice=1"
  181. if !Echo_Choice! gtr 18 set "Echo_Choice=18"
  182. goto :UseItem_NotePad_loop
  183. :UseItem_Cs
  184. call :PlaySound "GetItem2.mp3"
  185. set /a "Player_HP+=Player_HP/3","Player_At+=Player_At/3","Player_De+=Player_De/3"
  186. set "Player_Use_Cs=0"&set "Player_Echo_Message=使用了十字架,能力提升三分之一"
  187. goto :Game_Control
  188. :UseItem_JF
  189. set "Player_Choice=1"&set "Char="
  190. set "Char_Top=┏━━━━━━━跳转楼层━━━━━━━┓"
  191. for /l %%# in (1,1,!Player_BeenTo!) do set "t1=0%%#"&set "Char=!Char!┃       第 !t1:~-2! 层       ┃"
  192. set "Char=!Char!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!!Char_Space!"
  193. set "Char=!Char:                    =┃                    ┃!"
  194. set "Char_Bottom=┗━━━━━━━━━━━━━━━━━━┛"&set "Color=!TPL_Color!!TPL_Color!!TPL_Color!!TPL_Color!"&set "Color=!Color!!Color!!Color!!Color!!Color!!Color!"
  195. :UseItem_JF_loop
  196. call :PlaySound "Choice.mp3"
  197. set /a "t1=Player_Choice*40+2"
  198. CPaint 0 0 "!Color:~0,%t1%!!TPL_Color:~1,36!!Color!" "!Char_Top!!Char:~0,506!!Char_Bottom!"
  199. CKey 38 40 27 32
  200. if !errorlevel! equ 1 (if !Player_Choice! equ 1 (set Player_Choice=!Player_BeenTo!) else (set /a Player_Choice-=1))
  201. if !errorlevel! equ 2 (if !Player_Choice! equ !Player_BeenTo! (set Player_Choice=1) else (set /a Player_Choice+=1))
  202. if !errorlevel! equ 3 call :PlaySound "Cancel.mp3"&goto :Game_Control
  203. if !errorlevel! equ 4 (
  204. if !Player_NFloor! gtr !Player_Choice! (set t9=2) else (set t9=1)
  205. set "Player_NFloor=!Player_Choice!"
  206. set "Player_Echo_Message=载入地图中,请稍后"&call :Module_DrawMsg&call :Module_TranslateMaps
  207. set "Player_Echo_Message=进入 第 !Player_NFloor! 层"&call :PlaySound "Stair.mp3"
  208. call :Command_2 !Player_NFloor! !t9!&goto :Game_Control)
  209. goto :UseItem_JF_loop
  210. :UseItem_MC
  211. call :PlaySound "GetItem2.mp3"
  212. set /a "Player_HP*=2"
  213. set "Player_Use_MC=0"&set "Player_Echo_Message=使用了圣水,生命翻倍"
  214. goto :Game_Control
  215. :UseItem_RP
  216. set /a "t1=21-Player_X","t2=21-Player_Y","t3=t2-1"
  217. set "t4=!Map_%Player_NFloor%_%t1%:~%t3%,1!"
  218. if "!t4!" equ "b" (
  219. set /a "Player_X=t1","Player_Y=t2"&call :PlaySound "Enter.mp3"
  220. set "Player_Use_RP=0"&set "Player_Echo_Message=传送成功!") else (
  221. call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=对应点不是平地,不能进入!")
  222. goto :Game_Control
  223. :SetBGM
  224. set "Music_Control="&call :Module_ShowChoice b "选择曲目:" "Basic BGM" "Bloody Tears" "关闭背景音乐" "" "背景音乐"
  225. for %%# in (4 5) do if !Choice_Return! equ %%# call :PlaySound "Cancel.mp3"&goto :Game_Control
  226. ren "%~dp0Data\Game_BGM-1.*" "N_Game_BGM-1.*">nul 2>nul&ren "%~dp0Data\Game_BGM-2.*" "N_Game_BGM-2.*">nul 2>nul
  227. for %%# in (1 2) do if !Choice_Return! equ %%# ren "%~dp0Data\N_Game_BGM-%%#.*" "Game_BGM-%%#.*">nul 2>nul&taskkill /f /im "PlaySound.exe">nul 2>nul&set "Music_Control="&goto Game_Control
  228. set "Music_Control=exit"&taskkill /f /im "PlaySound.exe">nul 2>nul&set "Player_Echo_Message=BGM已关闭"&goto Game_Control
  229. :Module_Config
  230. set "Color="&set "t6=0"&for /l %%# in (1,1,25) do set "Color=!Color!!TPL_Color!"&set "Set_%%#="
  231. set "Char=┏━━━━━━━━设置━━━━━━━━┓"&set "t2=23"
  232. for /f "tokens=3,4 delims=_=" %%a in ('set Player_Set_') do (if %%b neq 2 (
  233. set "t1=关"&if !Player_Set_%%a! equ 1 set "t1=开"
  234. set /a "t6+=1"&set "Set_!t6!=Player_Set_%%a"
  235. set "t3=!Player_Message_Set_%%a!!Char_Space!"
  236. set "Char=!Char!┃!t3:~0,16! !t1!┃"&set /a t2-=1))
  237. if !t2! neq 0 for /l %%# in (1,1,!t2!) do set "Char=!Char!┃!Char_Space:~0,18!┃"
  238. set "Char=!Char!┗━━━━━━━━━━━━━━━━━━┛"
  239. set /a "t4=Player_Choice*40+2","t5=t4+36"
  240. set Color=!Color:~0,%t4%!!TPL_Color:~1,36!!Color:~%t5%!
  241. CPaint 0 0 "!Color!" "!Char!"
  242. CKey 32 38 40 37 39
  243. if !errorlevel! equ 1 call :PlaySound "Cancel.mp3"&goto :Game_Control
  244. call :PlaySound "Choice.mp3"
  245. if !errorlevel! equ 2 if !Player_Choice! neq 1 (set /a Player_Choice-=1) else (set Player_Choice=!t6!)
  246. if !errorlevel! equ 3 if !Player_Choice! neq !t6! (set /a Player_Choice+=1) else (set Player_Choice=1)
  247. if !errorlevel! equ 4 if defined Set_!Player_Choice! set !Set_%Player_Choice%!=0
  248. if !errorlevel! equ 5 if defined Set_!Player_Choice! set !Set_%Player_Choice%!=1
  249. goto :Module_Config
  250. :Module_Calc
  251. for /f "tokens=1-7 delims=," %%a in ("!Block_Msg_%Event_Block%!") do set "M_Na=%%a"&set "M_HP=%%b"&set "M_At=%%c"&set "M_De=%%d"&set "M_Mo=%%e"&set "M_Ex=%%f"&set "M_Ty=%%g"
  252. set /a "P_M=Player_At-M_De"&set /a "M_P=M_At-Player_De"
  253. if !M_P! lss 0 set "M_P=0"
  254. if !P_M! leq 0 (set "HP_Return=-") else (
  255. set /a "HP_Return=M_HP/P_M","t1=M_HP%%P_M"
  256. if "!t1!" equ "0" set /a "HP_Return-=1"
  257. set /a "HP_Return*=M_P"
  258. if "!M_Ty!"=="1" set /a "HP_Return+=100"
  259. if "!M_Ty!"=="2" set /a "HP_Return+=300"
  260. if "!M_Ty!"=="3" set /a "HP_Return+=Player_HP/4"
  261. if "!M_Ty!"=="4" set /a "HP_Return+=Player_HP/3")
  262. goto :eof
  263. :Module_SaveNote
  264. if "!Player_Set_Note!" equ "1" set /a "Player_Max_Note+=1"&if "!Player_Max_Note:~0,-1!" neq "" (set "Player_Note_Save_!Player_Max_Note!=%~1") else (set "Player_Note_Save_0!Player_Max_Note!=%~1")
  265. goto :eof
  266. :Module_ShowChat
  267. call :Module_DrawPlayer
  268. if "%~5" equ "1" call :Module_SaveNote "%~4%~2"
  269. if "%~3" equ "" call :PlaySound "Char.mp3"
  270. set "Head=%~4!Char_Space: =━!"
  271. set "t1=%~2!Char_Space!!Char_Space!"
  272. if "!t1:~30,15!" equ "!Char_Space:~0,15!" set "t1=!Char_Space:~0,15!!t1!"
  273. if "!t1:~60,15!" equ "!Char_Space:~0,15!" set "t1=!Char_Space:~0,15!!t1!"
  274. set "Char=┏!Head:~0,18!┓┃   !t1:~0,15!┃┃   !t1:~15,15!┃┃!Block_Top_%~1! !t1:~30,15!┃┃!Block_Bottom_%~1! !t1:~45,15!┃┃   !t1:~60,15!┃┃   !t1:~75,15!┃┗━━━━━━━━━━━━━━━━━━┛"
  275. set "Color=!TPL_Color!!TPL_Color!!TPL_Color!0f!Block_Color_%~1!!Block_Color_%~1!0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f!Block_Color_%~1!!Block_Color_%~1!0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f!TPL_Color!!TPL_Color!!TPL_Color!"
  276. CPaint 0 15 !Color! !Char!&CKey 32
  277. call :PlaySound "Cancel.mp3"
  278. goto :eof
  279. :Module_ShowChoice
  280. call :Module_DrawPlayer
  281. set "Player_Choice=1"&set "t1=%~2!Char_Space!"&set "t2=%~3!Char_Space!"&set "t3=%~4!Char_Space!"&set "t4=%~5!Char_Space!"&set "t5=%~6!Char_Space!"&set "Head=%~7!Char_Space: =━━!"
  282. for /l %%# in (2,1,6) do if "!t%%#!" equ "!Char_Space!" set "t%%#=NO CHOICE!Char_Space!"
  283. set "Char=┏!Head:~0,18!┓┃   !t1:~0,15!┃┃   !t2:~0,15!┃┃!Block_Top_%~1! !t3:~0,15!┃┃!Block_Bottom_%~1! !t4:~0,15!┃┃   !t5:~0,15!┃┃   取消             ┃┗━━━━━━━━━━━━━━━━━━┛"
  284. :Module_ShowChoice_loop
  285. call :PlaySound "Choice.mp3"
  286. for /l %%# in (1,1,5) do set Choice_%%#_Color=!TPL_Color:~0,30!
  287. set Choice_!Player_Choice!_Color=!TPL_Color:~1,30!
  288. set "Color=!TPL_Color!!TPL_Color!0f0f0f0f!Choice_1_Color!0f0f!Block_Color_%~1!!Block_Color_%~1!0f!Choice_2_Color!0f0f!Block_Color_%~1!!Block_Color_%~1!0f!Choice_3_Color!0f0f0f0f0f!Choice_4_Color!0f0f0f0f0f!Choice_5_Color!0f!TPL_Color!"
  289. CPaint 0 15 !Color! !Char!&CKey 38 40 32
  290. if !errorlevel! equ 1 if !Player_Choice! neq 1 (set /a Player_Choice-=1) else (set Player_Choice=5)
  291. if !errorlevel! equ 2 if !Player_Choice! neq 5 (set /a Player_Choice+=1) else (set Player_Choice=1)
  292. if !errorlevel! equ 3 (set Choice_Return=!Player_Choice!&goto :eof)
  293. goto :Module_ShowChoice_loop
  294. :PlaySound
  295. if !Player_Set_Music! equ 1 start /b "" "PlaySound.exe" "%~dp0Data\%~1"
  296. goto :eof
  297. :Module_SetBlock
  298. set /a "t1=%~3-1","t2=t1*2","t3=t2+2","t4=t2*2","t5=t3*2"
  299. set "Map_%~1_%~2=!Map_%~1_%~2:~0,%t1%!%~4!Map_%~1_%~2:~%~3!"
  300. set "Top_Map_%~1_%~2=!Top_Map_%~1_%~2:~0,%t2%!!Block_Top_%~4!!Top_Map_%~1_%~2:~%t3%!"
  301. set "Bottom_Map_%~1_%~2=!Bottom_Map_%~1_%~2:~0,%t2%!!Block_Bottom_%~4!!Bottom_Map_%~1_%~2:~%t3%!"
  302. set "Color_Map_%~1_%~2=!Color_Map_%~1_%~2:~0,%t4%!!Block_Color_%~4!!Block_Color_%~4!!Color_Map_%~1_%~2:~%t5%!"
  303. goto :eof
  304. :Module_Get
  305. call :Module_SetBlock !Player_NFloor! !Player_New_X! !Player_New_Y! b
  306. if "!Player_Set_EDE!" equ "0" set /a "Player_X=!Player_New_X!","Player_Y=!Player_New_Y!"
  307. goto :eof
  308. :Command_1
  309. set Echo_%4_%5=!Map_%1_%2:~%3,1!
  310. goto :eof
  311. :Command_2
  312. set Player_X=!EI_%~1_%~2_X!&set Player_Y=!EI_%~1_%~2_Y!
  313. goto :eof
  314. :Event_0
  315. call :Module_DrawPlayer&goto :Game_Control_ReChoice
  316. :Event_1
  317. set /a "Player_X=!Player_New_X!","Player_Y=!Player_New_Y!"
  318. goto :Game_Control
  319. :Event_2
  320. goto :Event_Place_!Player_NFloor!_!Player_New_X!_!Player_New_Y!
  321. :Event_3
  322. for /f "tokens=1,2 delims=," %%a in ("!Block_Msg_%Event_Block%!") do (
  323. if !Player_%%b! equ 0 (
  324. call :PlaySound "Cancel.mp3"
  325. set "Player_Echo_Message=你没有%%a钥匙!"
  326. goto :Game_Control)
  327. call :Module_Get&set /a Player_%%b-=1&call :PlaySound "Door.mp3"&set "Player_Echo_Message=使用了%%a钥匙打开门。"&goto :Game_Control)
  328. :Event_4
  329. set /a Player_NFloor+=1
  330. if !Player_NFloor! gtr !Player_BeenTo! set "Player_BeenTo=!Player_NFloor!"
  331. set "Player_Echo_Message=载入地图中,请稍后"&call :Module_DrawMsg&call :Module_TranslateMaps
  332. set "Player_Echo_Message=进入 第 !Player_NFloor! 层"&call :PlaySound "Stair.mp3"
  333. set Player_X=!EI_%Player_NFloor%_1_X!&set Player_Y=!EI_%Player_NFloor%_1_Y!
  334. goto :Game_Control
  335. :Event_5
  336. set /a Player_NFloor-=1
  337. set "Player_Echo_Message=载入地图中,请稍后"&call :Module_DrawMsg&call :Module_TranslateMaps
  338. set "Player_Echo_Message=进入 第 !Player_NFloor! 层"&call :PlaySound "Stair.mp3"
  339. set Player_X=!EI_%Player_NFloor%_2_X!&set Player_Y=!EI_%Player_NFloor%_2_Y!
  340. goto :Game_Control
  341. :Event_6
  342. for /f "tokens=1-4 delims=," %%a in ("!Block_Msg_%Event_Block%!") do (set "Player_Echo_Message=获得%%b"&set /a Player_%%a+=%%c&call :PlaySound "%%d")
  343. call :Module_Get&goto :Game_Control
  344. :Event_7
  345. for /f "tokens=1-5 delims=," %%a in ("!Block_Msg_%Event_Block%!") do (call :PlaySound "%%d"&call :Module_ShowChat "!Event_Block!" "%%b" 1 "信息:" "1"&set Player_Set_%%a=%%c&if "%%e" equ "1" set "Player_Use_%%a=1")
  346. call :Module_Get&goto :Game_Control
  347. :Event_8
  348. call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=你不能打开这扇门!"
  349. goto :Game_Control
  350. :Event_9
  351. call :Module_Calc
  352. if !Player_Set_SAD! equ 1 (call :PlaySound "Char.mp3"
  353. set "Char1=!M_Na!:攻防:!M_At!-!M_De! 金经:!M_Mo!-!M_Ex!"
  354. if "!HP_Return!" neq "-" (set "Char2=若战胜它,你将损失!HP_Return!血量") else (set "Char2=无法战胜这个怪物!")
  355. CPaint 0 23 "!TPL_Color!!TPL_Color!" "!Char1!"&CPaint 0 24 "!TPL_Color!!TPL_Color!" "!Char2!"
  356. Ckey 32 27&if !errorlevel! equ 2 call :PlaySound "Cancel.mp3"&goto :Game_Control)
  357. if "!HP_Return!" neq "-" if !HP_Return! lss !Player_HP! (
  358. set /a Player_HP-=HP_Return&set /a Player_Mo+=M_Mo&set /a Player_Ex+=M_Ex&call :Module_Get
  359. if "!Event_Block!" equ "⑥" goto :Game_End
  360. call :PlaySound "Fight.mp3"&set "Player_Echo_Message=打败!M_Na!,获得金经:!M_Mo!-!M_Ex!,损失!HP_Return!血量!"&goto :Game_Control)
  361. call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=无法战胜"
  362. goto :Game_Control
  363. :Event_A
  364. for /f "tokens=1-5 delims=," %%a in ("!Block_Msg_%Event_Block%!") do (call :PlaySound "%%d"&call :Module_ShowChat "!Event_Block!" "%%b" 1 "信息:" "1"&set Player_%%a=%%c&if "%%e" equ "1" set "Player_Use_%%a=1")
  365. call :Module_Get&goto :Game_Control
  366. :Event_B
  367. call :Module_Get&goto :Game_Control
  368. :Event_Place_1_3_4
  369. set /a "Player_At+=3","Player_De+=3","Player_YK+=1","Player_GK+=1","Player_PK+=1"
  370. call :PlaySound "Prop.mp3"
  371. set "Player_Echo_Message=获得宝箱,攻防+3,各种钥匙+1"&call :Module_Get
  372. goto :Game_Control
  373. :Event_Place_1_5_8
  374. set /a "Player_Mo+=50"
  375. call :Module_ShowChat n "欢迎来到!Player_Game_Name!游戏,我先给你一些金币吧!" "" "老人:" "1"
  376. set "Player_Echo_Message=获得 50 金币"&call :Module_Get
  377. goto :Game_Control
  378. :Event_Place_1_13_10
  379. call :Module_ShowChoice l "交金币就开路!" "交100金币" "一会儿再说" "" "" "挡道的人:"
  380. if !Choice_Return! equ 1 (if !Player_Mo! geq 100 (set "Player_Echo_Message=上交 100 金币"&call :PlaySound "Enter.mp3"&set /a Player_Mo-=100&call :Module_Get) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 100 金币")) else call :PlaySound "Cancel.mp3"
  381. goto :Game_Control
  382. :Event_Place_1_16_12
  383. call :Module_ShowChoice 3 "我有一副宝石,出50金经就给你" "交50金经" "一会儿再说" "" "" "商人:"
  384. if !Choice_Return! equ 1 (if !Player_Mo! geq 50 if !Player_Ex! geq 50 (
  385. call :PlaySound "Enter.mp3"
  386. set /a Player_Mo-=50,Player_Ex-=50
  387. set /a Player_At+=1,Player_De+=1
  388. set "Player_Echo_Message=交易成功!"&call :Module_DrawMsg
  389. call :Module_ShowChat 3 "告诉你一件事,蓝门只能做任务打开,其他门用钥匙打开" "1" "商人:" "1"
  390. call :Module_Get&goto :Game_Control)
  391. call :PlaySound "Cancel.mp3"
  392. call :Module_ShowChat 3 "等你有50金经再说吧" "1" "商人:" ""&goto :Game_Control
  393. ) else call :PlaySound "Cancel.mp3"&goto :Game_Control
  394. :Event_Place_2_2_7
  395. goto :Event_1
  396. :Event_Place_2_2_8
  397. if !Player_KBook! equ 0 (if "!Map_2_2:~6,1!" equ "b" (call :Module_ShowChat n "一张黄皮纸书卷,带你走向新的世界。" "" "老人:" "1"&call :Module_SetBlock 2 2 7 c) else (goto :Game_Control_ReChoice)) else (call :Module_ShowChat n "你找到了书卷,新世界的大门已打开。" "" "老人:" "1"&call :Module_Get&call :Module_SetBlock 2 9 8 b)
  398. goto :Game_Control
  399. :Event_Place_2_4_15
  400. call :Module_ShowChat d "你自由了,快帮助我!" "" "勇士:" ""
  401. call :Module_ShowChat n "好吧,给你个盾吧。" "1" "老人:" ""
  402. set /a "Player_De+=30"&set "Player_Echo_Message=获得钢盾,防御+30"
  403. call :Module_Get&goto :Game_Control
  404. :Event_Place_2_4_16
  405. call :Module_ShowChat d "你得救了,快谢谢我!" "" "勇士:" ""
  406. call :Module_ShowChat n "好吧,给你把剑吧。" "1" "老人:" ""
  407. set /a "Player_At+=70"&set "Player_Echo_Message=获得钢剑,攻击+70"
  408. call :Module_Get&goto :Game_Control
  409. :Event_Place_3_2_7
  410. call :Module_ShowChat n "我曾发现一堵墙有个洞,于是我把它弄成一个隐藏的墙了,找到它吧,内有大量宝藏。" "" "老人:" "1"
  411. call :Module_SetBlock 2 18 14 "八"
  412. call :Module_Get&goto :Game_Control
  413. :Event_Place_3_2_9
  414. call :Module_ShowChoice n "消耗经验,你可以:" "提升1级(100点)" "增加5点攻击(30点)" "增加5点防御(30点)" "增加900点生命(30点)" "老人:"
  415. if "!Choice_Return!" equ "5" call :PlaySound "Cancel.mp3"&goto :Game_Control
  416. if "!Choice_Return!" equ "1" (
  417. if !Player_Ex! geq 100 (set /a "Player_Ex-=100","Player_HP+=1000","Player_At+=7","Player_De+=7"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=提升了一级"&goto :Game_Control) else (set "Player_Echo_Message=你的经验不够!"&call :PlaySound "Cancel.mp3"&goto :Game_Control)) else (
  418. if !Player_Ex! geq 30 (set /a Player_Ex-=30
  419. if "!Choice_Return!" equ "2" set /a Player_At+=5
  420. if "!Choice_Return!" equ "3" set /a Player_De+=5
  421. if "!Choice_Return!" equ "4" set /a Player_HP+=900
  422. set "Player_Echo_Message=交易成功!"&goto :Game_Control
  423. ) else (set "Player_Echo_Message=你的经验不够!"&call :PlaySound "Cancel.mp3"&goto :Game_Control))
  424. :Event_Place_3_3_15
  425. set /a "Player_At+=7","Player_De+=7","Player_HP+=1000"
  426. call :PlaySound "Prop.mp3"
  427. set "Player_Echo_Message=获得宝箱,等级提升一级"&call :Module_Get
  428. goto :Game_Control
  429. :Event_Place_3_8_4
  430. call :Module_ShowChoice n "使用25金币,你可以:" "增加800点生命" "增加4点攻击" "增加4点防御" "" "老人:"
  431. if !Player_Mo! lss 25 call :PlaySound "Cancel.mp3"&goto :Game_Control
  432. if "!Choice_Return!" equ "1" set /a "Player_Mo-=25","Player_HP+=800"&set "Player_Echo_Message=交易成功!"&goto :Game_Control
  433. if "!Choice_Return!" equ "2" set /a "Player_Mo-=25","Player_At+=4"&set "Player_Echo_Message=交易成功!"&goto :Game_Control
  434. if "!Choice_Return!" equ "3" set /a "Player_Mo-=25","Player_De+=4"&set "Player_Echo_Message=交易成功!"&goto :Game_Control
  435. call :PlaySound "Cancel.mp3"&goto :Game_Control
  436. :Event_Place_3_8_11
  437. set /a "Player_YK+=1","Player_GK+=1","Player_PK+=1"
  438. call :PlaySound "Prop.mp3"
  439. set "Player_Echo_Message=获得宝箱,各种钥匙+1"&call :Module_Get
  440. goto :Game_Control
  441. :Event_Place_3_12_15
  442. call :Module_ShowChoice n "你可以在这里购买钥匙:" "买黄钥匙(¥10)" "买绿钥匙(¥50)" "买紫钥匙(¥100)" "" "老人:"
  443. if "!Choice_Return!" equ "1" (if !Player_Mo! geq 10 (set /a "Player_Mo-=10","Player_YK+=1"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=交易成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 10 金币"&goto :Game_Control))
  444. if "!Choice_Return!" equ "2" (if !Player_Mo! geq 50 (set /a "Player_Mo-=50","Player_GK+=1"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=交易成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 50 金币"&goto :Game_Control))
  445. if "!Choice_Return!" equ "3" (if !Player_Mo! geq 100 (set /a "Player_Mo-=100","Player_PK+=1"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=交易成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 100 金币"&goto :Game_Control))
  446. call :PlaySound "Cancel.mp3"&goto :Game_Control
  447. :Event_Place_4_15_13
  448. set /a "Player_YK+=4","Player_HP+=500"
  449. call :PlaySound "Prop.mp3"
  450. set "Player_Echo_Message=获得宝箱,黄钥匙+4,血+500"&call :Module_Get
  451. goto :Game_Control
  452. :Event_Place_5_13_4
  453. call :Module_ShowChoice n "使用100金币,你可以:" "增加4000点生命" "增加20点攻击" "增加20点防御" "" "老人:"
  454. if !Player_Mo! lss 100 call :PlaySound "Cancel.mp3"&goto :Game_Control
  455. if "!Choice_Return!" equ "1" set /a "Player_Mo-=100","Player_HP+=4000"&set "Player_Echo_Message=交易成功!"&goto :Game_Control
  456. if "!Choice_Return!" equ "2" set /a "Player_Mo-=100","Player_At+=20"&set "Player_Echo_Message=交易成功!"&goto :Game_Control
  457. if "!Choice_Return!" equ "3" set /a "Player_Mo-=100","Player_De+=20"&set "Player_Echo_Message=交易成功!"&goto :Game_Control
  458. call :PlaySound "Cancel.mp3"&goto :Game_Control
  459. :Event_Place_6_3_19
  460. call :Module_ShowChoice n "你可以在这里出售钥匙:" "卖黄钥匙(¥7)" "卖绿钥匙(¥35)" "卖紫钥匙(¥70)" "" "老人:"
  461. if "!Choice_Return!" equ "1" (if !Player_YK! geq 1 (set /a "Player_Mo+=7","Player_YK-=1"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=交易成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 黄钥匙"&goto :Game_Control))
  462. if "!Choice_Return!" equ "2" (if !Player_GK! geq 1 (set /a "Player_Mo+=35","Player_GK-=1"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=交易成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 绿钥匙"&goto :Game_Control))
  463. if "!Choice_Return!" equ "3" (if !Player_PK! geq 1 (set /a "Player_Mo+=70","Player_PK-=1"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=交易成功!"&goto :Game_Control) else (call :PlaySound "Cancel.mp3"&set "Player_Echo_Message=没有 紫钥匙"&goto :Game_Control))
  464. call :PlaySound "Cancel.mp3"&goto :Game_Control
  465. :Event_Place_6_5_19
  466. call :Module_ShowChoice n "消耗经验,你可以:" "提升3级(270点)" "增加17点攻击(95点)" "增加17点防御(95点)" "增加3700点生命(95点)" "老人:"
  467. if "!Choice_Return!" equ "5" call :PlaySound "Cancel.mp3"&goto :Game_Control
  468. if "!Choice_Return!" equ "1" (
  469. if !Player_Ex! geq 270 (set /a "Player_Ex-=270","Player_HP+=3000","Player_At+=21","Player_De+=21"&call :PlaySound "Enter.mp3"&set "Player_Echo_Message=提升了三级"&goto :Game_Control) else (set "Player_Echo_Message=你的经验不够!"&call :PlaySound "Cancel.mp3"&goto :Game_Control)) else (
  470. if !Player_Ex! geq 95 (set /a Player_Ex-=95
  471. if "!Choice_Return!" equ "2" set /a Player_At+=17
  472. if "!Choice_Return!" equ "3" set /a Player_De+=17
  473. if "!Choice_Return!" equ "4" set /a Player_HP+=3700
  474. set "Player_Echo_Message=交易成功!"&goto :Game_Control
  475. ) else (set "Player_Echo_Message=你的经验不够!"&call :PlaySound "Cancel.mp3"&goto :Game_Control))
  476. :Event_Place_6_13_17
  477. set /a "Player_At+=21","Player_De+=21","Player_HP+=3000"
  478. call :PlaySound "Prop.mp3"
  479. set "Player_Echo_Message=获得宝箱,等级提升三级"&call :Module_Get
  480. goto :Game_Control
  481. :Event_Place_7_4_10
  482. call :Module_ShowChat n "用500经验换攻击120的剑!" "" "老人:" ""
  483. if !Player_Ex! geq 500 (set /a "Player_At+=120","Player_Ex-=500"&set "Player_Echo_Message=获得 神圣剑,攻击+120"&call :Module_Get
  484. ) else (call :Module_ShowChat n "等你有500经验再说吧!" "1" "老人:" "")
  485. goto :Game_Control
  486. :Event_Place_7_6_10
  487. call :Module_ShowChat n "用500金币换防御120的盾!" "" "老人:" ""
  488. if !Player_Mo! geq 500 (set /a "Player_De+=120","Player_Mo-=500"&set "Player_Echo_Message=获得 神圣盾,防御+120"&call :Module_Get
  489. ) else (call :Module_ShowChat n "等你有500金币再说吧!" "1" "老人:" "")
  490. goto :Game_Control
  491. :Event_Place_7_8_2
  492. goto :Event_Place_3_8_11
  493. :Event_Place_7_10_6
  494. call :Module_ShowChat Y "停止吧,愚蠢的人类!" "" "红衣魔王:" "1"
  495. call :Module_Get&goto :Game_Control
  496. :Event_Place_7_10_8
  497. call :Module_ShowChat Z "止步吧,愚蠢的人类!" "" "大魔王:" "1"
  498. call :Module_Get&goto :Game_Control
  499. :Event_Place_7_13_15
  500. call :Module_ShowChat ⑥ "废话少说,决斗吧!" "" "大魔王:" "1"
  501. call :Module_Get&goto :Game_Control
  502. :Game_End
  503. cls
  504. call :Module_ShowChat d "杀死魔王,游戏结束!" "" "" ""
  505. call :Module_ShowChat b "由a2002制作,版本:!Player_Game_Version!,部分图片、第三方参照了Defanive。" "1" "" ""
  506. goto :Game_Exit
  507. :B64DECODE
  508. call :%~1
  509. certutil -decode "%~dp0.tmp" "%~1">nul
  510. del "%~dp0.tmp"
  511. goto :eof
  512. :CKey.exe
  513. echo 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^=>.tmp
  514. goto :eof
  515. :CPaint.exe
  516. echo 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>.tmp
  517. goto :eof
  518. :EUDC.exe
  519. echo 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>.tmp
  520. goto :eof
  521. :PlaySound.exe
  522. echo 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>.tmp
  523. goto :eof
复制代码
下载地址:https://pan.baidu.com/s/1eSCcfVO
作者: a2002    时间: 2017-7-1 15:09

本帖最后由 a2002 于 2017-7-1 16:30 编辑

这游戏22号就已完成,但要考试,搁置在电脑里

现在放假了,改进了一下,加快了移动速度,但加载地图却变慢了

准备提速,7月1日完成

改进了第三方,使批处理自作第三方

在我的Win7 32位下测试成功,64位就别试了,会导致第三方死循环
作者: 老刘1号    时间: 2017-7-1 21:18

友情提示,这是第三方区
作者: bailong360    时间: 2017-7-1 21:42

回复 3# 老刘1号
可能没有权限吧
作者: 老刘1号    时间: 2017-7-1 21:49

回复 4# bailong360


    嗯……不管怎么说,给楼主点个赞~
作者: a2002    时间: 2017-7-1 22:04

也是醉了,原创bat不让进,只好搁在这了
作者: a2002    时间: 2017-7-1 22:05

算是宣传Defanive的第三方了
作者: 523066680    时间: 2017-7-1 22:28

本帖最后由 523066680 于 2017-7-1 22:54 编辑

比我初中的时候有本事多了。视野可以再扩展一下。
作者: a2002    时间: 2017-7-1 22:58

回复 8# 523066680


    唉,我也是做了近20天啊,做到一半出错了,就不想在做了,后来不甘心,才坚持做完的
作者: a2002    时间: 2017-7-1 23:00

回复 8# 523066680


    视野10*10,这是设定好的,只是还有很多道具,暂时不想做了。
作者: 老刘1号    时间: 2017-7-3 22:55

XP SP2 x64
XP SP3
测试失败
作者: 523066680    时间: 2017-7-3 23:37

视野可以再扩展一下。

游戏开发的视野,没有必要用批处理这么累地去实现。
作者: 老刘1号    时间: 2017-7-4 00:03

游戏开发的视野,没有必要用批处理这么累地去实现。
523066680 发表于 2017-7-3 23:37

赞同……
累,费事不说,兼容性也不好啊……
作者: a2002    时间: 2017-7-4 09:54

XP SP2 x64
XP SP3
测试失败
老刘1号 发表于 2017-7-3 22:55



    EUDC这第三方从Defanive那弄来的,只支持32位,没办法啊
作者: a2002    时间: 2017-7-4 09:57

游戏开发的视野,没有必要用批处理这么累地去实现。
523066680 发表于 2017-7-3 23:37



    不这么的话,其他功能的画面就不占比例了

CPaint换行太慢,所以我CPaint不敢回车啊
作者: a2002    时间: 2017-7-4 09:59

无奈,不信你把那个Mode尺寸改一改,一下就乱了
作者: a2002    时间: 2017-7-4 10:03

将就着吧,我试试能不能更好地显示一下
作者: 523066680    时间: 2017-7-4 10:12

本帖最后由 523066680 于 2017-7-4 10:13 编辑

并不是说游戏界面。 (逃
作者: 523066680    时间: 2017-7-4 10:59

本帖最后由 523066680 于 2017-7-4 11:04 编辑

有个叫RPG Maker的东西好像特别适合做这类游戏
https://www.rpgmakerweb.com/download/additional/sample-games

列表
https://www.rpgmakerweb.com/products/programs

(看上去很好用的样子)
作者: happy886rr    时间: 2017-7-4 11:52

本帖最后由 happy886rr 于 2017-7-4 11:54 编辑

回复 2# a2002
代码逻辑性较佳,使用的是Defanive2.0时代的技术规范,颇有D大风范,对Defanive第三方的掌握比较到位。由于D的不开源策略,所以那些第三方只能运行在32位上。
Defanive时代,是用第三方及capi去实现游戏开发,没有完备的事件响应机制,没有成熟的游戏引擎。因此这类游戏是对批处理性能的极限挑战,在当时拉开了批处理第二次技术革 命的序幕。
作者: 老刘1号    时间: 2017-7-4 12:00

回复 18# 523066680


    需要用大白话来表述
作者: 老刘1号    时间: 2017-7-4 12:02

回复 19# 523066680


    以前见到过很多这样的游戏,原来有这么个引擎……
作者: a2002    时间: 2017-7-4 12:32

不过CAPI还不会用,我还不熟悉Dll命令,还有待提高
作者: 523066680    时间: 2017-7-4 12:54

本帖最后由 523066680 于 2017-7-4 12:58 编辑

找到一个可用的汉化破解版 ,测试运行游戏的时候会在黑屏卡一阵子(WIN7的关系?)
大概半分钟后出现画面

http://www.verycd.com/topics/227627/
RPG制作大师VX.rar
  1. ed2k://|file|RPG%E5%88%B6%E4%BD%9C%E5%A4%A7%E5%B8%88VX.rar|40138340|59fe2d0fd8179676baf1e86edebfe0d2|h=nwvemeby2sl2zc676g75cl6fpcxg7lm3|/
复制代码
这个测试运行就快一些,但是界面全英文:
Games RPG Maker VX Ace
http://www.verycd.com/topics/2921153/
  1. ed2k://|file|%5BRPG%E6%B8%B8%E6%88%8F%E8%AE%BE%E8%AE%A1%E5%88%9B%E5%BB%BA%E8%BD%AF%E4%BB%B6%5D.Amaranth.Games.RPG.Maker.VX.Ace.v1.01a-SHOCK.zip|230483489|1b0b7188f0bbda7bfe606479cee9ad20|h=ofptvddodnkob2xqxqieyhplozfmhdzo|/
复制代码

作者: a2002    时间: 2017-7-4 13:00

回复 24# 523066680


    感谢分享
作者: sds    时间: 2022-12-20 19:57

回复 14# a2002
  1. 啊???????
复制代码





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