Advertisement
Parched

Snake Game

Dec 26th, 2019
1,018
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 60.40 KB | None | 0 0
  1. @echo off
  2. title Snake Game
  3. set maindir=%cd%
  4. set version=2.2
  5. if not exist FILES mkdir FILES
  6. cd %cd%\FILES
  7. call :default
  8. if exist config.bat call config.bat
  9.  
  10. if /i "%autoupdate%" == "On " goto checkforupdates
  11.  
  12. :menu
  13. title Snake Game
  14. if exist config.bat call config.bat
  15. color 04
  16. mode 80,30
  17. if exist "batchsnakepatcher.bat" del "batchsnakepatcher.bat"
  18. cls
  19. echo.
  20. echo.
  21. echo 1. Play Snake
  22. echo 2. How To Play
  23. echo 3. Configure
  24. echo 4. High Scores
  25. echo 5. About
  26. echo 6. Exit
  27. echo.
  28. set /p choose=^> CzpySnake:
  29. if "%choose%" == "1" goto loadmap
  30. if "%choose%" == "2" goto howtoplay
  31. if "%choose%" == "3" goto config
  32. if "%choose%" == "4" call :highscores
  33. if "%choose%" == "5" goto about
  34. if "%choose%" == "6" EXIT
  35. goto menu
  36.  
  37. ::: GAME BEGIN :::
  38.  
  39. :loadmap
  40. set curmap=2
  41. set scoremode=
  42. set mappack=off
  43. set mapcount=0
  44. set totalmoves=0
  45. set totalscore=0
  46. mode 80,30
  47. cls
  48. echo.
  49. echo Choose a map:
  50. echo.
  51. echo 1. Large
  52. echo 2. Medium
  53. echo 3. Small
  54. echo.
  55. echo b/Back l/Load custom map
  56. echo.
  57. set /p choose=Choose a number:
  58. if /i "%choose%" == "l" (
  59. set loadtype=map
  60. call :loadcustom
  61. )
  62. if /i "%choose%" == "b" goto menu
  63. if "%choose%" == "1" (
  64. set mapname=Large Default
  65. set map=:large
  66. set mapload=:largeborder
  67. set fixlocate=505
  68. set totalvariables=1000
  69. set width=50
  70. set mode=mode 58,24
  71. goto start
  72. )
  73. if "%choose%" == "2" (
  74. set mapname=Medium Default
  75. set map=:medium
  76. set mapload=:mediumborder
  77. set fixlocate=215
  78. set totalvariables=450
  79. set width=30
  80. set mode=mode 38,19
  81. goto start
  82. )
  83. if not "%choose%" == "3" goto loadmap
  84. set mapname=Small Default
  85. set map=:small
  86. set mapload=:smallborder
  87. set fixlocate=105
  88. set totalvariables=200
  89. set width=20
  90. set mode=mode 28,14
  91. goto start
  92.  
  93.  
  94.  
  95. if not "%loadtype%" == "skin" if /i "%mapname%" == "m" (
  96. goto loadmappack
  97. :lmpback
  98. if not "%mappack%" == "on" goto loadcustom
  99. :scoremodeask
  100. cls
  101. echo.
  102. echo Select Score Mode:
  103. echo.
  104. echo 1. Adventure
  105. echo 2. Free Score
  106. echo.
  107. echo NOTE: High scores are not logged while playing map packs!
  108. echo.
  109. echo b/Back
  110. echo.
  111. set /p choose=Choose a mode number:
  112. if /i "%choose%" == "b" goto loadcustom
  113. if not "%choose%" == "1" if not "%choose%" == "2" goto scoremodeask
  114. if "%choose%" == "1" set scoremode=adventure
  115. if "%choose%" == "2" set scoremode=freescore
  116. if "%scoremode%" == "adventure" call :diff
  117. goto start2
  118. )
  119.  
  120. if /i "%mapname%" == "f" (set find=true) && (mode 100,1000) && goto loadcustom
  121. if "%loadtype%" == "skin" (
  122. if /i not exist %mapname%.skin.bat goto notfound
  123. call %mapname%.skin.bat
  124. exit /b
  125. )
  126. if not "%loadtype%" == "skin" if /i "%mapname%" == "fm" (
  127. set find=true
  128. set loadtype=mappack
  129. mode 100,100
  130. goto loadcustom
  131. )
  132. set mapload=%mapname%.load.bat
  133. set map=%mapname%.map.bat
  134. if /i not exist %mapload% goto notfound
  135. if /i not exist %map% (
  136. :notfound
  137. echo.
  138. if "%loadtype%" == "map" (echo "%mapname%.%loadtype%.bat" or "%mapname%.load.bat" was not found.) ELSE echo "%mapname%.skin.bat" was not found.
  139. echo.
  140. pause
  141. goto loadcustom
  142. )
  143. goto start2
  144.  
  145. :diff
  146. cls
  147. echo.
  148. echo Select a difficulty number:
  149. echo.
  150. echo 1. Normal - Nothing is reset. Scores will not drop after death.
  151. echo 2. Hardcore - Goes back 1 map after death. Scores won't add if already beaten.
  152. echo 3. Extreme - Resets the map pack after death. All scores are dropped.
  153. echo.
  154. echo b/Back
  155. echo.
  156. set /p choose=Difficulty:
  157. if /i "%choose%" == "b" goto scoremodeask
  158. if not "%choose%" == "1" if not "%choose%" == "2" if not "%choose%" == "3" goto diff
  159. if "%choose%" == "1" set diff=Normal
  160. if "%choose%" == "2" set diff=Hardcore
  161. if "%choose%" == "3" set diff=Extreme
  162. exit /b
  163.  
  164. :loadmappack
  165. echo.
  166. set /p mappackname=Map Pack Name:
  167. if not exist %mappackname%.mappack.bat echo. && echo "%mappackname%.mappack.bat" was not found. && echo. && pause && goto lmpback
  168. set mapcount=1
  169. call %mappackname%.mappack.bat
  170. set mappack=on
  171. call set map=%mapnum1%.map.bat
  172. call set mapload=%mapnum1%.load.bat
  173. goto lmpback
  174.  
  175. :start
  176. set default=true
  177. for /l %%g in (1,1,%totalvariables%) do set a%%g=%grass%
  178. %mode%
  179.  
  180. :start2
  181. for /l %%u in (1,1,%totalvariables%) do set und%%u=
  182. if exist trail.bat del trail.bat
  183. if exist trail2.bat del trail2.bat
  184. if not exist "input.bat" goto inputbuild
  185.  
  186.  
  187. echo goto skip>trail.bat
  188. echo :switch>>trail.bat
  189. echo if exist %%filevar2%%.bat del %%filevar2%%.bat>>trail.bat
  190. echo find /v "%%findread%%" ^<%%filevar%%.bat^> %%filevar2%%.bat>>trail.bat
  191. echo if '%%filevar%%' == 'trail' (>>trail.bat
  192. echo set filevar=trail2>>trail.bat
  193. echo set filevar2=trail>>trail.bat
  194. echo ) else (>>trail.bat
  195. echo set filevar=trail>>trail.bat
  196. echo set filevar2=trail2>>trail.bat
  197. echo )>>trail.bat
  198. echo exit /b>>trail.bat
  199. echo :skip>>trail.bat
  200. echo.>>trail.bat
  201.  
  202. set speed=REM
  203. if not "%speednumber%" == "0" set speed=ping 127.0.0.0 -n %speednumber% -l 1 -w ^%speednumber% ^>nul
  204. if "%mappack%" == "on" call set scorevar=%%maxscore%mapcount%%%
  205. set scorecheck=
  206. set rank=Neonate
  207. set firstpause=true
  208. set fix=0
  209. set filevar=trail
  210. set filevar2=trail2
  211. set loadcounter=0
  212. set movecounter=0
  213. set trailcounter=1
  214. set choice=d
  215. set score=0
  216. set undefined=^^^^
  217. call %mapload%
  218. if /i not "%allowtheme%" == "On " call config.bat
  219. color %bf%
  220. set curpos=%fixlocate%
  221. set a%fixlocate%=%head%
  222. if /i "%rockgen%" == "On " if not "%mappack%" == "on" call :rockgen
  223. cls
  224. start input.bat
  225. call :food
  226. set countdown=%delay%
  227. set choice=%choice%
  228. echo %choice%>bridge.txt
  229.  
  230. :delayloop
  231. cls
  232. echo Score: %score%
  233. echo.
  234. call %map%
  235. if "%countdown%" == "%delay%" echo Press anything to start Snake. && pause>nul
  236. if not "%delay%" == "0" (
  237. if "%countdown%" == "%delay%" (
  238. cls
  239. echo Score: %score%
  240. echo.
  241. call %map%
  242. )
  243. echo Snake starting in %countdown%
  244. set /a countdown=%countdown%-1
  245. ping 127.0.0.0 -n 2 -l 1 -w 2 >nul
  246. )
  247. if not "%countdown%" == "0" goto delayloop
  248. cls
  249.  
  250. REM Please send feedback if you know how to increase the speed of the game.
  251. :game
  252. %f%
  253. echo Score: %score%
  254. echo.
  255. call %map%
  256. %speed%
  257. if not "%buffer%" == "0" (
  258. for /l %%B in (1,1,%buffer%) do echo BUFFER>buffer.txt
  259. del buffer.txt
  260. )
  261.  
  262. if exist bridge.txt set /p gotolabel=< bridge.txt
  263. if exist bridge.txt del bridge.txt
  264.  
  265. if %score% GTR 0 (
  266. if "%gotolabel%" == "%opp%" (
  267. call :%choice%
  268. goto game
  269. )
  270. )
  271. goto %gotolabel%
  272.  
  273.  
  274. :w
  275. set choice=w
  276. set opp=s
  277. set origcurpos=%curpos%
  278. set /a curpos=%curpos%-%width%
  279. call :check
  280. goto game
  281.  
  282. :a
  283. set choice=a
  284. set opp=d
  285. set origcurpos=%curpos%
  286. set /a curpos=%curpos%-1
  287. call :check
  288. goto game
  289.  
  290. :s
  291. set choice=s
  292. set opp=w
  293. set origcurpos=%curpos%
  294. set /a curpos=%curpos%+%width%
  295. call :check
  296. goto game
  297.  
  298. :d
  299. set choice=d
  300. set opp=a
  301. set origcurpos=%curpos%
  302. set /a curpos=%curpos%+1
  303. call :check
  304. goto game
  305.  
  306. :pause
  307. set choice=%choice%
  308. echo %choice%>bridge.txt
  309. cls
  310. echo.
  311. echo Game is paused.
  312. echo.
  313. echo 1. Continue
  314. echo 2. Menu
  315. echo.
  316. set /p choose=Choose a number:
  317. if "%choose%" == "1" (
  318. cls
  319. echo Score: %score%
  320. echo.
  321. call %map%
  322. ping localhost -n 3 >nul
  323. goto game
  324. )
  325. if "%choose%" == "2" (
  326. if exist trail.bat del trail.bat
  327. if exist trail2.bat del trail2.bat
  328. if exist bridge.txt del bridge.txt
  329. goto menu
  330. )
  331. goto pause
  332.  
  333.  
  334. :check
  335. if %curpos% GTR %totalvariables% set /a curpos=%curpos%-%totalvariables%
  336. if %curpos% LSS 1 set /a curpos=%curpos%+%totalvariables%
  337. call set outvar=%%a%curpos%%%
  338. if "%outvar%" == "%border%" goto gameover
  339. if "%outvar%" == "%tail%" goto gameover
  340. if "%outvar%" == "%rocks%" goto gameover
  341. set var=a%curpos%
  342. if "%var%" == "%foodlocate%" (
  343. set /a score=%score%+25
  344. set /a trailcounter=%trailcounter%+%tailadd%
  345. call :food
  346. )
  347.  
  348. set /a movecounter=%movecounter%+1
  349.  
  350. if not "%trailcounter%" == "0" (
  351. set a%origcurpos%=%tail%
  352. set /a nextdel=%movecounter%+%trailcounter%
  353. call :trailfollow
  354. )
  355. set a%curpos%=%head%
  356. if %fix% EQU 0 call :fix
  357. exit /b
  358.  
  359.  
  360. :food
  361. if "%scoremode%" == "adventure" if %score% GEQ %scorevar% goto gameover3
  362. set /A r=%RANDOM% %% %totalvariables% + 1
  363. call set outvar=%%a%r%%%
  364. call set outvar2=%%und%r%%%
  365. if "%outvar2%" == "s" goto food
  366. if "%outvar2%" == "g" goto food
  367. if not "%outvar:~1%"=="" goto food
  368. if not "%outvar%" == "%grass%" goto food
  369. set a%r%=%food%
  370. set foodlocate=a%r%
  371. exit /b
  372.  
  373. :trailfollow
  374. set trailvar=if '%nextdel%' == '%%movecounter%%'
  375. set findread=if '%nextdel%'
  376. echo %trailvar% ((set findread=%findread%) ^&^& (call :switch) ^&^& (set a%curpos%=%grass%) ^&^& exit /b)>>%filevar%.bat
  377. call %filevar%.bat
  378. exit /b
  379.  
  380. :fix
  381. set a%fixlocate%=%grass%
  382. set fix=1
  383. exit /b
  384.  
  385.  
  386. :small
  387. echo %a1%%a2%%a3%%a4%%a5%%a6%%a7%%a8%%a9%%a10%%a11%%a12%%a13%%a14%%a15%%a16%%a17%%a18%%a19%%a20%
  388. echo %a21%%a22%%a23%%a24%%a25%%a26%%a27%%a28%%a29%%a30%%a31%%a32%%a33%%a34%%a35%%a36%%a37%%a38%%a39%%a40%
  389. echo %a41%%a42%%a43%%a44%%a45%%a46%%a47%%a48%%a49%%a50%%a51%%a52%%a53%%a54%%a55%%a56%%a57%%a58%%a59%%a60%
  390. echo %a61%%a62%%a63%%a64%%a65%%a66%%a67%%a68%%a69%%a70%%a71%%a72%%a73%%a74%%a75%%a76%%a77%%a78%%a79%%a80%
  391. echo %a81%%a82%%a83%%a84%%a85%%a86%%a87%%a88%%a89%%a90%%a91%%a92%%a93%%a94%%a95%%a96%%a97%%a98%%a99%%a100%
  392. echo %a101%%a102%%a103%%a104%%a105%%a106%%a107%%a108%%a109%%a110%%a111%%a112%%a113%%a114%%a115%%a116%%a117%%a118%%a119%%a120%
  393. echo %a121%%a122%%a123%%a124%%a125%%a126%%a127%%a128%%a129%%a130%%a131%%a132%%a133%%a134%%a135%%a136%%a137%%a138%%a139%%a140%
  394. echo %a141%%a142%%a143%%a144%%a145%%a146%%a147%%a148%%a149%%a150%%a151%%a152%%a153%%a154%%a155%%a156%%a157%%a158%%a159%%a160%
  395. echo %a161%%a162%%a163%%a164%%a165%%a166%%a167%%a168%%a169%%a170%%a171%%a172%%a173%%a174%%a175%%a176%%a177%%a178%%a179%%a180%
  396. echo %a181%%a182%%a183%%a184%%a185%%a186%%a187%%a188%%a189%%a190%%a191%%a192%%a193%%a194%%a195%%a196%%a197%%a198%%a199%%a200%
  397. exit /b
  398.  
  399. :medium
  400. echo %a1%%a2%%a3%%a4%%a5%%a6%%a7%%a8%%a9%%a10%%a11%%a12%%a13%%a14%%a15%%a16%%a17%%a18%%a19%%a20%%a21%%a22%%a23%%a24%%a25%%a26%%a27%%a28%%a29%%a30%
  401. echo %a31%%a32%%a33%%a34%%a35%%a36%%a37%%a38%%a39%%a40%%a41%%a42%%a43%%a44%%a45%%a46%%a47%%a48%%a49%%a50%%a51%%a52%%a53%%a54%%a55%%a56%%a57%%a58%%a59%%a60%
  402. echo %a61%%a62%%a63%%a64%%a65%%a66%%a67%%a68%%a69%%a70%%a71%%a72%%a73%%a74%%a75%%a76%%a77%%a78%%a79%%a80%%a81%%a82%%a83%%a84%%a85%%a86%%a87%%a88%%a89%%a90%
  403. echo %a91%%a92%%a93%%a94%%a95%%a96%%a97%%a98%%a99%%a100%%a101%%a102%%a103%%a104%%a105%%a106%%a107%%a108%%a109%%a110%%a111%%a112%%a113%%a114%%a115%%a116%%a117%%a118%%a119%%a120%
  404. echo %a121%%a122%%a123%%a124%%a125%%a126%%a127%%a128%%a129%%a130%%a131%%a132%%a133%%a134%%a135%%a136%%a137%%a138%%a139%%a140%%a141%%a142%%a143%%a144%%a145%%a146%%a147%%a148%%a149%%a150%
  405. echo %a151%%a152%%a153%%a154%%a155%%a156%%a157%%a158%%a159%%a160%%a161%%a162%%a163%%a164%%a165%%a166%%a167%%a168%%a169%%a170%%a171%%a172%%a173%%a174%%a175%%a176%%a177%%a178%%a179%%a180%
  406. echo %a181%%a182%%a183%%a184%%a185%%a186%%a187%%a188%%a189%%a190%%a191%%a192%%a193%%a194%%a195%%a196%%a197%%a198%%a199%%a200%%a201%%a202%%a203%%a204%%a205%%a206%%a207%%a208%%a209%%a210%
  407. echo %a211%%a212%%a213%%a214%%a215%%a216%%a217%%a218%%a219%%a220%%a221%%a222%%a223%%a224%%a225%%a226%%a227%%a228%%a229%%a230%%a231%%a232%%a233%%a234%%a235%%a236%%a237%%a238%%a239%%a240%
  408. echo %a241%%a242%%a243%%a244%%a245%%a246%%a247%%a248%%a249%%a250%%a251%%a252%%a253%%a254%%a255%%a256%%a257%%a258%%a259%%a260%%a261%%a262%%a263%%a264%%a265%%a266%%a267%%a268%%a269%%a270%
  409. echo %a271%%a272%%a273%%a274%%a275%%a276%%a277%%a278%%a279%%a280%%a281%%a282%%a283%%a284%%a285%%a286%%a287%%a288%%a289%%a290%%a291%%a292%%a293%%a294%%a295%%a296%%a297%%a298%%a299%%a300%
  410. echo %a301%%a302%%a303%%a304%%a305%%a306%%a307%%a308%%a309%%a310%%a311%%a312%%a313%%a314%%a315%%a316%%a317%%a318%%a319%%a320%%a321%%a322%%a323%%a324%%a325%%a326%%a327%%a328%%a329%%a330%
  411. echo %a331%%a332%%a333%%a334%%a335%%a336%%a337%%a338%%a339%%a340%%a341%%a342%%a343%%a344%%a345%%a346%%a347%%a348%%a349%%a350%%a351%%a352%%a353%%a354%%a355%%a356%%a357%%a358%%a359%%a360%
  412. echo %a361%%a362%%a363%%a364%%a365%%a366%%a367%%a368%%a369%%a370%%a371%%a372%%a373%%a374%%a375%%a376%%a377%%a378%%a379%%a380%%a381%%a382%%a383%%a384%%a385%%a386%%a387%%a388%%a389%%a390%
  413. echo %a391%%a392%%a393%%a394%%a395%%a396%%a397%%a398%%a399%%a400%%a401%%a402%%a403%%a404%%a405%%a406%%a407%%a408%%a409%%a410%%a411%%a412%%a413%%a414%%a415%%a416%%a417%%a418%%a419%%a420%
  414. echo %a421%%a422%%a423%%a424%%a425%%a426%%a427%%a428%%a429%%a430%%a431%%a432%%a433%%a434%%a435%%a436%%a437%%a438%%a439%%a440%%a441%%a442%%a443%%a444%%a445%%a446%%a447%%a448%%a449%%a450%
  415. exit /b
  416.  
  417. :large
  418. echo %a1%%a2%%a3%%a4%%a5%%a6%%a7%%a8%%a9%%a10%%a11%%a12%%a13%%a14%%a15%%a16%%a17%%a18%%a19%%a20%%a21%%a22%%a23%%a24%%a25%%a26%%a27%%a28%%a29%%a30%%a31%%a32%%a33%%a34%%a35%%a36%%a37%%a38%%a39%%a40%%a41%%a42%%a43%%a44%%a45%%a46%%a47%%a48%%a49%%a50%
  419. echo %a51%%a52%%a53%%a54%%a55%%a56%%a57%%a58%%a59%%a60%%a61%%a62%%a63%%a64%%a65%%a66%%a67%%a68%%a69%%a70%%a71%%a72%%a73%%a74%%a75%%a76%%a77%%a78%%a79%%a80%%a81%%a82%%a83%%a84%%a85%%a86%%a87%%a88%%a89%%a90%%a91%%a92%%a93%%a94%%a95%%a96%%a97%%a98%%a99%%a100%
  420. echo %a101%%a102%%a103%%a104%%a105%%a106%%a107%%a108%%a109%%a110%%a111%%a112%%a113%%a114%%a115%%a116%%a117%%a118%%a119%%a120%%a121%%a122%%a123%%a124%%a125%%a126%%a127%%a128%%a129%%a130%%a131%%a132%%a133%%a134%%a135%%a136%%a137%%a138%%a139%%a140%%a141%%a142%%a143%%a144%%a145%%a146%%a147%%a148%%a149%%a150%
  421. echo %a151%%a152%%a153%%a154%%a155%%a156%%a157%%a158%%a159%%a160%%a161%%a162%%a163%%a164%%a165%%a166%%a167%%a168%%a169%%a170%%a171%%a172%%a173%%a174%%a175%%a176%%a177%%a178%%a179%%a180%%a181%%a182%%a183%%a184%%a185%%a186%%a187%%a188%%a189%%a190%%a191%%a192%%a193%%a194%%a195%%a196%%a197%%a198%%a199%%a200%
  422. echo %a201%%a202%%a203%%a204%%a205%%a206%%a207%%a208%%a209%%a210%%a211%%a212%%a213%%a214%%a215%%a216%%a217%%a218%%a219%%a220%%a221%%a222%%a223%%a224%%a225%%a226%%a227%%a228%%a229%%a230%%a231%%a232%%a233%%a234%%a235%%a236%%a237%%a238%%a239%%a240%%a241%%a242%%a243%%a244%%a245%%a246%%a247%%a248%%a249%%a250%
  423. echo %a251%%a252%%a253%%a254%%a255%%a256%%a257%%a258%%a259%%a260%%a261%%a262%%a263%%a264%%a265%%a266%%a267%%a268%%a269%%a270%%a271%%a272%%a273%%a274%%a275%%a276%%a277%%a278%%a279%%a280%%a281%%a282%%a283%%a284%%a285%%a286%%a287%%a288%%a289%%a290%%a291%%a292%%a293%%a294%%a295%%a296%%a297%%a298%%a299%%a300%
  424. echo %a301%%a302%%a303%%a304%%a305%%a306%%a307%%a308%%a309%%a310%%a311%%a312%%a313%%a314%%a315%%a316%%a317%%a318%%a319%%a320%%a321%%a322%%a323%%a324%%a325%%a326%%a327%%a328%%a329%%a330%%a331%%a332%%a333%%a334%%a335%%a336%%a337%%a338%%a339%%a340%%a341%%a342%%a343%%a344%%a345%%a346%%a347%%a348%%a349%%a350%
  425. echo %a351%%a352%%a353%%a354%%a355%%a356%%a357%%a358%%a359%%a360%%a361%%a362%%a363%%a364%%a365%%a366%%a367%%a368%%a369%%a370%%a371%%a372%%a373%%a374%%a375%%a376%%a377%%a378%%a379%%a380%%a381%%a382%%a383%%a384%%a385%%a386%%a387%%a388%%a389%%a390%%a391%%a392%%a393%%a394%%a395%%a396%%a397%%a398%%a399%%a400%
  426. echo %a401%%a402%%a403%%a404%%a405%%a406%%a407%%a408%%a409%%a410%%a411%%a412%%a413%%a414%%a415%%a416%%a417%%a418%%a419%%a420%%a421%%a422%%a423%%a424%%a425%%a426%%a427%%a428%%a429%%a430%%a431%%a432%%a433%%a434%%a435%%a436%%a437%%a438%%a439%%a440%%a441%%a442%%a443%%a444%%a445%%a446%%a447%%a448%%a449%%a450%
  427. echo %a451%%a452%%a453%%a454%%a455%%a456%%a457%%a458%%a459%%a460%%a461%%a462%%a463%%a464%%a465%%a466%%a467%%a468%%a469%%a470%%a471%%a472%%a473%%a474%%a475%%a476%%a477%%a478%%a479%%a480%%a481%%a482%%a483%%a484%%a485%%a486%%a487%%a488%%a489%%a490%%a491%%a492%%a493%%a494%%a495%%a496%%a497%%a498%%a499%%a500%
  428. echo %a501%%a502%%a503%%a504%%a505%%a506%%a507%%a508%%a509%%a510%%a511%%a512%%a513%%a514%%a515%%a516%%a517%%a518%%a519%%a520%%a521%%a522%%a523%%a524%%a525%%a526%%a527%%a528%%a529%%a530%%a531%%a532%%a533%%a534%%a535%%a536%%a537%%a538%%a539%%a540%%a541%%a542%%a543%%a544%%a545%%a546%%a547%%a548%%a549%%a550%
  429. echo %a551%%a552%%a553%%a554%%a555%%a556%%a557%%a558%%a559%%a560%%a561%%a562%%a563%%a564%%a565%%a566%%a567%%a568%%a569%%a570%%a571%%a572%%a573%%a574%%a575%%a576%%a577%%a578%%a579%%a580%%a581%%a582%%a583%%a584%%a585%%a586%%a587%%a588%%a589%%a590%%a591%%a592%%a593%%a594%%a595%%a596%%a597%%a598%%a599%%a600%
  430. echo %a601%%a602%%a603%%a604%%a605%%a606%%a607%%a608%%a609%%a610%%a611%%a612%%a613%%a614%%a615%%a616%%a617%%a618%%a619%%a620%%a621%%a622%%a623%%a624%%a625%%a626%%a627%%a628%%a629%%a630%%a631%%a632%%a633%%a634%%a635%%a636%%a637%%a638%%a639%%a640%%a641%%a642%%a643%%a644%%a645%%a646%%a647%%a648%%a649%%a650%
  431. echo %a651%%a652%%a653%%a654%%a655%%a656%%a657%%a658%%a659%%a660%%a661%%a662%%a663%%a664%%a665%%a666%%a667%%a668%%a669%%a670%%a671%%a672%%a673%%a674%%a675%%a676%%a677%%a678%%a679%%a680%%a681%%a682%%a683%%a684%%a685%%a686%%a687%%a688%%a689%%a690%%a691%%a692%%a693%%a694%%a695%%a696%%a697%%a698%%a699%%a700%
  432. echo %a701%%a702%%a703%%a704%%a705%%a706%%a707%%a708%%a709%%a710%%a711%%a712%%a713%%a714%%a715%%a716%%a717%%a718%%a719%%a720%%a721%%a722%%a723%%a724%%a725%%a726%%a727%%a728%%a729%%a730%%a731%%a732%%a733%%a734%%a735%%a736%%a737%%a738%%a739%%a740%%a741%%a742%%a743%%a744%%a745%%a746%%a747%%a748%%a749%%a750%
  433. echo %a751%%a752%%a753%%a754%%a755%%a756%%a757%%a758%%a759%%a760%%a761%%a762%%a763%%a764%%a765%%a766%%a767%%a768%%a769%%a770%%a771%%a772%%a773%%a774%%a775%%a776%%a777%%a778%%a779%%a780%%a781%%a782%%a783%%a784%%a785%%a786%%a787%%a788%%a789%%a790%%a791%%a792%%a793%%a794%%a795%%a796%%a797%%a798%%a799%%a800%
  434. echo %a801%%a802%%a803%%a804%%a805%%a806%%a807%%a808%%a809%%a810%%a811%%a812%%a813%%a814%%a815%%a816%%a817%%a818%%a819%%a820%%a821%%a822%%a823%%a824%%a825%%a826%%a827%%a828%%a829%%a830%%a831%%a832%%a833%%a834%%a835%%a836%%a837%%a838%%a839%%a840%%a841%%a842%%a843%%a844%%a845%%a846%%a847%%a848%%a849%%a850%
  435. echo %a851%%a852%%a853%%a854%%a855%%a856%%a857%%a858%%a859%%a860%%a861%%a862%%a863%%a864%%a865%%a866%%a867%%a868%%a869%%a870%%a871%%a872%%a873%%a874%%a875%%a876%%a877%%a878%%a879%%a880%%a881%%a882%%a883%%a884%%a885%%a886%%a887%%a888%%a889%%a890%%a891%%a892%%a893%%a894%%a895%%a896%%a897%%a898%%a899%%a900%
  436. echo %a901%%a902%%a903%%a904%%a905%%a906%%a907%%a908%%a909%%a910%%a911%%a912%%a913%%a914%%a915%%a916%%a917%%a918%%a919%%a920%%a921%%a922%%a923%%a924%%a925%%a926%%a927%%a928%%a929%%a930%%a931%%a932%%a933%%a934%%a935%%a936%%a937%%a938%%a939%%a940%%a941%%a942%%a943%%a944%%a945%%a946%%a947%%a948%%a949%%a950%
  437. echo %a951%%a952%%a953%%a954%%a955%%a956%%a957%%a958%%a959%%a960%%a961%%a962%%a963%%a964%%a965%%a966%%a967%%a968%%a969%%a970%%a971%%a972%%a973%%a974%%a975%%a976%%a977%%a978%%a979%%a980%%a981%%a982%%a983%%a984%%a985%%a986%%a987%%a988%%a989%%a990%%a991%%a992%%a993%%a994%%a995%%a996%%a997%%a998%%a999%%a1000%
  438. exit /b
  439.  
  440. :mapecho
  441. for /l %%h in (1,1,10) do (
  442. set e%%h=call echo
  443. for /l %%w in (!n!,1,!n2!) do (
  444. echo !n! !n2!
  445.  
  446. set e%%h=!e%%h!%%a%%w%%
  447. )
  448. set /a n=!n!+!width!
  449. set /a n2=!n2!+!width!
  450. )
  451. for /l %%a in (1,1,10) do !e%%a!
  452. pause
  453. exit /b
  454.  
  455.  
  456. :gameover3
  457. set scorecheck=true
  458. set /a mapcount=%mapcount%+1
  459.  
  460. :gameover
  461. if "%mappack%" == "on" if "%scoremode%" == "freescore" set /a mapcount=%mapcount%+1
  462. if "%mappack%" == "on" if "%scoremode%" == "freescore" set /a curmap=%mapcount%
  463. REM Clean up
  464. REM taskkill /F /IM cmd.exe /FI "WINDOWTITLE eq Input">nul
  465. if exist trail.bat del trail.bat
  466. if exist trail2.bat del trail2.bat
  467. if exist bridge.txt del bridge.txt
  468. echo.
  469.  
  470. if not "%mappack%" == "on" (echo Game Over! Press anything to continue.) Else (
  471. if not "%scorecheck%" == "true" (
  472. echo You have died. Press anything to continue.
  473. pause>nul
  474. ))
  475.  
  476. if "%mappack%" == "on" (
  477. if "%scoremode%" == "freescore" goto freescorelabel
  478. :nextadventure
  479. if "%scoremode%" == "adventure" (
  480. mode 80,30
  481. cls
  482. echo.
  483. echo Map: %map%
  484. echo.
  485. echo Score: %score%
  486. echo Required Score: %scorevar%
  487. echo.
  488. if "%scorecheck%" == "true" (
  489. echo Required score met. Press anything to continue.
  490. pause>nul
  491. ) ELSE (
  492. goto tryagain
  493. )
  494. )
  495. :freescorelabel
  496. if %mapcount% EQU %curmap% (
  497. set /a totalmoves=%totalmoves%+%movecounter%
  498. set /a totalscore=%totalscore%+%score%
  499. set /a curmap=%curmap%+1
  500. )
  501. if %mapcount% GTR %numofmaps% goto gameover2
  502. call set mapload=%%mapnum%mapcount%%%.load.bat
  503. call set map=%%mapnum%mapcount%%%.map.bat
  504. goto start2
  505. )
  506. pause>nul
  507. set hs=true
  508. :gameover2
  509. if exist bridge.txt del bridge.txt
  510. mode 80,30
  511. call :ranks
  512. cls
  513. echo.
  514. echo Game Over!
  515. echo.
  516. if not "%mappack%" == "on" (echo Map: %mapname%) ELSE echo Map Pack: %mappackname%
  517. echo.
  518. if "%mappack%" == "on" (
  519. if "%scoremode%" == "adventure" (
  520. echo Mode: Adventure
  521. echo Difficulty: %diff%
  522. )
  523. if "%scoremode%" == "freescore" echo Mode: Free Score
  524. )
  525. if not "%mappack%" == "on" (echo Score: %score%) ELSE echo Total score: %totalscore%
  526. if not "%mappack%" == "on" (echo Moves: %movecounter%) ELSE echo Total moves: %totalmoves%
  527. echo.
  528. if not "%mappack%" == "on" (
  529. echo Rank: %rank%
  530. echo.
  531. )
  532. if not "%mappack%" == "on" (
  533. if not "%score%" == "0" (
  534. if "%hs%" == "true" (
  535. if /i "%highscorelog%" == "On " call :highscorecheck
  536. set hs=
  537. )))
  538. echo.
  539. echo Play again?
  540. echo.
  541. set /p choose=[y/n]:
  542. if /i "%choose%" == "y" (
  543. if "%default%" == "true" goto start
  544. if "%mappack%" == "on" (
  545. call %mappackname%.mappack.bat
  546. set mapcount=1
  547. set curmap=2
  548. set totalmoves=0
  549. set totalscore=0
  550. set score=0
  551. set moves=0
  552. goto freescorelabel
  553. )
  554. goto start2
  555. )
  556. if /i "%choose%" == "n" (
  557. set default=
  558. set mode=
  559. goto menu
  560. )
  561. goto gameover2
  562.  
  563. :tryagain
  564. echo Required score not met. Try again?
  565. echo.
  566. set /p choose=[y/n]:
  567. if /i "%choose%" == "y" (
  568. if "%diff%" == "Normal" goto start2
  569. set score=0
  570. set movecounter=0
  571. if "%diff%" == "Hardcore" if not "%mapcount%" == "1" set /a mapcount=%mapcount%-1
  572. if "%diff%" == "Extreme" (
  573. set totalscore=0
  574. set totalmoves=0
  575. set curmap=2
  576. set mapcount=1
  577. )
  578. goto freescorelabel
  579. )
  580. if /i "%choose%" == "n" goto menu
  581. goto nextadventure
  582.  
  583. :ranks
  584. REM Snake Ranks are 1 above what they should be.
  585. if %trailcounter% GEQ 2 set rank=Garter Snake
  586. if %trailcounter% GEQ 6 set rank=Corn Snake
  587. if %trailcounter% GEQ 9 set rank=Ribbon Snake
  588. if %trailcounter% GEQ 13 set rank=Boa Constricter
  589. if %trailcounter% GEQ 16 set rank=Anaconda
  590. if %trailcounter% GEQ 19 set rank=King Cobra
  591. if %trailcounter% GEQ 27 set rank=Reticulated Python
  592. if %trailcounter% GEQ 34 set rank=Gigantophis garstini
  593. if %trailcounter% GEQ 51 set rank=Titanoboa
  594. exit /b
  595.  
  596.  
  597.  
  598. ::: GAME END :::
  599.  
  600. :rockgen
  601. set counter=0
  602. set /a usevariables=%totalvariables%-%width%-%width%-%height%-%height%+4
  603. set /a usevar=%usevariables%/6
  604. set usevariables=%usevar%
  605. cls
  606. echo How many rocks to you wish to spawn?
  607. echo.
  608. echo Max: %usevariables%
  609. echo.
  610. set /p number=# of Rock Spawns:
  611. if "%number%" == " " goto rockgen
  612. if %number% EQU 0 exit /b
  613. if %number% LSS 0 goto rockgen
  614. if %number% GTR %usevariables% goto rockgen
  615. echo.
  616. echo Generating rocks... This may take a little bit...
  617. :rockgenloop
  618. set /A r=%RANDOM% %% %totalvariables% + 1
  619. call set outvar=%%a%r%%%
  620. if not "%outvar%" == "%grass%" goto rockgenloop
  621. set /a check=%r%-%width%-1
  622. set /a check2=%r%+%width%+1
  623. set /a check3=%r%-%width%
  624. set /a check4=%r%+%width%
  625. set /a check5=%r%+2
  626. set /a check6=%r%-2
  627. set /a check7=%r%-%width%-%width%
  628. set /a check8=%r%+%width%+%width%
  629. set /a check9=%r%-%width%+1
  630. call set outvar=%%a%check%%%
  631. call set outvar2=%%a%check2%%%
  632. call set outvar3=%%a%check3%%%
  633. call set outvar4=%%a%check4%%%
  634. call set outvar5=%%a%check5%%%
  635. call set outvar6=%%a%check6%%%
  636. call set outvar7=%%a%check7%%%
  637. call set outvar8=%%a%check8%%%
  638. call set outvar8=%%a%check9%%%
  639.  
  640. if "%outvar%" == "%rocks%" goto rockgenloop
  641. if "%outvar2%" == "%rocks%" goto rockgenloop
  642. if "%outvar%" == "%border%" goto horizborderoutvar
  643. if "%outvar2%" == "%border%" goto horizborderoutvar
  644.  
  645. if "%outvar%" == "%border%" goto vertborderoutvar
  646. if "%outvar2%" == "%border%" (
  647. :vertborderoutvar
  648. if not "%outvar7%" == "%grass%" goto rockgenloop
  649. if not "%outvar8%" == "%grass%" goto rockgenloop
  650. )
  651.  
  652. if "%outvar3%" == "%border%" goto horizborderoutvar
  653. if "%outvar4%" == "%border%" (
  654. :horizborderoutvar
  655. if not "%outvar5%" == "%grass%" goto rockgenloop
  656. if not "%outvar6%" == "%grass%" goto rockgenloop
  657. if "%outvar3%" == "%border%" (
  658. if not "%outvar%" == "%grass%" goto rockgenloop
  659. if not "%outvar2%" == "%grass%" goto rockgenloop
  660. )
  661. if "%outvar4%" == "%border%" (
  662. if not "%outvar%" == "%grass%" goto rockgenloop
  663. if not "%outvar9%" == "%grass%" goto rockgenloop
  664. )
  665. )
  666. set a%r%=%rocks%
  667. set /a counter=%counter%+1
  668. if %counter% EQU %number% exit /b
  669. goto rockgenloop
  670.  
  671. :inputbuild
  672. echo @echo off>input.bat
  673. echo @title Input>>input.bat
  674. echo mode 21,^5>>input.bat
  675. echo.>>input.bat
  676. echo :loop>>input.bat
  677. echo cls>>input.bat
  678. echo echo Use the WASD to move>>input.bat
  679. echo echo p/Pause c/Close>>input.bat
  680. echo.>>input.bat
  681. echo choice /c:wasdpc /n>>input.bat
  682. echo.>>input.bat
  683. echo if ERRORLEVEL 6 exit>>input.bat
  684. echo.>>input.bat
  685. echo if ERRORLEVEL 5 (>>input.bat
  686. echo echo pause^>bridge.txt>>input.bat
  687. echo goto loop)>>input.bat
  688. echo.>>input.bat
  689. echo if ERRORLEVEL 4 (>>input.bat
  690. echo echo d^>bridge.txt>>input.bat
  691. echo goto loop)>>input.bat
  692. echo.>>input.bat
  693. echo if ERRORLEVEL 3 (>>input.bat
  694. echo echo s^>bridge.txt>>input.bat
  695. echo goto loop)>>input.bat
  696. echo.>>input.bat
  697. echo if ERRORLEVEL 2 (>>input.bat
  698. echo echo a^>bridge.txt>>input.bat
  699. echo goto loop)>>input.bat
  700. echo.>>input.bat
  701. echo if ERRORLEVEL 1 echo w^>bridge.txt>>input.bat
  702. echo goto loop>>input.bat
  703. goto start2
  704.  
  705.  
  706. :smallborder
  707. for %%b in (a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a40 a41 a60 a61 a80 a81 a100 a101 a120 a121 a140 a141 a160 a161 a180 a181 a182 a183 a184 a185 a186 a187 a188 a189 a190 a191 a192 a193 a194 a195 a196 a197 a198 a199 a200) do set %%b=%border%
  708. exit /b
  709.  
  710. :mediumborder
  711. for %%b in (a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a60 a61 a90 a91 a120 a121 a150 a151 a180 a181 a210 a211 a240 a241 a270 a271 a300 a301 a330 a331 a360 a361 a390 a391 a420 a421 a422 a423 a424 a425 a426 a427 a428 a429 a430 a431 a432 a433 a434 a435 a436 a437 a438 a439 a440 a441 a442 a443 a444 a445 a446 a447 a448 a449 a450) do set %%b=%border%
  712. exit /b
  713.  
  714. :largeborder
  715. for %%b in (a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a100 a101 a150 a151 a200 a201 a250 a251 a300 a301 a350 a351 a400 a401 a450 a451 a500 a501 a550 a551 a600 a601 a650 a651 a700 a701 a750 a751 a800 a801 a850 a851 a900 a901 a950 a951 a952 a953 a954 a955 a956 a957 a958 a959 a960 a961 a962 a963 a964 a965 a966 a967 a968 a969 a970 a971 a972 a973 a974 a975 a976 a977 a978 a979 a980 a981 a982 a983 a984 a985 a986 a987 a988 a989 a990 a991 a992 a993 a994 a995 a996 a997 a998 a999 a1000) do set %%b=%border%
  716. exit /b
  717.  
  718. :highscores
  719. if /i "%highscorelog%" == "On " (
  720. if not exist highscores.bat call :highscoregen
  721. )
  722. if exist highscores.bat call highscores.bat
  723. REM formatted using tabs
  724. cls
  725. echo.
  726. echo High Scores
  727. echo -----------
  728. if not exist highscores.bat echo No highscores were found.
  729. echo.
  730. echo 1. %scorename1% %highscore1%
  731. echo 2. %scorename2% %highscore2%
  732. echo 3. %scorename3% %highscore3%
  733. echo 4. %scorename4% %highscore4%
  734. echo 5. %scorename5% %highscore5%
  735. echo 6. %scorename6% %highscore6%
  736. echo 7. %scorename7% %highscore7%
  737. echo 8. %scorename8% %highscore8%
  738. echo 9. %scorename9% %highscore9%
  739. echo 10. %scorename10% %highscore10%
  740. echo.
  741. echo.
  742. echo Press anything to continue
  743. pause>nul
  744. exit /b
  745.  
  746.  
  747. :highscorecheck
  748. if not exist highscores.bat call :highscoregen
  749. call highscores.bat
  750. set scorereplace=0
  751. set scorecounter=0
  752. if %score% GEQ %highscore10% set scorereplace=10
  753. if %score% GEQ %highscore9% set scorereplace=9
  754. if %score% GEQ %highscore8% set scorereplace=8
  755. if %score% GEQ %highscore7% set scorereplace=7
  756. if %score% GEQ %highscore6% set scorereplace=6
  757. if %score% GEQ %highscore5% set scorereplace=5
  758. if %score% GEQ %highscore4% set scorereplace=4
  759. if %score% GEQ %highscore3% set scorereplace=3
  760. if %score% GEQ %highscore2% set scorereplace=2
  761. if %score% GEQ %highscore1% set scorereplace=1
  762. if %scorereplace% == "0" exit /b
  763. set scorecounter=11
  764. set scorecounter2=10
  765. :nh
  766. echo New Highscore!
  767. echo.
  768. set /p scorename=Enter your name (1-8 characters):
  769. if not "%scorename:~8%"=="" (
  770. echo.
  771. echo You may only enter up to 8 characters
  772. echo.
  773. pause
  774. cls
  775. goto nh
  776. )
  777. if "%scorename%" == " " (cls && goto nh)
  778.  
  779. :scoreloop
  780. set /a scorecounter=%scorecounter%-1
  781. set /a scorecounter2=%scorecounter2%-1
  782. call set outvar=%%scorename%scorecounter2%%%
  783. call set outvar2=%%highscore%scorecounter2%%%
  784. set scorename%scorecounter%=%outvar%
  785. set highscore%scorecounter%=%outvar2%
  786. if not "%scorecounter%" == "%scorereplace%" goto scoreloop
  787. set scorename%scorereplace%=%scorename%
  788. set highscore%scorereplace%=%score%
  789. call :loghighscores
  790. call :highscores
  791. exit /b
  792.  
  793. :highscoregen
  794. echo set scorename1=Kolto101>highscores.bat
  795. echo set highscore1=1000>>highscores.bat
  796. echo set scorename2=Monkey>>highscores.bat
  797. echo set highscore2=25>>highscores.bat
  798. echo set scorename3=Empty>>highscores.bat
  799. echo set highscore3=000>>highscores.bat
  800. echo set scorename4=Empty>>highscores.bat
  801. echo set highscore4=000>>highscores.bat
  802. echo set scorename5=Empty>>highscores.bat
  803. echo set highscore5=000>>highscores.bat
  804. echo set scorename6=Empty>>highscores.bat
  805. echo set highscore6=000>>highscores.bat
  806. echo set scorename7=Empty>>highscores.bat
  807. echo set highscore7=000>>highscores.bat
  808. echo set scorename8=Empty>>highscores.bat
  809. echo set highscore8=000>>highscores.bat
  810. echo set scorename9=Empty>>highscores.bat
  811. echo set highscore9=000>>highscores.bat
  812. echo set scorename10=Guard>>highscores.bat
  813. echo set highscore10=-51>>highscores.bat
  814. exit/b
  815.  
  816. :about
  817. title Batch Snake v2.2 By Kolt Koding
  818. mode 80,33
  819. cls
  820. echo.
  821. echo Release v2.2
  822. echo.
  823. echo.
  824. echo ÎÎÎÎÎÎÎÎÎÎÎÎÎ 
  825. echo Batch Snake Î @
  826. echo By Kolto101 and Klt Kding Î @ @
  827. echo Tester/Editor - Guard13007 Î
  828. echo ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
  829. echo Copyright (c) 2011 @ Î
  830. echo @ Î
  831. echo @ Î
  832. echo ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
  833. echo.
  834. echo Release Notes:
  835. echo.
  836. echo Tested and works on Windows: XP (with choice.COM), Vista, and 7.
  837. echo.
  838. echo I have tried to include as many features as possible. Please refer to the
  839. echo tutorial section for help on how to play. Also read the How To Play section
  840. echo for more information about Batch Snake. If you like the game, then you are
  841. echo encouraged to redistribute and share.
  842. echo.
  843. echo ** PLEASE report ANY bugs or crashes that may occur to: kolto101@gmail.com **
  844. echo. Visit http://www.koltkoding.tk/ for updates and more
  845. echo.
  846. echo.
  847. echo b/Back y/Play Youtube Snake k/Kolt Koding Website g/Guard's Website
  848. echo.
  849. set /p choose=Choose a letter:
  850. if /i "%choose%" == "b" goto menu
  851. if /i "%choose%" == "k" start http://www.koltkoding.tk/
  852. if /i "%choose%" == "g" start http://guard13007productions.wordpress.com/
  853. if /i "%choose%" == "y" start http://www.youtube.com/watch?v=k5zGHQjO2z8
  854. goto about
  855.  
  856.  
  857. REM K01t K0d1^g
  858. :howtoplay
  859. mode 80,30
  860. title How To Play Batch Snake
  861. cls
  862. echo.
  863. echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  864. echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  865. echo °ÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°
  866. echo °ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°°°°
  867. echo °ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°°°°
  868. echo °ÛÛ°°°°°°°°°ÛÛ°°°°How°°°°ÛÛ°°°To°°°°ÛÛ°°°Play°°°°ÛÛ°°Batch°°ÛÛ°°°°°°°°°°°°°°
  869. echo °ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°°°°
  870. echo °ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°°°°
  871. echo °ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛÛÛÛÛ°°°°°°°°
  872. echo °ÛÛ°°°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°
  873. echo °ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  874. echo °ÛÛ°°°°1.°Goal°°°°°4.°Customizing°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  875. echo °ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  876. echo °ÛÛ°°°°2.°Tips°°°°°5.°Custom°Maps°°°°°°8""""8°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  877. echo °ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°8°°°°°°eeeee°eeeee°e°°°e°°eeee°°°°°°°
  878. echo °ÛÛ°°°°3.°Notes°°°°°°°°°°°°°°°°°°°°°°°°8eeeee°8°°°8°8°°°8°8°°°8°°8°°°°°°°°°°
  879. echo °ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°88°8e°°8°8eee8°8eee8e°8eee°°°°°°°
  880. echo °ÛÛ°°°°b/Back°°°°°°°°°°°°°°°°°°°°°°°°°°e°°°88°88°°8°88°°8°88°°°8°88°°°°°°°°°
  881. echo °ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°8eee88°88°°8°88°°8°88°°°8°88ee°°°°°°°
  882. echo °ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  883. echo °°°°°°°°°°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  884. echo °°°°°°°°°°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  885. echo.
  886. set /p choose=Select a section number 
  887. if /i "%choose%" == "b" goto menu
  888. if "%choose%" == "1" call :goal
  889. if "%choose%" == "2" call :tips
  890. if "%choose%" == "3" call :othernotes
  891. if "%choose%" == "4" call :customizenotes
  892. if "%choose%" == "5" call :custommapnotes
  893. goto howtoplay
  894.  
  895. :goal
  896. mode 80,35
  897. cls
  898. title The Goal
  899. echo.
  900. echo 1 - The Goal
  901. echo -------------
  902. echo.
  903. echo  Goal of Snake 
  904. echo.
  905. echo The object of Snake is to get the snake to eat as much food as possible by
  906. echo moving the snake. The food is represented by a batch gear () and is randomly
  907. echo placed throughout the map. This happens at the very beginning and every time
  908. echo food is eaten by the snake. Since Snake cannot be won, the goal is to achieve
  909. echo the highest score possible.
  910. echo.
  911. echo yum!
  912. echo \
  913. echo ÎÎÎÎÎÎ 
  914. echo.
  915. echo  Losing 
  916. echo.
  917. echo The player loses if the snake runs into the wall, a rock, or its own tail.
  918. echo The snake is always moving, so it must constantly turn in order to stay alive,
  919. echo or else it will eventually collide.
  920. echo.
  921. echo 
  922. echo Û ouch! Î /
  923. echo ÛÎÎÎÎÎÎ ÎÎÎÎÎ / ÎÎÎ
  924. echo Û \  Î Î
  925. echo Û uh-oh! @ ÎÎÎÎ
  926. echo.
  927. echo.
  928. echo PRESS ANY KEY TO CONTINUE
  929. pause>nul
  930. exit /b
  931.  
  932. :tips
  933. cls
  934. title Tips
  935. echo.
  936. echo 2 - Tips
  937. echo ---------
  938. echo.
  939. echo -Sometimes the game may "freeze" momentarily. When this happens, simply
  940. echo press the corresponding key in the direction you wish to go, and wait
  941. echo until it "unfreezes."
  942. echo.
  943. echo -Once the snake has eaten food, it will not grow until its ENTIRE tail
  944. echo has gone through that particular spot where the food was located.
  945. echo.
  946. echo -Sometimes it is hard to accurately turn the snake at a particular point. If
  947. echo food spawns next to a wall, try turning a little early to avoid collision.
  948. echo If the snake ends up turning too soon, simply circle back around and try
  949. echo again.
  950. echo.
  951. echo -NEVER spiral inward against the snakes body. This will lead to
  952. echo inevitable death.
  953. echo.
  954. echo -If the snake is growing too long, sometimes the best method is to circle
  955. echo around the map to stretch out the snake and move its tail away from the
  956. echo middle. This will give enough room to get food without running into the
  957. echo tail.
  958. echo.
  959. echo PRESS ANY KEY TO CONTINUE
  960. pause>nul
  961. exit /b
  962.  
  963. :othernotes
  964. cls
  965. title Other Notes
  966. echo.
  967. echo 3 - Other Notes
  968. echo ----------------
  969. echo.
  970. echo -KNOWN BUGS: Food may occasionally not appear when spawned. When this happens,
  971. echo retrace the snake's path and search until it's found.
  972. echo Taskkill does not seem to close input.bat.
  973. echo.
  974. echo -Snake requires choice.COM. If your operating system does not support
  975. echo the choice command, download it via www.koltkoding.tk.
  976. echo.
  977. echo -Sometimes the game may "freeze" momentarily. This is usually when
  978. echo necessary files are being created or used.
  979. echo.
  980. echo -If the game is too fast, try changing the speed and/or buffer in the
  981. echo configuration-settings menu.
  982. echo.
  983. echo -Snake will generate files needed to run the game. Some of these files
  984. echo are automatically deleted when the game is over. The other files that
  985. echo are not deleted may still be deleted without damaging the game. The
  986. echo built-in scripts will generate a file to replace the deleted ones.
  987. echo DO NOT delete any files with the extensions: .map.bat, .load.bat, .skin.bat,
  988. echo or config.bat.
  989. echo.
  990. echo -Report any crashes, bugs, missing features, or special requests to:
  991. echo kolto101@gmail.com
  992. echo.
  993. echo PRESS ANY KEY TO CONTINUE
  994. pause>nul
  995. exit /b
  996.  
  997. :customizenotes
  998. mode 80,35
  999. cls
  1000. title Customizing
  1001. echo.
  1002. echo 4 - Customizing
  1003. echo ----------------
  1004. echo.
  1005. echo Batch Snake was made with the intention to be almost completely customizable.
  1006. echo There are a number of things that can be changed, such as the theme, graphics,
  1007. echo rock spawns, delays, and speed.
  1008. echo.
  1009. echo  Custom Graphics 
  1010. echo.
  1011. echo All of the graphics in Snake are customizable. They can be set to almost any
  1012. echo letter, number, or symbol. This includes most extended characters, which can
  1013. echo be accessed when changing the graphics.
  1014. echo.
  1015. echo The pipe ("|") is not a valid character. The grass and food objects MAY NOT
  1016. echo share the same graphic with any other object. They must be completely unique.
  1017. echo.
  1018. echo  Skins 
  1019. echo.
  1020. echo Skins are saved sets of customizable graphics. They may be created using the
  1021. echo included Editor program. To load them, the skin files must be located in the
  1022. echo FILES folder.
  1023. echo.
  1024. echo  Spawning Rocks 
  1025. echo.
  1026. echo When rock spawning is turned on, you may choose how many rocks randomly appear
  1027. echo throughout the map. This is only recommended for default maps, since the
  1028. echo generator will place rocks in places that may obstruct custom maps.
  1029. echo.
  1030. echo.
  1031. echo PRESS ANY KEY TO CONTINUE
  1032. pause>nul
  1033. exit /b
  1034.  
  1035. :custommapnotes
  1036. mode 80,35
  1037. cls
  1038. title Custom Maps
  1039. echo.
  1040. echo 5 - Custom Maps
  1041. echo ----------------
  1042. echo.
  1043. echo  Custom Maps 
  1044. echo.
  1045. echo Custom maps may be created using the Editor. Maps may be in all different
  1046. echo sizes, with varying borders and terrain.
  1047. echo.
  1048. echo All maps MUST be located in the FILES folder in order to load them. They
  1049. echo must ALSO have a corresponding ".load.bat" file, which is also created
  1050. echo by the editor.
  1051. echo.
  1052. echo  Map Packs 
  1053. echo.
  1054. echo Also made using the Snake editor, map packs are sets of maps combined into
  1055. echo what could be called a campaign. There are 2 modes:
  1056. echo.
  1057. echo Adventure - The player must reach the map's required score to move on to the
  1058. echo next map. The required score is set by the map pack's creator. Depending on
  1059. echo the difficulty, the map pack may reset or go back a map if the snake dies.
  1060. echo.
  1061. echo Free Score - No particular score is required for each map. When the snake
  1062. echo dies, the next map in the map pack will be loaded. At the end, all of the
  1063. echo scores will combine to form a total score.
  1064. echo.
  1065. echo NOTE: High scores are not logged while playing map packs!
  1066. echo.
  1067. echo.
  1068. echo PRESS ANY KEY TO CONTINUE
  1069. pause>nul
  1070. exit /b
  1071.  
  1072. :save
  1073. setlocal EnableDelayedExpansion
  1074.  
  1075. if exist config.bat del config.bat
  1076. echo set speednumber=!speednumber!>>config.bat
  1077. echo set buffer=!buffer!>>config.bat
  1078. echo set delay=!delay!>>config.bat
  1079. echo set tailadd=!tailadd!>>config.bat
  1080. echo set food=!food!>>config.bat
  1081. echo set tail=!tail!>>config.bat
  1082. echo set border=!border!>>config.bat
  1083. echo set rocks=!rocks!>>config.bat
  1084. echo set grass=!grass!>>config.bat
  1085. echo set head=!head!>>config.bat
  1086. echo set bf=!bf!>>config.bat
  1087. echo set rockgen=!rockgen!>>config.bat
  1088. echo set allowtheme=!allowtheme!>>config.bat
  1089. echo set autoupdate=!autoupdate!>>config.bat
  1090. echo set f=!f!>>config.bat
  1091. echo set highscorelog=!highscorelog!>>config.bat
  1092.  
  1093. setlocal DisableDelayedExpansion
  1094. exit/b
  1095.  
  1096. :loghighscores
  1097. if exist highscores.bat del highscores.bat
  1098. set logcounter=0
  1099. :logloop
  1100. set /a logcounter=%logcounter%+1
  1101. call set outvar=%%scorename%logcounter%%%
  1102. call set outvar2=%%highscore%logcounter%%%
  1103. set scorename%logcounter%=%outvar%>>highscores.bat
  1104. set highscore%logcounter%=%outvar2%>>highscores.bat
  1105. if not "%logcounter%" == "10" goto logloop
  1106. exit /b
  1107.  
  1108.  
  1109. :default
  1110. set tailadd=1
  1111. set speednumber=1
  1112. set buffer=0
  1113. set delay=3
  1114. set highscorelog=On
  1115. set autoupdate=Off
  1116. set f=cls
  1117. set rockgen=Off
  1118. set allowtheme=On
  1119. set bf=0A
  1120. :default2
  1121. set undefined=^^^^
  1122. set food=
  1123. set tail=Î
  1124. set border=Û
  1125. set rocks=@
  1126. set grass=
  1127. set head=
  1128. exit /b
  1129.  
  1130.  
  1131.  
  1132. :config
  1133. mode 80,30
  1134. cls
  1135. echo.
  1136. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  1137. echo º Configure º
  1138. echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  1139. echo º 1. Customize º
  1140. echo º 2. Themes º
  1141. echo º 3. Settings º
  1142. echo º 4. Debug º
  1143. echo º º
  1144. echo º Press b to go back º
  1145. echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  1146. echo.
  1147. set /p choose=Choose a number:
  1148. if "%choose%" == "1" goto customize
  1149. if "%choose%" == "2" goto themes
  1150. if "%choose%" == "3" goto settings
  1151. if "%choose%" == "4" goto debug
  1152. if /i "%choose%" == "b" goto menu
  1153. goto config
  1154.  
  1155. :settings
  1156. cls
  1157. if "%f%" == "cls" (set noflick=Off) ELSE set noflick=On
  1158. echo.
  1159. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  1160. echo º Settings º
  1161. echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  1162. echo º 1. Set Growth Rate º
  1163. echo º 2. Set Speed º
  1164. echo º 3. Set Buffer º
  1165. echo º 4. Set Initial Delay º
  1166. echo º 5. Allow Theme Change %allowtheme% º
  1167. echo º 6. Spawn Rocks %rockgen% º
  1168. echo º 7. High Score Logging %highscorelog% º
  1169. echo º 8. No Flick %noflick% º
  1170. echo º 9. Automatic Updating %autoupdate% º
  1171. echo º º
  1172. echo º Press b to go back º
  1173. echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  1174. echo.
  1175. set /p choose=Choose a number:
  1176. if /i "%choose%" == "b" goto config
  1177. if "%choose%" == "1" call :growthrate
  1178. if "%choose%" == "2" call :speedchange
  1179. if "%choose%" == "3" call :buffer
  1180. if "%choose%" == "4" call :initialdelay
  1181. if "%choose%" == "5" (
  1182. if "%allowtheme%" == "Off" (set allowtheme=On ) ELSE set allowtheme=Off
  1183. )
  1184. if "%choose%" == "6" (
  1185. if "%rockgen%" == "Off" (set rockgen=On ) ELSE set rockgen=Off
  1186. )
  1187. if "%choose%" == "7" (
  1188. if "%highscorelog%" == "Off" (set highscorelog=On ) ELSE set highscorelog=Off
  1189. )
  1190. if "%choose%" == "8" (
  1191. if "%f%" == "cls" (
  1192. echo.
  1193. echo WARNING: This may slightly slow down the game, but it will result in
  1194. echo a much smoother display. Give it a try to see which is best.
  1195. echo.
  1196. pause
  1197. set f=colous 0 0 1,1
  1198. ) ELSE set f=cls
  1199. )
  1200. if "%choose%" == "9" (
  1201. if "%autoupdate%" == "Off" (set autoupdate=On ) ELSE set autoupdate=Off
  1202. )
  1203. call :save
  1204. goto settings
  1205.  
  1206. :growthrate
  1207. cls
  1208. echo.
  1209. echo -Set Growth Rate-
  1210. echo.
  1211. echo The growth rate is how much the snake will grow after eating food.
  1212. echo Only 1 or 2 is recommended.
  1213. echo.
  1214. echo Current Growth Rate: %tailadd%
  1215. echo.
  1216. echo b/Back
  1217. echo.
  1218. set /p number=Growth Rate:
  1219. if /i "%number%" == "b" exit /b
  1220. if "%number%" == " " goto growthrate
  1221. if %number% LEQ 0 goto growthrate
  1222. if %number% GEQ a goto growthrate
  1223. set tailadd=%number%
  1224. call :save
  1225. exit /b
  1226.  
  1227. :buffer
  1228. cls
  1229. echo.
  1230. echo -Set Buffer (Experimental)-
  1231. echo.
  1232. echo Buffering the game will slow it down enough to play for fast computers. It can
  1233. echo be used in combination with the speed of the game, or used all by itself.
  1234. echo Higher numbers (in the hundreds) may be required to see noticeable changes.
  1235. echo Don't be afraid to experiment with numbers. Try using different numbers and
  1236. echo see which is best for your needs.
  1237. echo.
  1238. echo Current Buffer: %buffer%
  1239. echo.
  1240. echo b/Back
  1241. echo.
  1242. set /p number=Growth Rate:
  1243. if /i "%number%" == "b" exit /b
  1244. if "%number%" == " " goto buffer
  1245. if %number% LSS 0 goto buffer
  1246. if %number% GEQ a goto buffer
  1247. set buffer=%number%
  1248. call :save
  1249. exit /b
  1250.  
  1251.  
  1252. :initialdelay
  1253. cls
  1254. echo.
  1255. echo -Initial Delay-
  1256. echo.
  1257. echo Enter how long you wish to delay the start of every game. This is
  1258. echo helpful when switching control between the game window and input.
  1259. echo.
  1260. echo Current Delay: %delay%
  1261. echo.
  1262. echo b/Back
  1263. echo.
  1264. set /p number=Delay:
  1265. if /i "%number%" == "b" exit /b
  1266. if "%number%" == " " goto initialdelay
  1267. if not %number% GEQ 0 goto initialdelay
  1268. if %number% GEQ a goto initialdelay
  1269. set delay=%number%
  1270. call :save
  1271. exit /b
  1272.  
  1273.  
  1274. :speedchange
  1275. cls
  1276. echo.
  1277. echo -Set Speed-
  1278. echo.
  1279. echo Enter an integer for the speed of the game. The lower the number, the faster
  1280. echo the game will be. At least a 1 is recommened. Also experiment with the buffer
  1281. echo setting to get the best results.
  1282. echo.
  1283. echo 0 - fastest (A little unstable - Not recommended!)
  1284. echo.
  1285. echo Current Speed: %speednumber%
  1286. echo.
  1287. echo b/Back
  1288. echo.
  1289. set /p number=Speed:
  1290. if /i "%number%" == "b" exit /b
  1291. if "%number%" == " " goto speedchange
  1292. if not %number% GEQ 0 goto speedchange
  1293. if %number% GEQ a goto speedchange
  1294. set speednumber=%number%
  1295. call :save
  1296. exit /b
  1297.  
  1298.  
  1299. :themes
  1300. set previousbf=%bf%
  1301. cls
  1302. echo.
  1303. echo 0 = Black 8 = Gray
  1304. echo 1 = Blue 9 = Light Blue
  1305. echo 2 = Green A = Light Green
  1306. echo 3 = Aqua B = Light Aqua
  1307. echo 4 = Red C = Light Red
  1308. echo 5 = Purple D = Light Purple
  1309. echo 6 = Yellow E = Light Yellow
  1310. echo 7 = White F = Bright White
  1311. echo.
  1312. echo Default: 0A
  1313. echo OS Default: 07
  1314. echo.
  1315. echo Set the background color and the foreground color.
  1316. echo The first letter/number is the background color,
  1317. echo the second is the foreground. Do not use spaces.
  1318. echo.
  1319. echo Type "m" to go back.
  1320. echo.
  1321. set /p bf=Set Background/Foreground:
  1322. if /i "%bf%" == "m" (
  1323. set bf=%previousbf%
  1324. goto config)
  1325. if %bf% LSS a if %bf% GTR 99 goto themes
  1326. if not "%bf:~2%"=="" (
  1327. echo The color code cannot be more than 2 characters long.
  1328. echo.
  1329. pause
  1330. goto themes
  1331. )
  1332. if %bf% GTR FF goto themes
  1333. if %bf% LSS 00 goto themes
  1334. color %bf%
  1335. call :save
  1336. goto themes
  1337.  
  1338.  
  1339. :debug
  1340. REM Debug by Kolto101 and Kolt Koding
  1341. cls
  1342. mode 80,30
  1343. echo If you are familiar with Batch scripting, then use the debug for whatever.
  1344. echo For example, typing "set" would execute the set command and give a full list
  1345. echo of variables. Type "(command name here) /?" to find out what a command does.
  1346. echo.
  1347. echo b/Back
  1348. echo.
  1349. set /p debug=Debug code:
  1350. call :debugcheck
  1351. mode 100,10000
  1352. echo Executing code...
  1353. echo.
  1354. %debug%
  1355. echo.
  1356. pause
  1357. goto debug
  1358.  
  1359. :debugcheck
  1360. if not "%debug:~1%"=="" exit /b
  1361. if not '%debug%' == 'b' (exit /b) ELSE (
  1362. if '%debugexit%' == 'true' (
  1363. set debugexit=
  1364. goto play)
  1365. goto config
  1366. )
  1367.  
  1368. :customize
  1369. mode 80,30
  1370. cls
  1371. echo.
  1372. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  1373. echo º Customize º
  1374. echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  1375. echo º º
  1376. echo º 1. Head: %head% º
  1377. echo º º
  1378. echo º 2. Tail: %tail% º
  1379. echo º º
  1380. echo º 3. Border: %border% º
  1381. echo º º
  1382. echo º 4. Food: %food% º
  1383. echo º º
  1384. echo º 5. Rocks: %rocks% º
  1385. echo º º
  1386. echo º 6. Grass: %grass% º
  1387. echo º º
  1388. echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  1389. echo.
  1390. echo b/Back l/Load Skins d/Default h/Help
  1391. echo.
  1392. set /p choose=Choose a number to change the current graphic:
  1393. if /i "%choose%" == "b" goto config
  1394. if /i "%choose%" == "h" call :customizenotes
  1395. if "%choose%" == "1" set tochange=head
  1396. if "%choose%" == "2" set tochange=tail
  1397. if "%choose%" == "3" set tochange=border
  1398. if "%choose%" == "4" set tochange=food
  1399. if "%choose%" == "5" set tochange=rocks
  1400. if "%choose%" == "6" set tochange=grass
  1401. if %choose% GEQ 1 (
  1402. if %choose% LEQ 6 (
  1403. goto changegraphic
  1404. ))
  1405. if /i "%choose%" == "l" (
  1406. set loadtype=skin
  1407. call :loadcustom
  1408. if not "%grass%" == "%rocks%" if not "%grass%" == "%border%" if not "%grass%" == "%tail%" if not "%grass%" == "%food%" if not "%grass%" == "%head%" if not "%food%" == "%rocks%" if not "%food%" == "%border%" if not "%food%" == "%tail%" if not "%food%" == "%head%" (
  1409. call :save
  1410. ) ELSE (
  1411. echo.
  1412. echo Invalid skin file.
  1413. pause
  1414. )
  1415. )
  1416. if /i "%choose%" == "d" call :default2 && call :save
  1417. goto customize
  1418.  
  1419.  
  1420. :changegraphic
  1421. cls
  1422. echo Currently editting: %tochange%
  1423. echo Enter a character below, or choose and extended character.
  1424. echo.
  1425. echo -b/Back -s/Open extended characters
  1426. echo.
  1427. set /p symbol=Chracter:
  1428. if /i "%symbol%" == "-b" goto customize
  1429. if "%symbol%" == "" goto changegraphic
  1430. if not "%tochange%" == "grass" if not "%tochange%" == "rocks" if "%symbol%" == " " goto changegraphic
  1431. if not "%symbol:~1%"=="" (
  1432. if /i not "%symbol%" == "-s" (
  1433. echo You may only use 1 character.
  1434. echo.
  1435. pause
  1436. goto changegraphic
  1437. ))
  1438. if /i "%symbol%" == "-s" call :symbolstart
  1439. if /i "%symbol%" == "-s" goto changegraphic
  1440. if not "%tochange%" == "grass" if "%symbol%" == "%grass%" goto changegraphic
  1441. if not "%tochange%" == "food" if "%symbol%" == "%food%" goto changegraphic
  1442. set %tochange%=%symbol%
  1443. call :save
  1444. goto customize
  1445.  
  1446.  
  1447.  
  1448.  
  1449. :symbolstart
  1450. mode 80,50
  1451. cls
  1452. call :symbolecho
  1453. set symbolnum=
  1454. echo b/Back
  1455. echo.
  1456. set /p symbolnum=Enter the character number to output #
  1457. if /i "%symbolnum%" == "b" exit /b
  1458.  
  1459. if not %symbolnum% GTR 0 goto symbolstart
  1460. if %symbolnum% GTR 254 goto symbolstart
  1461. call :symbol
  1462. if %symbolnum% GEQ 32 (
  1463. if %symbolnum% LEQ 126 (
  1464. echo.
  1465. echo Characters 32-126 can be accessed via keyboard.
  1466. pause>nul
  1467. goto symbolstart
  1468. ))
  1469. if "%symbol%" == "N/A" goto symbolstart
  1470. :symbolask
  1471. cls
  1472. echo.
  1473. echo Symbol: %symbol%
  1474. echo.
  1475. echo Would you like to use this symbol?
  1476. set /p choose=[y/n]:
  1477. if /i "%choose%" == "n" goto symbolstart
  1478. if /i "%choose%" == "y" exit /b
  1479. goto symbolask
  1480.  
  1481. :symbol
  1482. set symbol=N/A
  1483. if "%symbolnum%" == "1" set symbol=
  1484. if "%symbolnum%" == "2" set symbol=
  1485. if "%symbolnum%" == "3" set symbol=
  1486. if "%symbolnum%" == "4" set symbol=
  1487. if "%symbolnum%" == "5" set symbol=
  1488. if "%symbolnum%" == "6" set symbol=
  1489. if "%symbolnum%" == "11" set symbol=
  1490. if "%symbolnum%" == "12" set symbol=
  1491. if "%symbolnum%" == "14" set symbol=
  1492. if "%symbolnum%" == "15" set symbol=
  1493. if "%symbolnum%" == "16" set symbol=
  1494. if "%symbolnum%" == "17" set symbol=
  1495. if "%symbolnum%" == "18" set symbol=
  1496. if "%symbolnum%" == "19" set symbol=
  1497. if "%symbolnum%" == "20" set symbol=
  1498. if "%symbolnum%" == "21" set symbol=
  1499. if "%symbolnum%" == "22" set symbol=
  1500. if "%symbolnum%" == "23" set symbol=
  1501. if "%symbolnum%" == "24" set symbol=
  1502. if "%symbolnum%" == "25" set symbol=
  1503. if "%symbolnum%" == "27" set symbol=
  1504. if "%symbolnum%" == "28" set symbol=
  1505. if "%symbolnum%" == "29" set symbol=
  1506. if "%symbolnum%" == "30" set symbol=
  1507. if "%symbolnum%" == "31" set symbol=
  1508. REM 32 - 126 are accessible via Keyboard
  1509. if "%symbolnum%" == "127" set symbol=
  1510. if "%symbolnum%" == "128" set symbol=€
  1511. if "%symbolnum%" == "129" set symbol=
  1512. if "%symbolnum%" == "130" set symbol=‚
  1513. if "%symbolnum%" == "131" set symbol=ƒ
  1514. if "%symbolnum%" == "132" set symbol=„
  1515. if "%symbolnum%" == "133" set symbol=…
  1516. if "%symbolnum%" == "134" set symbol=†
  1517. if "%symbolnum%" == "135" set symbol=‡
  1518. if "%symbolnum%" == "136" set symbol=ˆ
  1519. if "%symbolnum%" == "137" set symbol=‰
  1520. if "%symbolnum%" == "138" set symbol=Š
  1521. if "%symbolnum%" == "139" set symbol=‹
  1522. if "%symbolnum%" == "140" set symbol=Œ
  1523. if "%symbolnum%" == "141" set symbol=
  1524. if "%symbolnum%" == "142" set symbol=Ž
  1525. if "%symbolnum%" == "143" set symbol=
  1526. if "%symbolnum%" == "144" set symbol=
  1527. if "%symbolnum%" == "145" set symbol=‘
  1528. if "%symbolnum%" == "146" set symbol=’
  1529. if "%symbolnum%" == "147" set symbol=“
  1530. if "%symbolnum%" == "148" set symbol=”
  1531. if "%symbolnum%" == "149" set symbol=•
  1532. if "%symbolnum%" == "150" set symbol=–
  1533. if "%symbolnum%" == "151" set symbol=—
  1534. if "%symbolnum%" == "152" set symbol=˜
  1535. if "%symbolnum%" == "153" set symbol=™
  1536. if "%symbolnum%" == "154" set symbol=š
  1537. if "%symbolnum%" == "155" set symbol=›
  1538. if "%symbolnum%" == "156" set symbol=œ
  1539. if "%symbolnum%" == "157" set symbol=
  1540. if "%symbolnum%" == "158" set symbol=ž
  1541. if "%symbolnum%" == "159" set symbol=Ÿ
  1542. if "%symbolnum%" == "160" set symbol= 
  1543. if "%symbolnum%" == "161" set symbol=¡
  1544. if "%symbolnum%" == "162" set symbol=¢
  1545. if "%symbolnum%" == "163" set symbol=£
  1546. if "%symbolnum%" == "164" set symbol=¤
  1547. if "%symbolnum%" == "165" set symbol=¥
  1548. if "%symbolnum%" == "166" set symbol=¦
  1549. if "%symbolnum%" == "167" set symbol=§
  1550. if "%symbolnum%" == "168" set symbol=¨
  1551. if "%symbolnum%" == "169" set symbol=©
  1552. if "%symbolnum%" == "170" set symbol=ª
  1553. if "%symbolnum%" == "171" set symbol=«
  1554. if "%symbolnum%" == "172" set symbol=¬
  1555. if "%symbolnum%" == "173" set symbol=­
  1556. if "%symbolnum%" == "174" set symbol=®
  1557. if "%symbolnum%" == "175" set symbol=¯
  1558. if "%symbolnum%" == "176" set symbol=°
  1559. if "%symbolnum%" == "177" set symbol=±
  1560. if "%symbolnum%" == "178" set symbol=²
  1561. if "%symbolnum%" == "179" set symbol=³
  1562. if "%symbolnum%" == "180" set symbol=´
  1563. if "%symbolnum%" == "181" set symbol=µ
  1564. if "%symbolnum%" == "182" set symbol=¶
  1565. if "%symbolnum%" == "183" set symbol=·
  1566. if "%symbolnum%" == "184" set symbol=¸
  1567. if "%symbolnum%" == "185" set symbol=¹
  1568. if "%symbolnum%" == "186" set symbol=º
  1569. if "%symbolnum%" == "187" set symbol=»
  1570. if "%symbolnum%" == "188" set symbol=¼
  1571. if "%symbolnum%" == "189" set symbol=½
  1572. if "%symbolnum%" == "190" set symbol=¾
  1573. if "%symbolnum%" == "191" set symbol=¿
  1574. if "%symbolnum%" == "192" set symbol=À
  1575. if "%symbolnum%" == "193" set symbol=Á
  1576. if "%symbolnum%" == "194" set symbol=Â
  1577. if "%symbolnum%" == "195" set symbol=Ã
  1578. if "%symbolnum%" == "196" set symbol=Ä
  1579. if "%symbolnum%" == "197" set symbol=Å
  1580. if "%symbolnum%" == "198" set symbol=Æ
  1581. if "%symbolnum%" == "199" set symbol=Ç
  1582. if "%symbolnum%" == "200" set symbol=È
  1583. if "%symbolnum%" == "201" set symbol=É
  1584. if "%symbolnum%" == "202" set symbol=Ê
  1585. if "%symbolnum%" == "203" set symbol=Ë
  1586. if "%symbolnum%" == "204" set symbol=Ì
  1587. if "%symbolnum%" == "205" set symbol=Í
  1588. if "%symbolnum%" == "206" set symbol=Î
  1589. if "%symbolnum%" == "207" set symbol=Ï
  1590. if "%symbolnum%" == "208" set symbol=Ð
  1591. if "%symbolnum%" == "209" set symbol=Ñ
  1592. if "%symbolnum%" == "210" set symbol=Ò
  1593. if "%symbolnum%" == "211" set symbol=Ó
  1594. if "%symbolnum%" == "212" set symbol=Ô
  1595. if "%symbolnum%" == "213" set symbol=Õ
  1596. if "%symbolnum%" == "214" set symbol=Ö
  1597. if "%symbolnum%" == "215" set symbol=×
  1598. if "%symbolnum%" == "216" set symbol=Ø
  1599. if "%symbolnum%" == "217" set symbol=Ù
  1600. if "%symbolnum%" == "218" set symbol=Ú
  1601. if "%symbolnum%" == "219" set symbol=Û
  1602. if "%symbolnum%" == "220" set symbol=Ü
  1603. if "%symbolnum%" == "221" set symbol=Ý
  1604. if "%symbolnum%" == "222" set symbol=Þ
  1605. if "%symbolnum%" == "223" set symbol=ß
  1606. if "%symbolnum%" == "224" set symbol=à
  1607. if "%symbolnum%" == "225" set symbol=á
  1608. if "%symbolnum%" == "226" set symbol=â
  1609. if "%symbolnum%" == "227" set symbol=ã
  1610. if "%symbolnum%" == "228" set symbol=ä
  1611. if "%symbolnum%" == "229" set symbol=å
  1612. if "%symbolnum%" == "230" set symbol=æ
  1613. if "%symbolnum%" == "231" set symbol=ç
  1614. if "%symbolnum%" == "232" set symbol=è
  1615. if "%symbolnum%" == "233" set symbol=é
  1616. if "%symbolnum%" == "234" set symbol=ê
  1617. if "%symbolnum%" == "235" set symbol=ë
  1618. if "%symbolnum%" == "236" set symbol=ì
  1619. if "%symbolnum%" == "237" set symbol=í
  1620. if "%symbolnum%" == "238" set symbol=î
  1621. if "%symbolnum%" == "239" set symbol=ï
  1622. if "%symbolnum%" == "240" set symbol=ð
  1623. if "%symbolnum%" == "241" set symbol=ñ
  1624. if "%symbolnum%" == "242" set symbol=ò
  1625. if "%symbolnum%" == "243" set symbol=ó
  1626. if "%symbolnum%" == "244" set symbol=ô
  1627. if "%symbolnum%" == "245" set symbol=õ
  1628. if "%symbolnum%" == "246" set symbol=ö
  1629. if "%symbolnum%" == "247" set symbol=÷
  1630. if "%symbolnum%" == "248" set symbol=ø
  1631. if "%symbolnum%" == "249" set symbol=ù
  1632. if "%symbolnum%" == "250" set symbol=ú
  1633. if "%symbolnum%" == "251" set symbol=û
  1634. if "%symbolnum%" == "252" set symbol=ü
  1635. if "%symbolnum%" == "253" set symbol=ý
  1636. if "%symbolnum%" == "254" set symbol=þ
  1637. exit /b
  1638.  
  1639. :symbolecho
  1640. echo.
  1641. echo 1:  2:  3:  4:  5:  6:  11: 12:
  1642. echo.
  1643. echo 14:  15:  16:  17:  18:  19:  20:  21: 
  1644. echo.
  1645. echo 22:  23:  24:  25:  27:  28:  29:  30: 
  1646. echo.
  1647. echo 31: 
  1648. echo.
  1649. echo Characters 32-126 can be accessed via keyboard.
  1650. echo.
  1651. echo.
  1652. echo 127:  128: € 129:  130: ‚ 131: ƒ 132: „ 133: … 134: †
  1653. echo.
  1654. echo 135: ‡ 136: ˆ 137: ‰ 138: Š 139: ‹ 140: Œ 141:  142: Ž
  1655. echo.
  1656. echo 143:  144:  145: ‘ 146: ’ 147: “ 148: ” 149: • 150: –
  1657. echo.
  1658. echo 151: — 152: ˜ 153: ™ 154: š 155: › 156: œ 157:  158: ž
  1659. echo.
  1660. echo 159: Ÿ 160:   161: ¡ 162: ¢ 163: £ 164: ¤ 165: ¥ 166: ¦
  1661. echo.
  1662. echo 167: § 168: ¨ 169: © 170: ª 171: « 172: ¬ 173: ­ 174: ®
  1663. echo.
  1664. echo 175: ¯ 176: ° 177: ± 178: ² 179: ³ 180: ´ 181: µ 182: ¶
  1665. echo.
  1666. echo 183: · 184: ¸ 185: ¹ 186: º 187: » 188: ¼ 189: ½ 190: ¾
  1667. echo.
  1668. echo 191: ¿ 192: À 193: Á 194: Â 195: Ã 196: Ä 197: Å 198: Æ
  1669. echo.
  1670. echo 199: Ç 200: È 201: É 202: Ê 203: Ë 204: Ì 205: Í 206: Î
  1671. echo.
  1672. echo 207: Ï 208: Ð 209: Ñ 210: Ò 211: Ó 212: Ô 213: Õ 214: Ö
  1673. echo.
  1674. echo 215: × 216: Ø 217: Ù 218: Ú 219: Û 220: Ü 221: Ý 222: Þ
  1675. echo.
  1676. echo 223: ß 224: à 225: á 226: â 227: ã 228: ä 229: å 230: æ
  1677. echo.
  1678. echo 231: ç 232: è 233: é 234: ê 235: ë 236: ì 237: í 238: î
  1679. echo.
  1680. echo 239: ï 240: ð 241: ñ 242: ò 243: ó 244: ô 245: õ 246: ö
  1681. echo.
  1682. echo 247: ÷ 248: ø 249: ù 250: ú 251: û 252: ü 253: ý 254: þ
  1683. echo.
  1684. echo.
  1685. exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement