Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- COPY BELOW THIS LINE : This pastebin is NOT mine. I have found the newest version of this program so i wanted to share it.
- _______________________________________________________________________________________________________________________________________
- echo off
- setlocal enabledelayedexpansion
- echo Batch Snake 1.1
- echo written by bl8086
- echo getk.exe code by Neoqjav
- if exist getk.exe goto gameset
- set /a count=0
- for /f "delims=[] skip=1" %%a in ('type "%~nx0" ^| find /n "$cut"') do (
- set /a count+=1
- set /a "_cut!count!=%%a+1"
- )
- type nul > fltmp.txt
- set /a count=%_cut2%-%_cut1%-1
- for /f "tokens=1,2* delims=] skip=%_cut1%" %%a in ('find /n /v "§" "%~nx0"') do (
- if !count! gtr 0 echo %%b>>fltmp.txt
- set /a count-=1
- )
- goto debfile
- =========================================================
- This is the hex code of 'getk.exe' to read the arrow keys:
- =========================================================
- $cut
- n getk.ex_
- e 0100 4D 53 43 46 0 0 0 0 CB 8 0 0 0 0 0 0
- e 0110 2C 0 0 0 0 0 0 0 3 1 1 0 1 0 0 0
- e 0120 0 0 0 0 45 0 0 0 1 0 1 0 0 16 0 0
- e 0130 0 0 0 0 0 0 5B 3F 0 90 20 0 67 65 74 6B
- e 0140 2E 65 78 65 0 B6 C1 80 7C 7E 8 0 16 43 4B ED
- e 0150 18 6D 4C 5B D7 F5 DA 71 12 27 85 60 B5 46 23 2A
- e 0160 59 5F 24 93 40 84 89 49 50 45 9B D0 99 18 27 14
- e 0170 48 66 BE D6 6E 99 6B 8C 3F C0 9A B1 AD E7 E7 94
- e 0180 4C 9D 64 62 2C E5 E9 C9 92 B7 55 5B A4 75 53 2D
- e 0190 F6 83 6A D5 96 6A D1 A 49 DB 39 F3 26 83 9A 68
- e 01A0 28 8B 14 B4 EE 83 68 54 7B D4 FC 88 36 C4 5C C2
- e 01B0 EA 9D 73 DF 33 98 17 75 DD D4 6A DD 8F 5C 71 7C
- e 01C0 CF D7 3D 5F F7 DC FB 1E EF F4 D7 92 64 1B 21 44
- e 01D0 3 50 28 10 32 45 A4 61 26 9F 3C A2 0 7B 9E B8
- e 01E0 BA 87 5C D9 75 73 FF 94 AA EB E6 FE BE 61 5F 98
- e 01F0 9 B1 C1 21 D6 39 C2 B8 9C 81 40 90 63 6 3D C
- e 0200 1B 9 30 BE 0 D3 F6 E5 5E 66 24 E8 F6 34 94 97
- e 0210 EF 36 C8 36 6C 56 42 BA 54 DB 49 D3 D4 6B 67 8A
- e 0220 76 17 48 C5 B6 47 54 EA 66 B2 1B 88 47 1 D4 84
- e 0230 30 38 EB 0 18 39 3A 9D C4 C7 B8 55 72 FC 74 C
- e 0240 48 4 FF F 42 F3 A2 B 50 17 7F 74 92 8A AE 34
- e 0250 9 1B 21 F7 D4 FF 41 B2 9F F1 68 E0 3C A3 1C CC
- e 0260 E3 BB E4 80 76 97 26 B1 91 CA 40 83 DB C9 39 8B
- e 0270 FB C1 48 39 93 3D 5B F5 40 96 6E 60 25 C5 7B C8
- e 0280 30 C9 7A BA 7 F4 CC D 83 E1 30 E2 97 FF CD 26
- e 0290 47 D1 9E 4F B6 A7 96 6A 44 63 7B F4 41 BF FF FB
- e 02A0 CA 3D 1C 9F E5 E8 E7 DF 8F 2D 57 F1 F6 BC D0 AF
- e 02B0 6D 7C 8F 8F AC B EA C6 55 81 B4 7C 1B F6 F6 45
- e 02C0 4B 4B 2 26 F6 EC 3B 78 C2 B2 1A 83 16 A6 C6 34
- e 02D0 DF 66 D0 88 4D 80 C7 F2 2A CE 1F 4F 73 87 64 51
- e 02E0 61 EE 5A 1 6 3F 2F 80 19 7B 9E 5F B6 FF 4A 43
- e 02F0 5A BE B 26 B8 B7 5B 5E C6 E9 DA 56 59 E2 1C 69
- e 0300 D9 E FC 88 8 16 1E 41 E3 AB 3C 7 C6 EF EC 94
- e 0310 8C 37 81 F1 9B B2 A8 30 97 4B C9 7E AE 61 38 FC
- e 0320 D7 41 F1 A7 A0 18 5F E5 2E 8A BF 81 36 A5 CE 73
- e 0330 63 B2 FE 34 2A 49 F1 74 81 E6 38 68 2E D A2 42
- e 0340 79 B2 74 40 FE BD B1 65 43 C2 9E 87 75 44 67 26
- e 0350 E2 1A 3A 5F D6 88 2C 98 CC 5A F3 58 A4 29 62 36
- e 0360 93 44 FF A F8 D4 9 E5 84 31 13 AC 1 DF 67 D0
- e 0370 82 ED 32 58 A8 1 B9 D8 D B 53 3A C0 20 EA E7
- e 0380 27 74 A0 25 54 6A BB 81 BC 55 11 17 C0 4A 6C 6D
- e 0390 81 63 A8 2 AE 16 F6 A1 4C E8 34 F1 65 6 71 7
- e 03A0 2C 95 94 63 6B 69 EE 71 61 1F D5 82 C 85 72 AA
- e 03B0 D5 6D E3 F5 6 71 61 7 21 E2 BB F0 3 72 8C A1
- e 03C0 4A FC 11 24 19 5B BC 27 7E F 99 18 8C 56 A8 C4
- e 03D0 58 21 34 4D A 83 E2 35 6 F1 35 AC 56 46 1C 4
- e 03E0 1D BE DA 20 1E 2 5F 34 0 EA 4F 38 A1 43 9D F8
- e 03F0 8E 62 0 4B FD 50 24 D8 98 C4 5B 7 37 FA 43 B
- e 0400 29 62 39 B 95 4 34 C4 99 8F A 85 64 E2 CA 81
- e 0410 2D 72 F5 A6 7C B2 54 2E 94 57 1 8F 7F DF 5E B8
- e 0420 9B E0 E 20 5D 56 A4 E5 FA DB 97 EE C0 E2 E2 7E
- e 0430 4C E1 A5 45 37 45 83 99 AD C3 BD 23 7E 1F 9C 8B
- e 0440 17 A0 53 E2 E9 9F 33 91 FA 8A 77 7E D7 31 B6 F6
- e 0450 27 D0 7B D1 1C BD DF C9 75 46 EF 9F E6 EC D1 FB
- e 0460 ED 9C 37 7A DF C6 5 5 FB 7A 63 7A 36 93 44 7F
- e 0470 E2 31 58 76 31 B3 B9 E4 DC CD C4 2F 30 30 39 3F
- e 0480 F1 71 2A 7 33 91 69 D4 C7 2E 30 41 E 2F 3 1B
- e 0490 69 D9 16 26 88 EC 6F 1 3B 97 C3 1D 47 2A 88 D4
- e 04A0 1F 81 DA 81 94 13 A9 DF 26 B7 8E FE E9 7B 26 4C
- e 04B0 37 A7 97 DC A DD 1A 41 15 BB AE 55 5D C0 FB 73
- e 04C0 EC 43 94 B2 1F D8 33 25 FD F8 DE 5F 36 C9 A4 54
- e 04D0 DF 14 83 DD A4 8D CF 72 7 14 FD 5B 80 86 A4 C2
- e 04E0 6E 4D A2 55 33 81 68 FC 56 64 69 36 B3 B9 3F 58
- e 04F0 CA 54 68 2F F4 56 BE C0 D5 C5 D3 7C 86 7B 8C 5F
- e 0500 95 F3 2F E8 7F 88 A2 CE C8 2A A4 F1 EA 63 90 46
- e 0510 7 EC DE D9 B3 F6 8C 50 CE 81 A0 31 1D 9F CD ED
- e 0520 36 B FA 38 52 60 7A 25 F7 B6 5C C0 5F 96 DA 67
- e 0530 68 DF 47 9E A4 8E A4 3 BA F 79 E8 B3 86 FA AC
- e 0540 A0 FB F1 A0 BF DF FF F3 13 FC 5D DF 52 CF 54 C8
- e 0550 4C DB 47 68 D7 14 EE F2 AB FD 57 4F 48 FD 52 F1
- e 0560 66 3A B6 EC C6 33 99 E8 9F 84 9B C 4E 0 34 76
- e 0570 A1 F2 B6 CD 4C AE 3E 51 BC 10 62 CB 65 10 E5 CE
- e 0580 DC 49 D5 6C C7 E8 9E E8 4B 87 26 5B 23 2B BB DE
- e 0590 5 EA FC DF 62 C7 8E 47 76 C2 5 65 5F 9F CD 4C
- e 05A0 37 C1 BE 5C FD 0 4D C3 9 47 AB 10 AE 13 78 53
- e 05B0 51 93 74 7E C5 EF 40 D3 4E BD E D4 B5 45 42 4F
- e 05C0 54 19 1C 58 6D EE 8E 5C F8 CD F3 F3 DC 57 7A C7
- e 05D0 96 6F E0 DE 97 63 EC B0 89 DA 84 67 E5 EC B E
- e 05E0 7B 26 6B BD D4 A 23 A5 3 33 89 C8 A5 AC F5 15
- e 05F0 24 B3 D6 57 71 E2 AD 53 29 3D 8 B2 D6 1F 4B DC
- e 0600 49 89 FB 56 AA 8A 72 5F 97 B8 97 25 6E 3A 55 4D
- e 0610 B9 57 24 F2 D7 29 6 3 B5 CE A4 C 74 BE 91 AA
- e 0620 A5 F3 5C AA 9E CE B7 2B DE DC 6E 2 CC CB 5B E7
- e 0630 F9 26 A8 D3 1C D4 89 D6 50 3 BB 15 6F 83 4B A0
- e 0640 22 7E 4C 45 AF FD E3 78 4E 26 D4 78 FC F8 4C C5
- e 0650 F8 57 81 BB CE 67 5 AA 34 5D 1 C2 BF FF 24 6B
- e 0660 D1 2C 54 99 A5 1A 67 2D DA CB 7A 33 49 99 21 D9
- e 0670 EC 36 5C 2C 54 B6 21 6E A9 C5 8A F0 16 7D CA 84
- e 0680 D7 57 6F 95 50 D9 84 88 A5 3A 65 C3 4D ED 65 B2
- e 0690 16 13 BD B1 2D F5 42 E5 71 10 A5 9A A9 62 33 DD
- e 06A0 40 DE D2 C4 AF F2 F3 FB 67 E0 D1 B0 37 6D 60 54
- e 06B0 B3 9A D6 8B E3 87 DA 61 41 C7 F9 BF D2 1A F2 F1
- e 06C0 61 A0 68 D5 F8 B8 1F D1 2A 8A 86 10 AD A6 28 87
- e 06D0 28 AD 4D 7C 14 51 5A 9E F8 4B 88 4A 15 8A CA 15
- e 06E0 1A DF AC D0 C5 44 1C BD D0 7E 9A A1 75 CA 63 9D
- e 06F0 A 91 13 8D B7 A0 45 BF 88 D7 6A 18 52 DF 28 24
- e 0700 48 A1 96 A2 3 5A 9B CF F0 FB 70 DB 13 16 CD C4
- e 0710 0 9D B5 13 51 9C E5 16 E0 F3 62 33 A8 3D 35 CF
- e 0720 AF 45 DE C8 BD 21 76 AA 36 EE 42 1C DD FC 5D B8
- e 0730 2D 5A F0 55 8E D5 8D 2D E1 1C DB 45 8C 38 E7 96
- e 0740 EA AE 3 CE 2F F0 37 4 AD 60 D6 14 16 8A F7 45
- e 0750 95 60 D5 43 43 EA 4 AB E FB 52 B0 96 C1 A4 15
- e 0760 AC 5A 6C DC 14 7D CC A4 CD 78 ED 7F 4 65 2D A5
- e 0770 F1 82 14 67 49 49 4 85 9A 45 C8 27 99 2C BE 2F
- e 0780 14 6A 44 5 8D 57 7E 29 AD 51 D0 79 85 BE 49 21
- e 0790 5F 57 C8 75 A F9 8A 42 5E AF 90 1B 14 74 AD 82
- e 07A0 D6 2B E8 6A 5 CD 28 E8 79 85 BF 1B A FA B6 82
- e 07B0 9E 53 D0 33 5B 68 FA 7C FB C2 87 F0 40 94 EB 9
- e 07C0 63 60 AF F4 E2 8D F8 E7 FD FE F7 40 C 8A FF 9
- e 07D0 A2 7B CD 1F BB E6 FF 21 FE 87 E3 D3 D 3F 61 49
- e 07E0 84 B8 37 68 63 D7 B3 27 4E 59 2C CF 1D 3D 62 B4
- e 07F0 B6 1B 8F 18 7B 3B BA 3A 8C A7 FA DA 7B 8C A7 9F
- e 0800 3D 73 A D8 F8 D6 75 F4 88 23 3C EC 64 3D EE 10
- e 0810 C7 1A 9F 9 FB BE E9 61 5A 5A 18 9C 83 DE 5A D0
- e 0820 71 58 DB 1D BD ED AD 3D D6 B6 3A 52 13 7E BA 26
- e 0830 F2 34 E3 75 FA FC 1E 37 E3 C 87 3D 2C E7 B 6
- e 0840 98 81 9A F0 41 F8 9F B7 A1 E1 30 FC D B9 5C 14
- e 0850 5C C1 80 D7 37 74 D8 77 B4 F9 C9 C3 E0 C5 28 79
- e 0860 31 82 9B 6 17 21 A7 3C 5C 2B 17 1C 39 E3 1C F1
- e 0870 B4 32 B5 4E 40 EB 99 70 7D D1 6F B8 AE 8E D9 DF
- e 0880 C2 98 1E EE E9 7F 33 FA 6C 25 67 BD 87 90 19 A0
- e 0890 43 25 BC 4B C0 5B 4 3A 5A C2 5B 4 DE 8A ED E3
- e 08A0 6D 36 77 13 D2 6 D0 7 30 0 10 EA DE 94 25 1
- e 08B0 7F A5 84 9E 4 7C A 60 6 60 1E 60 19 20 8F 72
- e 08C0 F0 51 6 50 5 C0 0 D4 3 34 3 B4 1 74 1 3C
- e 08D0 F 30 D0 F3 F9 F9 54 91 56 B7 1B BB B1 95 90 1F
- e 08E0 10 EB A8 8F B3 B1 41 97 87 7E 5C F9 19 39 E9 B
- e 08F0 C8 C2 3F 6C E9 5A 42 FE AC EE F5 70 FD 81 61 67
- e 0900 C0 D E7 C1 3A EA F2 84 F0 38 9C F4 F9 39 F B
- e 0910 6B D C4 31 E4 E1 5C C3 D2 67 1C C7 37 6 87 7D
- e 0920 F8 99 88 1C 24 E 14 8C 38 7D 1 27 3B 14 26 C7
- e 0930 81 E 39 1C 9E C0 39 1F 1B C 10 F2 8C 44 7B F1
- e 0940 FB 9A F4 59 CB E1 8 7B 38 87 33 14 72 70 E7 43
- e 0950 94 77 9E 38 5C 9E 51 C9 DE 12 71 F8 82 83 84 BC
- e 0960 A0 72 4 3 32 73 5C 85 4B 24 B 95 6A E7 60 90
- e 0970 E5 48 B5 DA C9 15 D7 98 D4 5E AF 3F 12 A6 B1 3D
- e 0980 A5 F6 86 58 5F 80 F3 2 FE 25 B5 97 F5 C0 1A 56
- e 0990 3D E2 F4 FB 83 2E 94 5F 50 87 22 1C 14 23 A9 E
- e 09A0 FB 86 2 4E 7F F1 5B 9B 12 3A AD 3D 67 AC 5D 47
- e 09B0 8F 34 B8 FD 54 47 6F 93 60 24 7C CE C5 72 12 B7
- e 09C0 D6 F6 E9 A0 D4 D6 C3 B1 75 FC B 0 0 0
- .
- rcx
- 8CB
- w
- q
- $cut
- :debfile ---------------------------------------------------------------------------------------
- type fltmp.txt | debug > nul
- expand getk.ex_ getk.exe >nul 2>&1
- erase /q fltmp.txt 2>&1
- erase /q getk.ex_ 2>&1
- :gameset ---------------------------------------------------------------------------------------
- cls
- set /p hgrid="Horizontal grid size (10~50):"
- set /p vgrid="Vertical grid size (10~50):"
- if %hgrid% lss 10 set hgrid=10
- if %vgrid% lss 10 set vgrid=10
- set /a "hwin= %hgrid% + 3"
- set /a "vwin= %vgrid% + 6"
- mode con: cols=%hwin% lines=%vwin%
- set /a "result = hgrid * vgrid"
- set /a "instx = hgrid / 2"
- set /a "insty = vgrid / 2"
- set /a "timer= 1600 - (hgrid * vgrid)"
- set /a ppoint=%result%
- set /a arraylimit=0
- set /a arraybody=0
- set /a score=0
- for /l %%a in (1,1,%hgrid%) do set border=!border!Ä
- :ppointer --------------------------------------------------------------------------------------
- title Score=%score%
- set /a point=%random%
- :decsize
- if %point% geq %ppoint% set /a "point -= ppoint"
- if %point% geq %ppoint% goto decsize
- if %point% leq %hgrid% set /a "point += %hgrid%"
- :paint -----------------------------------------------------------------------------------------
- for /l %%a in (1,1,%ppoint%) do set px%%a=
- set px%point%=
- getk > setk.$
- set /p getk=<setk.$
- if "%getk%"=="u" set /a "insty -= 1"
- if "%getk%"=="d" set /a "insty += 1"
- if "%getk%"=="l" set /a "instx -= 1"
- if "%getk%"=="r" set /a "instx += 1"
- set /a "result = insty * %hgrid% + instx"
- set px%result%=
- if %insty% lss 0 goto gameend
- if %instx% leq 0 goto gameend
- if %insty% geq %vgrid% goto gameend
- if %instx% gtr %hgrid% goto gameend
- if %arraylimit% gtr 0 (
- for /l %%a in (%arraylimit%,-1,2) do (
- set /a "decpb = (%%a - 1)"
- set value=pbody!decpb!
- set /a "pbody%%a = !!value!!"
- if !result! equ !pbody%%a! goto gameend
- )
- set /a "pbody1=!lastpos!"
- )
- set /a "lastpos = %result%"
- for /l %%a in (1,1,%arraylimit%) do (
- set /a "decpb=!pbody%%a!"
- set px!decpb!=
- )
- if %result% equ %point% (
- set /a "arraylimit += 1"
- set /a "score += 100"
- set /a "timer -= 20"
- goto ppointer
- )
- echo Ú%border%¿>surface.$
- for /l %%a in (1,1,%vgrid%) do (
- set plot=
- for /l %%b in (1,1,%hgrid%) do (
- set /a "result = (%%a - 1) * %hgrid% + %%b"
- for /f %%c in ("px!result!") do set inc=!%%c!
- set plot=!plot!!inc!
- )
- echo ³!plot!³>>surface.$
- )
- echo À%border%Ù>>surface.$
- cls&type surface.$
- :speed -----------------------------------------------------------------------------------------
- for /l %%a in (1,1,%timer%) do echo. > nul
- goto paint
- :gameend ---------------------------------------------------------------------------------------
- if exist setk.$ erase /q setk.$ 2>&1
- if exist surface.$ erase /q surface.$ 2>&1
- echo.
- echo Game End^!
- echo Score: %score%
- endlocal
- pause > nul
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement