Advertisement
alek_

Snake Game in Command.exe [ NEWEST VERSION ] ( Expired )

Feb 21st, 2020
3,483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. COPY BELOW THIS LINE : This pastebin is NOT mine. I have found the newest version of this program so i wanted to share it.
  2.  
  3. _______________________________________________________________________________________________________________________________________
  4.  
  5. echo off
  6. setlocal enabledelayedexpansion
  7. echo Batch Snake 1.1
  8. echo written by bl8086
  9. echo getk.exe code by Neoqjav
  10.  
  11. if exist getk.exe goto gameset
  12. set /a count=0
  13. for /f "delims=[] skip=1" %%a in ('type "%~nx0" ^| find /n "$cut"') do (
  14.     set /a count+=1
  15.     set /a "_cut!count!=%%a+1"
  16. )
  17.  
  18. type nul > fltmp.txt
  19. set /a count=%_cut2%-%_cut1%-1
  20. for /f "tokens=1,2* delims=] skip=%_cut1%" %%a in ('find /n /v "§" "%~nx0"') do (
  21.     if !count! gtr 0 echo %%b>>fltmp.txt
  22.     set /a count-=1
  23. )
  24.  
  25. goto debfile
  26.  
  27. =========================================================
  28. This is the hex code of 'getk.exe' to read the arrow keys:
  29. =========================================================
  30.  
  31. $cut
  32. n getk.ex_
  33. e 0100 4D 53 43 46 0 0 0 0 CB 8 0 0 0 0 0 0
  34. e 0110 2C 0 0 0 0 0 0 0 3 1 1 0 1 0 0 0
  35. e 0120 0 0 0 0 45 0 0 0 1 0 1 0 0 16 0 0
  36. e 0130 0 0 0 0 0 0 5B 3F 0 90 20 0 67 65 74 6B
  37. e 0140 2E 65 78 65 0 B6 C1 80 7C 7E 8 0 16 43 4B ED
  38. e 0150 18 6D 4C 5B D7 F5 DA 71 12 27 85 60 B5 46 23 2A
  39. e 0160 59 5F 24 93 40 84 89 49 50 45 9B D0 99 18 27 14
  40. e 0170 48 66 BE D6 6E 99 6B 8C 3F C0 9A B1 AD E7 E7 94
  41. e 0180 4C 9D 64 62 2C E5 E9 C9 92 B7 55 5B A4 75 53 2D
  42. e 0190 F6 83 6A D5 96 6A D1 A 49 DB 39 F3 26 83 9A 68
  43. e 01A0 28 8B 14 B4 EE 83 68 54 7B D4 FC 88 36 C4 5C C2
  44. e 01B0 EA 9D 73 DF 33 98 17 75 DD D4 6A DD 8F 5C 71 7C
  45. e 01C0 CF D7 3D 5F F7 DC FB 1E EF F4 D7 92 64 1B 21 44
  46. e 01D0 3 50 28 10 32 45 A4 61 26 9F 3C A2 0 7B 9E B8
  47. e 01E0 BA 87 5C D9 75 73 FF 94 AA EB E6 FE BE 61 5F 98
  48. e 01F0 9 B1 C1 21 D6 39 C2 B8 9C 81 40 90 63 6 3D C
  49. e 0200 1B 9 30 BE 0 D3 F6 E5 5E 66 24 E8 F6 34 94 97
  50. e 0210 EF 36 C8 36 6C 56 42 BA 54 DB 49 D3 D4 6B 67 8A
  51. e 0220 76 17 48 C5 B6 47 54 EA 66 B2 1B 88 47 1 D4 84
  52. e 0230 30 38 EB 0 18 39 3A 9D C4 C7 B8 55 72 FC 74 C
  53. e 0240 48 4 FF F 42 F3 A2 B 50 17 7F 74 92 8A AE 34
  54. e 0250 9 1B 21 F7 D4 FF 41 B2 9F F1 68 E0 3C A3 1C CC
  55. e 0260 E3 BB E4 80 76 97 26 B1 91 CA 40 83 DB C9 39 8B
  56. e 0270 FB C1 48 39 93 3D 5B F5 40 96 6E 60 25 C5 7B C8
  57. e 0280 30 C9 7A BA 7 F4 CC D 83 E1 30 E2 97 FF CD 26
  58. e 0290 47 D1 9E 4F B6 A7 96 6A 44 63 7B F4 41 BF FF FB
  59. e 02A0 CA 3D 1C 9F E5 E8 E7 DF 8F 2D 57 F1 F6 BC D0 AF
  60. e 02B0 6D 7C 8F 8F AC B EA C6 55 81 B4 7C 1B F6 F6 45
  61. e 02C0 4B 4B 2 26 F6 EC 3B 78 C2 B2 1A 83 16 A6 C6 34
  62. e 02D0 DF 66 D0 88 4D 80 C7 F2 2A CE 1F 4F 73 87 64 51
  63. e 02E0 61 EE 5A 1 6 3F 2F 80 19 7B 9E 5F B6 FF 4A 43
  64. e 02F0 5A BE B 26 B8 B7 5B 5E C6 E9 DA 56 59 E2 1C 69
  65. e 0300 D9 E FC 88 8 16 1E 41 E3 AB 3C 7 C6 EF EC 94
  66. e 0310 8C 37 81 F1 9B B2 A8 30 97 4B C9 7E AE 61 38 FC
  67. e 0320 D7 41 F1 A7 A0 18 5F E5 2E 8A BF 81 36 A5 CE 73
  68. e 0330 63 B2 FE 34 2A 49 F1 74 81 E6 38 68 2E D A2 42
  69. e 0340 79 B2 74 40 FE BD B1 65 43 C2 9E 87 75 44 67 26
  70. e 0350 E2 1A 3A 5F D6 88 2C 98 CC 5A F3 58 A4 29 62 36
  71. e 0360 93 44 FF A F8 D4 9 E5 84 31 13 AC 1 DF 67 D0
  72. e 0370 82 ED 32 58 A8 1 B9 D8 D B 53 3A C0 20 EA E7
  73. e 0380 27 74 A0 25 54 6A BB 81 BC 55 11 17 C0 4A 6C 6D
  74. e 0390 81 63 A8 2 AE 16 F6 A1 4C E8 34 F1 65 6 71 7
  75. e 03A0 2C 95 94 63 6B 69 EE 71 61 1F D5 82 C 85 72 AA
  76. e 03B0 D5 6D E3 F5 6 71 61 7 21 E2 BB F0 3 72 8C A1
  77. e 03C0 4A FC 11 24 19 5B BC 27 7E F 99 18 8C 56 A8 C4
  78. e 03D0 58 21 34 4D A 83 E2 35 6 F1 35 AC 56 46 1C 4
  79. e 03E0 1D BE DA 20 1E 2 5F 34 0 EA 4F 38 A1 43 9D F8
  80. e 03F0 8E 62 0 4B FD 50 24 D8 98 C4 5B 7 37 FA 43 B
  81. e 0400 29 62 39 B 95 4 34 C4 99 8F A 85 64 E2 CA 81
  82. e 0410 2D 72 F5 A6 7C B2 54 2E 94 57 1 8F 7F DF 5E B8
  83. e 0420 9B E0 E 20 5D 56 A4 E5 FA DB 97 EE C0 E2 E2 7E
  84. e 0430 4C E1 A5 45 37 45 83 99 AD C3 BD 23 7E 1F 9C 8B
  85. e 0440 17 A0 53 E2 E9 9F 33 91 FA 8A 77 7E D7 31 B6 F6
  86. e 0450 27 D0 7B D1 1C BD DF C9 75 46 EF 9F E6 EC D1 FB
  87. e 0460 ED 9C 37 7A DF C6 5 5 FB 7A 63 7A 36 93 44 7F
  88. e 0470 E2 31 58 76 31 B3 B9 E4 DC CD C4 2F 30 30 39 3F
  89. e 0480 F1 71 2A 7 33 91 69 D4 C7 2E 30 41 E 2F 3 1B
  90. e 0490 69 D9 16 26 88 EC 6F 1 3B 97 C3 1D 47 2A 88 D4
  91. e 04A0 1F 81 DA 81 94 13 A9 DF 26 B7 8E FE E9 7B 26 4C
  92. e 04B0 37 A7 97 DC A DD 1A 41 15 BB AE 55 5D C0 FB 73
  93. e 04C0 EC 43 94 B2 1F D8 33 25 FD F8 DE 5F 36 C9 A4 54
  94. e 04D0 DF 14 83 DD A4 8D CF 72 7 14 FD 5B 80 86 A4 C2
  95. e 04E0 6E 4D A2 55 33 81 68 FC 56 64 69 36 B3 B9 3F 58
  96. e 04F0 CA 54 68 2F F4 56 BE C0 D5 C5 D3 7C 86 7B 8C 5F
  97. e 0500 95 F3 2F E8 7F 88 A2 CE C8 2A A4 F1 EA 63 90 46
  98. e 0510 7 EC DE D9 B3 F6 8C 50 CE 81 A0 31 1D 9F CD ED
  99. e 0520 36 B FA 38 52 60 7A 25 F7 B6 5C C0 5F 96 DA 67
  100. e 0530 68 DF 47 9E A4 8E A4 3 BA F 79 E8 B3 86 FA AC
  101. e 0540 A0 FB F1 A0 BF DF FF F3 13 FC 5D DF 52 CF 54 C8
  102. e 0550 4C DB 47 68 D7 14 EE F2 AB FD 57 4F 48 FD 52 F1
  103. e 0560 66 3A B6 EC C6 33 99 E8 9F 84 9B C 4E 0 34 76
  104. e 0570 A1 F2 B6 CD 4C AE 3E 51 BC 10 62 CB 65 10 E5 CE
  105. e 0580 DC 49 D5 6C C7 E8 9E E8 4B 87 26 5B 23 2B BB DE
  106. e 0590 5 EA FC DF 62 C7 8E 47 76 C2 5 65 5F 9F CD 4C
  107. e 05A0 37 C1 BE 5C FD 0 4D C3 9 47 AB 10 AE 13 78 53
  108. e 05B0 51 93 74 7E C5 EF 40 D3 4E BD E D4 B5 45 42 4F
  109. e 05C0 54 19 1C 58 6D EE 8E 5C F8 CD F3 F3 DC 57 7A C7
  110. e 05D0 96 6F E0 DE 97 63 EC B0 89 DA 84 67 E5 EC B E
  111. e 05E0 7B 26 6B BD D4 A 23 A5 3 33 89 C8 A5 AC F5 15
  112. e 05F0 24 B3 D6 57 71 E2 AD 53 29 3D 8 B2 D6 1F 4B DC
  113. e 0600 49 89 FB 56 AA 8A 72 5F 97 B8 97 25 6E 3A 55 4D
  114. e 0610 B9 57 24 F2 D7 29 6 3 B5 CE A4 C 74 BE 91 AA
  115. e 0620 A5 F3 5C AA 9E CE B7 2B DE DC 6E 2 CC CB 5B E7
  116. e 0630 F9 26 A8 D3 1C D4 89 D6 50 3 BB 15 6F 83 4B A0
  117. e 0640 22 7E 4C 45 AF FD E3 78 4E 26 D4 78 FC F8 4C C5
  118. e 0650 F8 57 81 BB CE 67 5 AA 34 5D 1 C2 BF FF 24 6B
  119. e 0660 D1 2C 54 99 A5 1A 67 2D DA CB 7A 33 49 99 21 D9
  120. e 0670 EC 36 5C 2C 54 B6 21 6E A9 C5 8A F0 16 7D CA 84
  121. e 0680 D7 57 6F 95 50 D9 84 88 A5 3A 65 C3 4D ED 65 B2
  122. e 0690 16 13 BD B1 2D F5 42 E5 71 10 A5 9A A9 62 33 DD
  123. e 06A0 40 DE D2 C4 AF F2 F3 FB 67 E0 D1 B0 37 6D 60 54
  124. e 06B0 B3 9A D6 8B E3 87 DA 61 41 C7 F9 BF D2 1A F2 F1
  125. e 06C0 61 A0 68 D5 F8 B8 1F D1 2A 8A 86 10 AD A6 28 87
  126. e 06D0 28 AD 4D 7C 14 51 5A 9E F8 4B 88 4A 15 8A CA 15
  127. e 06E0 1A DF AC D0 C5 44 1C BD D0 7E 9A A1 75 CA 63 9D
  128. e 06F0 A 91 13 8D B7 A0 45 BF 88 D7 6A 18 52 DF 28 24
  129. e 0700 48 A1 96 A2 3 5A 9B CF F0 FB 70 DB 13 16 CD C4
  130. e 0710 0 9D B5 13 51 9C E5 16 E0 F3 62 33 A8 3D 35 CF
  131. e 0720 AF 45 DE C8 BD 21 76 AA 36 EE 42 1C DD FC 5D B8
  132. e 0730 2D 5A F0 55 8E D5 8D 2D E1 1C DB 45 8C 38 E7 96
  133. e 0740 EA AE 3 CE 2F F0 37 4 AD 60 D6 14 16 8A F7 45
  134. e 0750 95 60 D5 43 43 EA 4 AB E FB 52 B0 96 C1 A4 15
  135. e 0760 AC 5A 6C DC 14 7D CC A4 CD 78 ED 7F 4 65 2D A5
  136. e 0770 F1 82 14 67 49 49 4 85 9A 45 C8 27 99 2C BE 2F
  137. e 0780 14 6A 44 5 8D 57 7E 29 AD 51 D0 79 85 BE 49 21
  138. e 0790 5F 57 C8 75 A F9 8A 42 5E AF 90 1B 14 74 AD 82
  139. e 07A0 D6 2B E8 6A 5 CD 28 E8 79 85 BF 1B A FA B6 82
  140. e 07B0 9E 53 D0 33 5B 68 FA 7C FB C2 87 F0 40 94 EB 9
  141. e 07C0 63 60 AF F4 E2 8D F8 E7 FD FE F7 40 C 8A FF 9
  142. e 07D0 A2 7B CD 1F BB E6 FF 21 FE 87 E3 D3 D 3F 61 49
  143. e 07E0 84 B8 37 68 63 D7 B3 27 4E 59 2C CF 1D 3D 62 B4
  144. e 07F0 B6 1B 8F 18 7B 3B BA 3A 8C A7 FA DA 7B 8C A7 9F
  145. e 0800 3D 73 A D8 F8 D6 75 F4 88 23 3C EC 64 3D EE 10
  146. e 0810 C7 1A 9F 9 FB BE E9 61 5A 5A 18 9C 83 DE 5A D0
  147. e 0820 71 58 DB 1D BD ED AD 3D D6 B6 3A 52 13 7E BA 26
  148. e 0830 F2 34 E3 75 FA FC 1E 37 E3 C 87 3D 2C E7 B 6
  149. e 0840 98 81 9A F0 41 F8 9F B7 A1 E1 30 FC D B9 5C 14
  150. e 0850 5C C1 80 D7 37 74 D8 77 B4 F9 C9 C3 E0 C5 28 79
  151. e 0860 31 82 9B 6 17 21 A7 3C 5C 2B 17 1C 39 E3 1C F1
  152. e 0870 B4 32 B5 4E 40 EB 99 70 7D D1 6F B8 AE 8E D9 DF
  153. e 0880 C2 98 1E EE E9 7F 33 FA 6C 25 67 BD 87 90 19 A0
  154. e 0890 43 25 BC 4B C0 5B 4 3A 5A C2 5B 4 DE 8A ED E3
  155. e 08A0 6D 36 77 13 D2 6 D0 7 30 0 10 EA DE 94 25 1
  156. e 08B0 7F A5 84 9E 4 7C A 60 6 60 1E 60 19 20 8F 72
  157. e 08C0 F0 51 6 50 5 C0 0 D4 3 34 3 B4 1 74 1 3C
  158. e 08D0 F 30 D0 F3 F9 F9 54 91 56 B7 1B BB B1 95 90 1F
  159. e 08E0 10 EB A8 8F B3 B1 41 97 87 7E 5C F9 19 39 E9 B
  160. e 08F0 C8 C2 3F 6C E9 5A 42 FE AC EE F5 70 FD 81 61 67
  161. e 0900 C0 D E7 C1 3A EA F2 84 F0 38 9C F4 F9 39 F B
  162. e 0910 6B D C4 31 E4 E1 5C C3 D2 67 1C C7 37 6 87 7D
  163. e 0920 F8 99 88 1C 24 E 14 8C 38 7D 1 27 3B 14 26 C7
  164. e 0930 81 E 39 1C 9E C0 39 1F 1B C 10 F2 8C 44 7B F1
  165. e 0940 FB 9A F4 59 CB E1 8 7B 38 87 33 14 72 70 E7 43
  166. e 0950 94 77 9E 38 5C 9E 51 C9 DE 12 71 F8 82 83 84 BC
  167. e 0960 A0 72 4 3 32 73 5C 85 4B 24 B 95 6A E7 60 90
  168. e 0970 E5 48 B5 DA C9 15 D7 98 D4 5E AF 3F 12 A6 B1 3D
  169. e 0980 A5 F6 86 58 5F 80 F3 2 FE 25 B5 97 F5 C0 1A 56
  170. e 0990 3D E2 F4 FB 83 2E 94 5F 50 87 22 1C 14 23 A9 E
  171. e 09A0 FB 86 2 4E 7F F1 5B 9B 12 3A AD 3D 67 AC 5D 47
  172. e 09B0 8F 34 B8 FD 54 47 6F 93 60 24 7C CE C5 72 12 B7
  173. e 09C0 D6 F6 E9 A0 D4 D6 C3 B1 75 FC B 0 0 0
  174. .
  175. rcx
  176. 8CB
  177. w
  178. q
  179. $cut
  180.  
  181. :debfile ---------------------------------------------------------------------------------------
  182.  
  183.     type fltmp.txt | debug > nul
  184.     expand getk.ex_ getk.exe >nul 2>&1
  185.     erase /q fltmp.txt 2>&1
  186.     erase /q getk.ex_ 2>&1
  187.  
  188. :gameset ---------------------------------------------------------------------------------------
  189.  
  190.     cls
  191.     set /p hgrid="Horizontal grid size (10~50):"
  192.     set /p vgrid="Vertical grid size (10~50):"
  193.     if %hgrid% lss 10 set hgrid=10
  194.     if %vgrid% lss 10 set vgrid=10
  195.     set /a "hwin= %hgrid% + 3"
  196.     set /a "vwin= %vgrid% + 6"
  197.     mode con: cols=%hwin% lines=%vwin%
  198.     set /a "result = hgrid * vgrid"
  199.     set /a "instx = hgrid / 2"
  200.     set /a "insty = vgrid / 2"
  201.     set /a "timer= 1600 - (hgrid * vgrid)"
  202.     set /a ppoint=%result%
  203.     set /a arraylimit=0
  204.     set /a arraybody=0
  205.     set /a score=0
  206.     for /l %%a in (1,1,%hgrid%) do set border=!border!Ä
  207.  
  208. :ppointer --------------------------------------------------------------------------------------
  209.  
  210.     title Score=%score%
  211.     set /a point=%random%
  212.     :decsize
  213.     if %point% geq %ppoint% set /a "point -= ppoint"
  214.     if %point% geq %ppoint% goto decsize
  215.     if %point% leq %hgrid% set /a "point += %hgrid%"
  216.  
  217. :paint -----------------------------------------------------------------------------------------
  218.  
  219.     for /l %%a in (1,1,%ppoint%) do set px%%a=
  220.     set px%point%=
  221.  
  222.     getk > setk.$
  223.     set /p getk=<setk.$
  224.     if "%getk%"=="u" set /a "insty -= 1"
  225.     if "%getk%"=="d" set /a "insty += 1"
  226.     if "%getk%"=="l" set /a "instx -= 1"
  227.     if "%getk%"=="r" set /a "instx += 1"
  228.  
  229.     set /a "result = insty * %hgrid% + instx"
  230.     set px%result%=
  231.  
  232.     if %insty% lss 0 goto gameend
  233.     if %instx% leq 0 goto gameend
  234.     if %insty% geq %vgrid% goto gameend
  235.     if %instx% gtr %hgrid% goto gameend
  236.  
  237.     if %arraylimit% gtr 0 (
  238.         for /l %%a in (%arraylimit%,-1,2) do (
  239.             set /a "decpb = (%%a - 1)"
  240.             set value=pbody!decpb!
  241.             set /a "pbody%%a = !!value!!"
  242.             if !result! equ !pbody%%a! goto gameend
  243.         )
  244.         set /a "pbody1=!lastpos!"
  245.     )
  246.  
  247.     set /a "lastpos = %result%"
  248.     for /l %%a in (1,1,%arraylimit%) do (
  249.         set /a "decpb=!pbody%%a!"
  250.         set px!decpb!=
  251.     )
  252.  
  253.     if %result% equ %point% (
  254.         set /a "arraylimit += 1"
  255.         set /a "score += 100"
  256.         set /a "timer -= 20"
  257.         goto ppointer
  258.     )
  259.  
  260.     echo Ú%border%¿>surface.$
  261.     for /l %%a in (1,1,%vgrid%) do (
  262.         set plot=
  263.         for /l %%b in (1,1,%hgrid%) do (
  264.             set /a "result = (%%a - 1) * %hgrid% + %%b"
  265.             for /f %%c in ("px!result!") do set inc=!%%c!
  266.             set plot=!plot!!inc!
  267.         )
  268.     echo ³!plot!³>>surface.$
  269.     )
  270.  
  271.     echo À%border%Ù>>surface.$  
  272.     cls&type surface.$
  273.  
  274. :speed -----------------------------------------------------------------------------------------
  275.  
  276.     for /l %%a in (1,1,%timer%) do echo. > nul
  277.     goto paint
  278.  
  279. :gameend ---------------------------------------------------------------------------------------
  280.  
  281.     if exist setk.$ erase /q setk.$ 2>&1
  282.     if exist surface.$ erase /q surface.$ 2>&1
  283.     echo.
  284.     echo Game End^!
  285.     echo Score: %score%
  286.     endlocal
  287.     pause > nul
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement