[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[游戏娱乐] 俄罗斯方块游戏批处理

本游戏需要choice.exe三方工具

第一版,只有基本图标方块
  1. @echo off&rem 俄罗斯方块游戏,由netbenton编写,在bathome首发,完成时间:2009年9月25日 ver 1.0
  2. if "%1" equ "para2" goto :para2
  3. set "d-v=for /l %%a in (0,1,#) do set/a one=0x!str:~%%a,1!,x=one/4+n,y=one%%4+m&(for %%b in ("r!x!.!y!") do if "!%%~b!" equ " " (set r!x!.!y!=■) else (set err=1))"
  4. ::函数d-v,把str中的图标数据,放置到总坐标空间中,如果有覆盖,则err=1。调用方法:(%d-v:#=图标点数%)
  5. ::变量使用:one  x  y
  6. set "d-e=set aec=!cr!!cr! ┌───────────┐!cr!&(for /l %%a in (2,1,#) do for %%b in ("│!ebuf:@=%%a!│  !ebu%%a!") do set aec=!aec! %%~b!cr!)&cls&echo;!aec! └───────────┘"
  7. ::函数d-e,把总坐标空间显示出来,调用方法:(%d-e:#=行数%)
  8. set ebu4=第!guan!关
  9. set ebu6=总分:!fen!
  10. set cr=^
  11. ::各种图标定义
  12. set ga1=0156
  13. set ga2=1458
  14. ::■■
  15. ::  ■■
  16. set gb1=1245
  17. set gb2=0459
  18. ::  ■■
  19. ::■■
  20. set za1=4567
  21. set za2=159d
  22. ::■■■■
  23. set qa1=1598
  24. set qa2=0456
  25. set qa3=0148
  26. set qa4=0126
  27. ::■■
  28. ::  ■
  29. ::  ■
  30.   
  31. set qb1=0489
  32. set qb2=0124
  33. set qb3=0159
  34. set qb4=2456
  35. ::■■
  36. ::■
  37. ::■
  38. ::cdef
  39. ::89ab
  40. ::4567
  41. ::0123
  42. set ta1=0145
  43. ::■■
  44. ::■■
  45. set sa1=0125
  46. set sa2=1459
  47. set sa3=1456
  48. set sa4=0458
  49. ::  ■
  50. ::■■■
  51. echo 0 2 >%~n0.tmp
  52. start "aswd" %0 para2
  53. ::起动控制窗口
  54. set k3=k%%=mx,k+
  55. set k4=down
  56. set k1=m-
  57. set k2=m+
  58. set k5=t+
  59. ::按键定义
  60. setlocal enabledelayedexpansion
  61. for /l %%a in (0,1,10) do (set "ebuf=!ebuf!^!r@.%%a^!")
  62. for %%a in (sa_4 ta_1 qb_4 qa_4 za_2 ga_2 gb_2) do (
  63. for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
  64.   set _%%b=%%c
  65.   for /l %%d in (1,1,%%c) do set/a nx+=1&set ran!nx!=%%b%%d
  66. )
  67. )
  68. ::定义各种图型的可变型数,及单个图的随机号
  69. :restart
  70. for /l %%a in (0,1,18) do (for /l %%b in (0,1,10) do set r%%a.%%b= )
  71. set/a fen=0,guan=1
  72. ::初始化坐标空间18行,10列
  73. :loop
  74. set/a "m=4,t=2,n=1,down=450/(guan<<2),bti=0"
  75. set/a r=!random!%%nx+1
  76. set err=
  77. set ttr=!_ttr!
  78. set _ttr=!ran%r%!
  79. ::随机取一个图标,
  80. if not defined ttr goto :loop
  81. set mx=!_%ttr:~,2%!
  82. set k=%ttr:~2%
  83. set str=!%ttr%!
  84. set _str=!%_ttr%!
  85. setlocal enabledelayedexpansion
  86. for /l %%a in (0,1,3) do set/a one=0x!_str:~%%a,1!,x=one/4+8,y=one%%4&set kk!x!.!y!=■
  87. for /l %%a in (8,1,11) do for /l %%b in (0,1,3) do (
  88. if defined kk%%a.%%b (set kk%%a=!kk%%a!!kk%%a.%%b!) else (set kk%%a=!kk%%a! )
  89. )
  90. endlocal&set ebu8=%kk8%&set ebu9=%kk9%&set ebu10=%kk10%&set ebu11=%kk11%
  91. ::对预备图标的处理
  92. :cont
  93. set/p var=<%~n0.tmp
  94. for /f "tokens=1,2" %%a in ("%var%") do (
  95. if %%a neq !test! (
  96.   if %%b geq 6 call :error %%b&del /q %~n0.tmp&exit
  97.   set bs=!str!&set/a bm=m,bk=k
  98.   set/a !k%%b!=1
  99.   if "%%b" equ "3" (for %%b in ("!ttr:~,2!!k!") do set str=!%%~b!)
  100.   setlocal enabledelayedexpansion
  101.   (%d-v:#=3%)
  102.   rem 调用函数把图标点放置到总坐标空间
  103.   if defined err (
  104.    endlocal
  105.    set/a m=bm,k=bk
  106.    set str=!bs!
  107.   ) else (
  108.    (%d-e:#=18%)
  109.    rem 调用显示函数
  110.    endlocal
  111.   )
  112. )
  113. set test=%%a
  114. )
  115. set ti=1!time:~7,1!!time:~9,2!
  116. if !ti! lss !bti! (set /a tn=ti-bti+1000) else (set /a tn=ti-bti)
  117. if !tn! gtr !down! (
  118. set/a bti=ti,n+=1
  119. setlocal enabledelayedexpansion
  120. (%d-v:#=3%)
  121. if defined err (
  122.   endlocal
  123.   goto :jmpout
  124. ) else (
  125.   (%d-e:#=18%)
  126.   endlocal
  127. )
  128. )
  129. for /l %%a in (1,1,25) do ver>nul
  130. goto :cont
  131. :jmpout
  132. set/a n-=1
  133. (%d-v:#=3%)
  134. set m=18
  135. for /l %%a in (18,-1,2) do for %%b in ("!ebuf:@=%%a!") do if "%%~b" neq "■■■■■■■■■■■" (set e!m!=%%~b&set/a m-=1)
  136. if !m! neq 1 (
  137. for /l %%a in (!m!,-1,2) do set "e%%a=           "
  138. for /l %%a in (18,-1,2) do (
  139.   for /l %%b in (0,1,10) do set r%%a.%%b=!e%%a:~%%b,1!
  140. )
  141. set/a "fen=fen+(m-1)*10,guan=fen/150+1"
  142. )
  143. if !n! leq 2 (
  144. echo 游戏结束!
  145. ping -n 3 127.1 >nul
  146. goto :restart
  147. )
  148. goto :loop
  149. :para2
  150. mode con: cols=30 lines=2
  151. echo a左 d右 w转 s加速 q退出
  152. :p_lp
  153. set/a n=n%%10+1
  154. choice /c adwsgq /n >nul
  155. >%~n0.tmp echo;%n% %errorlevel%
  156. if %errorlevel% geq 6 exit
  157. for /l %%a in (1,1,12) do ver>nul
  158. goto :p_lp
  159. :error
  160. if %1 equ 6 echo 谢谢使用,再见。。。
  161. if %1 gtr 6 echo 对不起!choice.exe 文件不存在,不能运行。。。
  162. ping -n 3 127.1 >nul
  163. goto :eof
复制代码
第二版,加入混合图标方块
  1. @echo off&rem 俄罗斯方块游戏,由netbenton编写,在bathome首发,完成时间:2009年9月25日 ver 2.0
  2. if "%1" equ "para2" goto :para2
  3. set "d-v=for %%a in (!str!) do set/a one=0x%%a,x=one/4+n,y=one%%4+m&(for %%b in ("r!x!.!y!") do if "!%%~b!" equ " " (set r!x!.!y!=■) else (set err=1))"
  4. ::函数d-v,把str中的图标数据,放置到总坐标空间中,如果有覆盖,则err=1。调用方法:(%d-v%)
  5. ::变量使用:one  x  y
  6. set "d-e=set aec=!cr!!cr! ┌───────────┐!cr!&(for /l %%a in (2,1,#) do for %%b in ("│!ebuf:@=%%a!│  !ebu%%a!") do set aec=!aec! %%~b!cr!)&cls&echo;!aec! └───────────┘"
  7. ::函数d-e,把总坐标空间显示出来,调用方法:(%d-e:#=行数%)
  8. set ebu4=第!guan!关
  9. set ebu6=总分:!fen!
  10. set cr=^
  11. ::各种图标定义
  12. set ga1=0 1 5 6
  13. set ga2=1 4 5 8
  14. ::■■
  15. ::  ■■
  16. set gb1=1 2 4 5
  17. set gb2=0 4 5 9
  18. ::  ■■
  19. ::■■
  20. set za1=4 5 6 7
  21. set za2=1 5 9 d
  22. ::■■■■
  23. set qa1=1 5 9 8
  24. set qa2=0 4 5 6
  25. set qa3=0 1 4 8
  26. set qa4=0 1 2 6
  27. ::■■
  28. ::  ■
  29. ::  ■
  30.   
  31. set qb1=0 4 8 9
  32. set qb2=0 1 2 4
  33. set qb3=0 1 5 9
  34. set qb4=2 4 5 6
  35. ::■■
  36. ::■
  37. ::■
  38. set ta1=0 1 4 5
  39. ::■■
  40. ::■■
  41. set sa1=0 1 2 5
  42. set sa2=1 4 5 9
  43. set sa3=1 4 5 6
  44. set sa4=0 4 5 8
  45. ::  ■
  46. ::■■■
  47. set tw1=0 1
  48. set tw2=0 4
  49. set on1=0
  50. set on2=0
  51. set sh1=1 4 5 6 9
  52. set sh2=1 4 5 6 9
  53. set ao1=0 1 2 4 6
  54. set ao2=0 1 4 8 9
  55. set ao3=0 4 5 6 2
  56. set ao4=0 1 5 8 9
  57. set tt1=0 1 2 5 9
  58. set tt2=0 4 8 5 6
  59. set tt3=1 5 8 9 a
  60. set tt4=2 4 5 6 a
  61. ::cdef
  62. ::89ab
  63. ::4567
  64. ::0123
  65. echo 0 2 >%~n0.tmp
  66. start "aswd" %0 para2
  67. ::起动控制窗口
  68. set k3=k%%=mx,k+
  69. set k4=down
  70. set k1=m-
  71. set k2=m+
  72. set k5=t+
  73. ::按键定义
  74. setlocal enabledelayedexpansion
  75. for /l %%a in (0,1,10) do (set "ebuf=!ebuf!^!r@.%%a^!")
  76. for %%a in (sa_4 ta_1 qb_4 qa_4 za_2 ga_2 gb_2 tw_2 on_2 sh_2 ao_4 tt_4) do (
  77. for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
  78.   set _%%b=%%c
  79.   for /l %%d in (1,1,%%c) do set/a nx+=1&set ran!nx!=%%b%%d
  80. )
  81. )
  82. ::定义各种图型的可变型数,及单个图的随机号
  83. :restart
  84. for /l %%a in (0,1,18) do (for /l %%b in (0,1,10) do set r%%a.%%b= )
  85. set/a fen=0,guan=1
  86. ::初始化坐标空间18行,10列
  87. :loop
  88. set/a "m=4,t=2,n=1,down=450/(guan<<2),bti=0"
  89. set/a r=!random!%%nx+1
  90. set err=
  91. set ttr=!_ttr!
  92. set _ttr=!ran%r%!
  93. ::随机取一个图标,
  94. if not defined ttr goto :loop
  95. set mx=!_%ttr:~,2%!
  96. set k=%ttr:~2%
  97. set str=!%ttr%!
  98. set _str=!%_ttr%!
  99. setlocal enabledelayedexpansion
  100. for %%a in (!_str!) do set/a one=0x%%a,x=one/4+8,y=one%%4&set kk!x!.!y!=■
  101. for /l %%a in (8,1,11) do for /l %%b in (0,1,3) do (
  102. if defined kk%%a.%%b (set kk%%a=!kk%%a!!kk%%a.%%b!) else (set kk%%a=!kk%%a! )
  103. )
  104. endlocal&set ebu8=%kk8%&set ebu9=%kk9%&set ebu10=%kk10%&set ebu11=%kk11%
  105. ::对预备图标的处理
  106. :cont
  107. set/p var=<%~n0.tmp
  108. for /f "tokens=1,2" %%a in ("%var%") do (
  109. if %%a neq !test! (
  110.   if %%b geq 6 call :error %%b&del/q %~n0.tmp&exit
  111.   set bs=!str!&set/a bm=m,bk=k
  112.   set/a !k%%b!=1
  113.   if "%%b" equ "3" (for %%b in ("!ttr:~,2!!k!") do set str=!%%~b!)
  114.   setlocal enabledelayedexpansion
  115.   (%d-v%)
  116.   rem 调用函数把图标点放置到总坐标空间
  117.   if defined err (
  118.    endlocal
  119.    set/a m=bm,k=bk
  120.    set str=!bs!
  121.   ) else (
  122.    (%d-e:#=18%)
  123.    rem 调用显示函数
  124.    endlocal
  125.   )
  126. )
  127. set test=%%a
  128. )
  129. set ti=1!time:~7,1!!time:~9,2!
  130. if !ti! lss !bti! (set /a tn=ti-bti+1000) else (set /a tn=ti-bti)
  131. if !tn! gtr !down! (
  132. set/a bti=ti,n+=1
  133. setlocal enabledelayedexpansion
  134. (%d-v%)
  135. if defined err (
  136.   endlocal
  137.   goto :jmpout
  138. ) else (
  139.   (%d-e:#=18%)
  140.   endlocal
  141. )
  142. )
  143. goto :cont
  144. :jmpout
  145. set/a n-=1
  146. (%d-v%)
  147. set m=18
  148. for /l %%a in (18,-1,2) do for %%b in ("!ebuf:@=%%a!") do if "%%~b" neq "■■■■■■■■■■■" (set e!m!=%%~b&set/a m-=1)
  149. if !m! neq 1 (
  150. for /l %%a in (!m!,-1,2) do set "e%%a=           "
  151. for /l %%a in (18,-1,2) do (
  152.   for /l %%b in (0,1,10) do set r%%a.%%b=!e%%a:~%%b,1!
  153. )
  154. set/a "fen=fen+(m-1)*10,guan=fen/150+1"
  155. )
  156. if !n! leq 2 (
  157. echo 游戏结束!
  158. ping -n 3 127.1 >nul
  159. goto :restart
  160. )
  161. goto :loop
  162. :para2
  163. mode con: cols=30 lines=2
  164. echo a左 d右 w转 s加速 q退出
  165. :p_lp
  166. set/a n=n%%50+1
  167. choice /c adwsgq /n >nul
  168. >%~n0.tmp echo;%n% %errorlevel%
  169. if %errorlevel% geq 6 exit
  170. for /l %%a in (1,1,25) do ver>nul
  171. goto :p_lp
  172. :error
  173. if %1 equ 6 echo 谢谢使用,再见。。。
  174. if %1 gtr 6 echo 对不起!choice.exe 文件不存在,不能运行。。。
  175. ping -n 3 127.1 >nul
  176. goto :eof
复制代码
3

评分人数

    • Seter: NB..玩玩看~PB + 10
    • more: 牛人!!!PB + 30 技术 + 1
    • wxcute: 很好玩。PB + 15

win11下可以运行,保存ANSI编码格式的bat文件
用右键“管理员身份运行”

可以界面有点小

TOP

回复 37# GenshinImpact


请参考Q-04把test.bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

?孵???蝵?孵?嚗?00?蛹銝?? 執行的程式或批次檔。
'?銵?30??' 不是內部或外部命令、可執行的程式或批次檔。
'?0??' 不是內部或外部命令、可執行的程式或批次檔。新啟動。
'瘨?銵?70??' 不是內部或外部命令、可執行的程式或批次檔。
'ping' 不是內部或外部命令、可執行的程式或批次檔。
霂瑁摰???? 檔案。 令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。新啟動。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
'ping' 不是內部或外部命令、可執行的程式或批次檔。
系統找不到指定的檔案。 令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。新啟動。
'ping' 不是內部或外部命令、可執行的程式或批次檔。
系統找不到指定的檔案。 令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
'ping' 不是內部或外部命令、可執行的程式或批次檔。新啟動。
系統找不到指定的檔案。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
'ping' 不是內部或外部命令、可執行的程式或批次檔。
系統找不到指定的檔案。、可執行的程式或批次檔。 重新啟動。
摰?嚗????指定的檔案。
摰?嚗?不是內部或外部命令、可執行的程式或批次檔。
'ping' 不是內部或外部命令、可執行的程式或批次檔。
系統找不到指定的檔案。 令、可執行的程式或批次檔。
'?' 不是內部或外部命令、可執行的程式或批次檔。 重新啟動。
摰?嚗????指定的檔案。
'ping' 不是內部或外部命令、可執行的程式或批次檔。
系統找不到指定的檔案。
'mode' 不是內部或外部命令、可執行的程式或批次檔。
'?' 不是內部或外部命令、可執行的程式或批次檔。 重新啟動。
系統找不到指定的檔案。
這個時候不應有 )。

[處理結束,代碼為 255 (0x000000ff)]
您現在可以使用 Ctrl+D 關閉此終端機,或按 Enter 重新啟動。

TOP

佩服!批处理侦测输入没几个做的这么好的

TOP

回复 34# sds
控制台虚拟终端序列仅支持 Windows 10 / Windows 11
详见:https://learn.microsoft.com/zh-cn/windows/console/console-virtual-terminal-sequences
Why join the navy, if you can be a pirate? - Steve Jobs

TOP

回复 33# netbenton 你的代码还是不能在win7下运行啊,显示
[

TOP

本帖最后由 netbenton 于 2021-12-7 00:10 编辑
  1. @echo off&rem 俄罗斯方块游戏,win10测试运行。由netbenton编写,在bathome首发,完成时间:2021年12月06日
  2. if "%1" equ "para2" goto :para2
  3. rem 取控制符到变量。(1BH=27=033)
  4. for /F "tokens=1 delims=#" %%a in ('"prompt #$E# & echo on & for %%b in (1) do rem"') do set "ESC=%%a"
  5. set ebu4=第!guan!关
  6. set ebu6=总分:!fen!
  7. ::各种图标定义
  8. set ga1=0 1 5 6
  9. set ga2=1 4 5 8
  10. ::■■
  11. ::  ■■
  12. set gb1=1 2 4 5
  13. set gb2=0 4 5 9
  14. ::  ■■
  15. ::■■
  16. set za1=4 5 6 7
  17. set za2=1 5 9 d
  18. ::■■■■
  19. set qa1=1 5 9 8
  20. set qa2=0 4 5 6
  21. set qa3=0 1 4 8
  22. set qa4=0 1 2 6
  23. ::■■
  24. ::  ■
  25. ::  ■
  26.   
  27. set qb1=0 4 8 9
  28. set qb2=0 1 2 4
  29. set qb3=0 1 5 9
  30. set qb4=2 4 5 6
  31. ::■■
  32. ::■
  33. ::■
  34. set ta1=0 1 4 5
  35. ::■■
  36. ::■■
  37. set sa1=0 1 2 5
  38. set sa2=1 4 5 9
  39. set sa3=1 4 5 6
  40. set sa4=0 4 5 8
  41. ::  ■
  42. ::■■■
  43. set tw1=0 1
  44. set tw2=0 4
  45. set on1=0
  46. set on2=0
  47. set sh1=1 4 5 6 9
  48. set sh2=1 4 5 6 9
  49. set ao1=0 1 2 4 6
  50. set ao2=0 1 4 8 9
  51. set ao3=0 4 5 6 2
  52. set ao4=0 1 5 8 9
  53. set tt1=0 1 2 5 9
  54. set tt2=0 4 8 5 6
  55. set tt3=1 5 8 9 a
  56. set tt4=2 4 5 6 a
  57. ::cdef
  58. ::89ab
  59. ::4567
  60. ::0123
  61. start "aswd" %0 para2
  62. ::起动控制窗口
  63. set k3=k%%=mx,k+
  64. set k4=down
  65. set k1=m-
  66. set k2=m+
  67. set k5=t+
  68. ::按键定义
  69. setlocal enabledelayedexpansion
  70. for /l %%a in (0,1,10) do (set "ebuf=!ebuf!^!r@.%%a^!")
  71. for %%a in (sa_4 ta_1 qb_4 qa_4 za_2 ga_2 gb_2 tw_2 on_2 sh_2 ao_4 tt_4) do (
  72. for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
  73.   set _%%b=%%c
  74.   for /l %%d in (1,1,%%c) do set/a nx+=1&set ran!nx!=%%b%%d
  75. )
  76. )
  77. ::定义各种图型的可变型数,及单个图的随机号
  78. :restart
  79. cls
  80. echo 0 2 >%~n0.tmp
  81. for /l %%a in (0,1,18) do (for /l %%b in (0,1,10) do set r%%a.%%b= )
  82. set/a fen=0,guan=1
  83. ::初始化坐标空间18行,10列
  84. :loop
  85. set/a "m=4,t=2,n=1,down=450/(guan<<2),bti=0"
  86. set/a r=!random!%%nx+1
  87. set err=
  88. set ttr=!_ttr!
  89. set _ttr=!ran%r%!
  90. ::随机取一个图标,
  91. if not defined ttr goto :loop
  92. set mx=!_%ttr:~,2%!
  93. set k=%ttr:~2%
  94. set str=!%ttr%!
  95. set _str=!%_ttr%!
  96. setlocal enabledelayedexpansion
  97. for %%a in (!_str!) do set/a one=0x%%a,x=one/4+8,y=one%%4&set kk!x!.!y!=■
  98. for /l %%a in (8,1,11) do for /l %%b in (0,1,3) do (
  99. if defined kk%%a.%%b (set kk%%a=!kk%%a!!kk%%a.%%b!) else (set kk%%a=!kk%%a! )
  100. )
  101. endlocal&set ebu8=%kk8%&set ebu9=%kk9%&set ebu10=%kk10%&set ebu11=%kk11%
  102. ::对预备图标的处理
  103. :cont
  104. set/p var=<%~n0.tmp
  105. for /f "tokens=1,2" %%a in ("%var%") do (
  106. if %%a neq !test! (
  107.   if %%b geq 6 call :error %%b&del/q %~n0.tmp&exit
  108.   set bs=!str!&set/a bm=m,bk=k
  109.   set/a !k%%b!=1
  110.   if "%%b" equ "3" (for %%b in ("!ttr:~,2!!k!") do set str=!%%~b!)
  111.   setlocal enabledelayedexpansion
  112. for %%a in (!str!) do (set/a one=0x%%a,x=one/4+n,y=one%%4+m
  113. for %%b in ("r!x!.!y!") do (
  114. if "!%%~b!" equ " " (set r!x!.!y!=■) else (set err=1)
  115. )
  116. )
  117.   rem 调用函数把图标点放置到总坐标空间
  118.   if defined err (
  119.    endlocal
  120.    set/a m=bm,k=bk
  121.    set str=!bs!
  122.   ) else (
  123. echo;%ESC%[0;0H
  124. echo;
  125. echo;
  126. for /l %%a in (2,1,18) do (
  127. for %%b in ("│!ebuf:@=%%a!│  !ebu%%a!") do echo; %%~b
  128. )
  129. echo;
  130.    rem 调用显示函数
  131.    endlocal
  132.   )
  133. )
  134. set test=%%a
  135. )
  136. set ti=1!time:~7,1!!time:~9,2!
  137. if !ti! lss !bti! (set /a tn=ti-bti+1000) else (set /a tn=ti-bti)
  138. if !tn! gtr !down! (
  139. set/a bti=ti,n+=1
  140. setlocal enabledelayedexpansion
  141. for %%a in (!str!) do (set/a one=0x%%a,x=one/4+n,y=one%%4+m
  142. for %%b in ("r!x!.!y!") do (
  143. if "!%%~b!" equ " " (set r!x!.!y!=■) else (set err=1)
  144. ))
  145. if defined err (
  146.   endlocal
  147.   goto :jmpout
  148. ) else (
  149. echo;%ESC%[0;0H
  150. echo;
  151. echo; ┌──────────────────────┐
  152. for /l %%a in (2,1,18) do (
  153. for %%b in ("│!ebuf:@=%%a!│  !ebu%%a!") do echo; %%~b
  154. )
  155. echo; └──────────────────────┘
  156.   endlocal
  157. )
  158. )
  159. goto :cont
  160. :jmpout
  161. set/a n-=1
  162. for %%a in (!str!) do (set/a one=0x%%a,x=one/4+n,y=one%%4+m
  163. for %%b in ("r!x!.!y!") do (
  164. if "!%%~b!" equ " " (set r!x!.!y!=■) else (set err=1)
  165. )
  166. )
  167. set m=18
  168. for /l %%a in (18,-1,2) do for %%b in ("!ebuf:@=%%a!") do if "%%~b" neq "■■■■■■■■■■■" (set e!m!=%%~b&set/a m-=1)
  169. if !m! neq 1 (
  170. for /l %%a in (!m!,-1,2) do set "e%%a=           "
  171. for /l %%a in (18,-1,2) do (
  172.   for /l %%b in (0,1,10) do set r%%a.%%b=!e%%a:~%%b,1!
  173. )
  174. set/a "fen=fen+(m-1)*10,guan=fen/150+1"
  175. )
  176. if !n! leq 2 (
  177. echo 游戏结束!
  178. ping -n 3 127.1 >nul
  179. goto :restart
  180. )
  181. goto :loop
  182. :para2
  183. mode con: cols=30 lines=2
  184. echo a左 d右 w转 s加速 q退出
  185. for %%a in (a d w s g q) do set /a n+=1,K%%a=n
  186. :p_lp
  187. for /F "tokens=2 delims=键" %%L in ('xcopy /w . 2^>nul') do set k=%%L
  188. if not defined K%k% goto :p_lp
  189. set/a n=n%%50+1,k=K%k%
  190. >%~n0.tmp echo;%n% %k%
  191. if %k% geq 6 exit
  192. for /l %%a in (1,1,25) do ver>nul
  193. goto :p_lp
  194. :error
  195. if %1 equ 6 echo 谢谢使用,再见。。。
  196. ping -n 3 127.1 >nul
  197. goto :eof
复制代码
1

评分人数

TOP

2018.10.6前来考古

TOP

四个批处理全部不能在WIN7环境下运行。

TOP

不能在WIN7环境下运行!

TOP

不能在WIN7环境下运行!

TOP

加速键能不能设为按下才加

TOP

來試玩看看
雖然沒有UI

TOP

两个字:强大。收藏并学习。

TOP

返回列表