Advertisement
jasserdefyx

Jason Jaguar OS Full

May 10th, 2019
1,046
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 122.39 KB | None | 0 0
  1. @echo off
  2. :startup
  3. cls
  4. color 0a
  5. title Jason Jaguar OS ver= 1.0.0
  6. pause
  7. echo Booting Drive Function..
  8. pause
  9. cls
  10. echo Finding Kernel.........
  11. echo Kernel Found! Booting Jason Jaguar OS
  12. pause
  13. echo Hello this os is customized to your liking.
  14. echo all you need is in this OS. just use it
  15. pause
  16.  
  17. cls
  18. echo what is your name?
  19. set/p name=
  20. echo.
  21. cls
  22. echo HELLO! %name%
  23. echo.
  24. pause
  25.  
  26. :menu
  27. cls
  28. color 0a
  29. Title menu
  30. echo -------------------------------------------
  31. echo What Would You Like To Do? Type the number.
  32. echo -------------------------------------------
  33. echo.
  34. echo ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  35. echo 1.System Info 2.Reboot Code 3.Date and time 4.antivirus 5.play game 6.Notepad 7.Internet Browser 8.RD Section 9.WAR!!! 10.Calculator 11.Tetris 1.0 12.The oregon trail 13.Exit 14.Chess 15.Poketrion force
  36. echo ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  37.  
  38. set /p input=
  39. if %input% == 1 goto info
  40. if %input% == 2 goto reboot
  41. if %input% == 3 goto date
  42. if %input% == 4 goto antivirus
  43. if %input% == 5 goto play game
  44. if %input% == 6 goto notepad
  45. if %input% == 7 goto browser
  46. if %input% == 8 goto eggo
  47. if %input% == 9 goto cyan
  48. if %input% == 10 goto calc
  49. if %input% == 11 goto tetris
  50. if %input% == 12 goto trail
  51. if %input% == 13 goto exit
  52. if %input% == 14 goto chess
  53. if %input% == 15 goto master
  54.  
  55. :info
  56.  
  57. cls
  58. echo.=======================
  59. echo Jason Jaguar__OS_
  60. echo.=======================
  61. echo DETAILS
  62. echo.
  63. echo VERSION = 1.0.0
  64.  
  65. if %os%==Windows_NT goto WINNT
  66. goto NOCON
  67.  
  68. :WINNT
  69. echo .Using a Windows NT based system
  70. echo ..%computername%
  71.  
  72. REM set variables
  73. set system=
  74. set manufacturer=
  75. set model=
  76. set serialnumber=
  77. set osname=
  78. set sp=
  79. setlocal ENABLEDELAYEDEXPANSION
  80. set "volume=C:"
  81. set totalMem=
  82. set availableMem=
  83. set usedMem=
  84.  
  85. echo Getting data [Computer: %computername%]...
  86. echo Please Wait....
  87.  
  88. REM Get Computer Name
  89. FOR /F "tokens=2 delims='='" %%A in ('wmic OS Get csname /value') do SET system=%%A
  90.  
  91. REM Get Computer Manufacturer
  92. FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Manufacturer /value') do SET manufacturer=%%A
  93.  
  94. REM Get Computer Model
  95. FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem Get Model /value') do SET model=%%A
  96.  
  97. REM Get Computer Serial Number
  98. FOR /F "tokens=2 delims='='" %%A in ('wmic Bios Get SerialNumber /value') do SET serialnumber=%%A
  99.  
  100. REM Get Computer OS
  101. FOR /F "tokens=2 delims='='" %%A in ('wmic os get Name /value') do SET osname=%%A
  102. FOR /F "tokens=1 delims='|'" %%A in ("%osname%") do SET osname=%%A
  103.  
  104. REM Get Computer OS SP
  105. FOR /F "tokens=2 delims='='" %%A in ('wmic os get ServicePackMajorVersion /value') do SET sp=%%A
  106.  
  107. REM Get Memory
  108. FOR /F "tokens=4" %%a in ('systeminfo ^| findstr Physical') do if defined totalMem (set availableMem=%%a) else (set totalMem=%%a)
  109. set totalMem=%totalMem:,=%
  110. set availableMem=%availableMem:,=%
  111. set /a usedMem=totalMem-availableMem
  112.  
  113. FOR /f "tokens=1*delims=:" %%i IN ('fsutil volume diskfree %volume%') DO (
  114. SET "diskfree=!disktotal!"
  115. SET "disktotal=!diskavail!"
  116. SET "diskavail=%%j"
  117. )
  118. FOR /f "tokens=1,2" %%i IN ("%disktotal% %diskavail%") DO SET "disktotal=%%i"& SET "diskavail=%%j"
  119.  
  120. echo done!
  121.  
  122. echo --------------------------------------------
  123. echo System Name: %system%
  124. echo Manufacturer: %manufacturer%
  125. echo Model: %model%
  126. echo Serial Number: %serialnumber%
  127. echo Operating System: %osname%
  128. echo C:\ Total: %disktotal:~0,-9% GB
  129. echo C:\ Avail: %diskavail:~0,-9% GB
  130. echo Total Memory: %totalMem%
  131. echo Used Memory: %usedMem%
  132. echo Computer Processor: %processor_architecture%
  133. echo Service Pack: %sp%
  134. echo --------------------------------------------
  135.  
  136. REM Generate file
  137. SET file="%~dp0%computername%.txt"
  138. echo -------------------------------------------- >> %file%
  139. echo Details For: %system% >> %file%
  140. echo Manufacturer: %manufacturer% >> %file%
  141. echo Model: %model% >> %file%
  142. echo Serial Number: %serialnumber% >> %file%
  143. echo Operating System: %osname% >> %file%
  144. echo C:\ Total: %disktotal:~0,-9% GB >> %file%
  145. echo C:\ Avail: %diskavail:~0,-9% GB >> %file%
  146. echo Total Memory: %totalMem% >> %file%
  147. echo Used Memory: %usedMem% >> %file%
  148. echo Computer Processor: %processor_architecture% >> %file%
  149. echo Service Pack: %sp% >> %file%
  150. echo -------------------------------------------- >> %file%
  151. pause
  152. cls
  153. echo.
  154. echo Kernel ver = 5.6.7
  155. echo.========================
  156. echo @Copyright P.inc
  157. echo.========================
  158. echo.
  159. echo -----------------------------
  160. echo Unlock key for reboot is 7742
  161. echo -----------------------------
  162. echo Wanna check for update?
  163.  
  164. echo 1. to check for update
  165. echo 2. Menu
  166.  
  167. set /p check=
  168.  
  169. if %check% == 1 goto update
  170.  
  171. if %check% == 2 goto menu
  172.  
  173.  
  174.  
  175.  
  176.  
  177. :update
  178. cls
  179.  
  180. echo Checking for new version.............
  181. echo.
  182. pause
  183. cls
  184. echo ---------------------------
  185. echo There are no new updates...
  186. echo ---------------------------
  187. pause
  188. goto menu
  189.  
  190. :reboot
  191. set /p protection=Enter password:
  192. if %protection% == 7742 goto correct
  193. if not %protection% == 7742 goto incorrect
  194. :correct
  195. cls
  196. echo Correct pass!
  197. pause
  198. goto memo
  199. :incorrect
  200. cls
  201. echo Incorrect pass!
  202. pause
  203. exit
  204.  
  205. :memo
  206. echo System reboot starting...
  207. cls
  208. echo Rebooting.
  209. ping Localhost -n 2 >nul
  210. cls
  211. echo Rebooting...
  212. ping Localhost -n 2 >nul
  213. cls
  214. echo System reboot half COMPLETE!
  215. pause
  216. goto startup
  217.  
  218.  
  219. :date
  220. cls
  221. for /F "tokens=2" %%i in ('date /t') do set mydate=%%i
  222. set mytime=%time%
  223. echo Current time is %mydate%:%mytime%
  224. pause
  225. goto menu
  226.  
  227. :antivirus
  228. cls
  229. echo Deleting Virus.
  230. ping Localhost -n 2 >nul
  231. cls
  232. echo Deleting Virus...
  233. ping Localhost -n 2 >nul
  234. cls
  235. echo COMPLETE!
  236. echo You have no viruses anymore
  237. pause
  238. goto menu
  239.  
  240. :play game
  241. Color 02
  242. title Zombie Attack
  243. cls
  244. echo Welcome to Zombie Attack
  245. echo In this game you have to fight Zombies
  246. echo (1) Begin
  247. echo (2) Exit
  248. set /p choice1=Choose-
  249.  
  250. if %choice1% == 1 goto g
  251. if %choice1% == 2 goto c
  252.  
  253. :g
  254. cls
  255. title Battle 1
  256. pause
  257. cls
  258. echo You find a strange man in the woods,
  259. echo you think that he is just a man, but really, he is a Zombie!
  260. Color F9
  261. pause
  262. echo Entering Battle 1...
  263. Color 01
  264. pause
  265. goto h
  266.  
  267. :h
  268. cls
  269. title Battle 1
  270. echo Zombie used Bite!
  271. echo Your health fell by 75!
  272. echo You have 3 attacks.
  273. echo (1) Punch
  274. echo (2) Slap
  275. echo (3) Kick in the Butt
  276. set /p choice3=Choose-
  277.  
  278. if %choice3% == 1 goto i
  279. if %choice3% == 2 goto j
  280. if %choice3% == 3 goto k
  281.  
  282. :i
  283. cls
  284. Color 07
  285. echo BAM!
  286. pause
  287. echo You used Punch!
  288. Color 01
  289. echo Zombie's health fell by -14hp
  290. echo Congratulations!
  291. echo You beat the Zombie!
  292. echo Thanks for playing!
  293. pause
  294. Color 0a
  295. goto menu
  296.  
  297. :notepad
  298. cls
  299. echo Ready?
  300. pause
  301. Notepad Untitled
  302. pause
  303. goto menu
  304.  
  305. :browser
  306. cls
  307. title connection error
  308. echo Your Internet Connection seems to not work. Would you like to Reconnect?
  309.  
  310. set /p input=
  311. if %input% == yes goto recon
  312. if %input% == no goto es
  313.  
  314. :recon
  315. title Rebooting Internet
  316. echo Reconnecting.
  317. ping Localhost -n 2 >nul
  318. cls
  319. echo Reconnecting...
  320. ping Localhost -n 2 >nul
  321. cls
  322. echo COMPLETE!
  323. echo Trying again...
  324. pause
  325. goto online
  326.  
  327. :es
  328. title ummm....
  329. echo ummm..... then why go on the internet?
  330. pause
  331. goto menu
  332.  
  333. :online
  334. title internet
  335. echo -----------------------------------------------
  336. echo What would you like to choose? type the number!
  337. echo -----------------------------------------------
  338. echo.
  339. echo ------------------------------------------------------------------
  340. echo 1.Youtube 2.Online Chat 3.Manage NiceHash Account 4.Beyblade Burst
  341. echo ------------------------------------------------------------------
  342.  
  343. set /p input=
  344. if %input% == 1 goto Y
  345. if %input% == 2 goto O
  346. if %input% == 3 goto M
  347. if %input% == 4 goto B
  348.  
  349. :Y
  350. echo OK
  351. pause
  352. start Opera https://Youtube.com
  353. pause
  354. goto menu
  355.  
  356. :O
  357. echo OK
  358. pause
  359. start Opera https://hangouts.google.com
  360. pause
  361. goto menu
  362.  
  363. :M
  364. echo OK
  365. pause
  366. start Opera https://www.nicehash.com/dashboard
  367. pause
  368. goto menu
  369.  
  370. :B
  371. echo OK
  372. pause
  373. start Opera https://scratch.mit.edu/projects/162984588/#player
  374. pause
  375. goto menu
  376.  
  377. :eggo
  378. cls
  379. title Jason Jaguar Inventories llc. R&D SOFTWARE UNIT MANUFACTURES 1.0 Beta
  380. pause
  381. cls
  382. echo Starting Bootup
  383. pause
  384. cls
  385. echo Booting second Drive Function
  386. pause
  387. Notepad Untitled
  388. pause
  389. goto menu
  390.  
  391. :cyan
  392. title Jason Jaguar Inventories llc. R&D SOFTWARE UNIT MANUFACTURES 1.0 Beta
  393. color 0c
  394. title TOTAL WAR!!!
  395. echo.
  396. echo Welcome to Total War, created by Jason Haude.
  397. echo.
  398. pause
  399. :players
  400. cls
  401. set player=
  402. set replay=
  403. echo.
  404. set /p player=Select 1 or 2 player mode:
  405. if '%player%'=='1' goto name
  406. if '%player%'=='2' goto p1name
  407. goto players
  408. :name
  409. cls
  410. set name=
  411. echo.
  412. set /p name=Please type in your name (One word):
  413. if '%name%'=='' goto name
  414. rem Easter Egg:
  415. if '%name%'=='Jason' goto win
  416. :country
  417. cls
  418. set country=
  419. set enemy=
  420. echo.
  421. echo Welcome %name%!
  422. echo.
  423. set /p country=Choose your country; USA, Russia, or Canada:
  424. if '%country%'=='usa' goto enemy1
  425. if '%country%'=='USA' goto enemy1
  426. if '%country%'=='Usa' goto enemy1
  427. if '%country%'=='Russia' goto enemy2
  428. if '%country%'=='russia' goto enemy2
  429. if '%country%'=='canada' goto enemy3
  430. if '%country%'=='Canada' goto enemy3
  431. goto country
  432. :enemy1
  433. set country=USA
  434. goto enemy
  435. :enemy2
  436. set country=Russia
  437. goto enemy
  438. :enemy3
  439. set country=Canada
  440. :enemy
  441. set /a cpucountryrand=%random% %%5 +1
  442. if '%cpucountryrand%'=='0' goto enemy
  443. if '%cpucountryrand%'=='1' set enemy=Russia
  444. if '%cpucountryrand%'=='2' set enemy=USA
  445. if '%cpucountryrand%'=='3' set enemy=Canada
  446. if '%cpucountryrand%'=='4' goto enemy
  447. if '%cpucountryrand%'=='5' goto enemy
  448. if '%enemy%'=='%country%' goto enemy
  449. :begin
  450. set user=1000
  451. set cpu=1000
  452. set nuke=1
  453. set airstrike=2
  454. set missiles=3
  455. set cpunuke=1
  456. set cpuairstrike=2
  457. set cpumissiles=3
  458. :gameplay
  459. cls
  460. set move=
  461. set choice=
  462. set cpucount=0
  463. echo.
  464. echo %name%, your turn.
  465. echo %country%: %user% DEF
  466. echo Options:
  467. echo %enemy%: %cpu% DEF
  468. echo 1. Fire NUKE x %nuke%
  469. echo.
  470. echo 2. Fire Airstrike x %airstrike%
  471. echo.
  472. echo 3. Fire Missiles x %missiles%
  473. echo.
  474. echo 4. Surrender
  475. echo.
  476. echo 5. Do nothing
  477. echo.
  478. set /p move=Select your option:
  479. if '%move%'=='1' goto nuke
  480. if '%move%'=='2' goto airstrike
  481. if '%move%'=='3' goto missiles
  482. if '%move%'=='4' goto surrender
  483. if '%move%'=='5' goto cpu1
  484. goto gameplay
  485. :nuke
  486. cls
  487. if '%nuke%'=='0' goto nonuke
  488. echo.
  489. echo %name% has fired a NUKE headed towards the %enemy%!
  490. echo.
  491. ping localhost -n 4 >nul
  492. echo Hit!
  493. echo.
  494. echo %enemy% has lost 400 DEF!
  495. echo.
  496. pause
  497. set /a cpu=%cpu% - 400
  498. set nuke=0
  499. if '%cpu%'=='0' goto win
  500. if '%cpu%'=='-100' goto win
  501. if '%cpu%'=='-200' goto win
  502. if '%cpu%'=='-300' goto win
  503. goto cpu1
  504. :nonuke
  505. echo.
  506. echo You can't use a nuke since you don't have any more left!
  507. echo.
  508. pause
  509. goto gameplay
  510. :airstrike
  511. cls
  512. if '%airstrike%'=='0' goto noairstrike
  513. echo.
  514. echo %name% has fired an airstrike on the %enemy%!
  515. echo.
  516. ping localhost -n 4 >nul
  517. echo Hit!
  518. echo.
  519. echo %enemy% has lost 300 DEF!
  520. echo.
  521. pause
  522. set /a cpu=%cpu% - 300
  523. set /a airstrike=%airstrike% - 1
  524. if '%cpu%'=='0' goto win
  525. if '%cpu%'=='-100' goto win
  526. if '%cpu%'=='-200' goto win
  527. if '%cpu%'=='-300' goto win
  528. goto cpu1
  529. :noairstrike
  530. echo.
  531. echo You can't use an airstrike since you don't have any more left!
  532. echo.
  533. pause
  534. goto gameplay
  535. :missiles
  536. cls
  537. if '%missiles%'=='0' goto nomissiles
  538. echo.
  539. echo %name% has fired multiple missiles headed towards the %enemy%!
  540. echo.
  541. ping localhost -n 4 >nul
  542. echo Hit!
  543. echo.
  544. echo %enemy% has lost 200 DEF!
  545. echo.
  546. pause
  547. set /a cpu=%cpu% - 200
  548. set /a missiles=%missiles% - 1
  549. if '%cpu%'=='0' goto win
  550. if '%cpu%'=='-100' goto win
  551. if '%cpu%'=='-200' goto win
  552. if '%cpu%'=='-300' goto win
  553. goto cpu1
  554. :nomissiles
  555. echo.
  556. echo You can't use missiles since you don't have any more left!
  557. echo.
  558. pause
  559. goto gameplay
  560. :surrender
  561. cls
  562. echo.
  563. echo "We may have lost the war, but we still have our dignity..."
  564. echo.
  565. pause
  566. :end
  567. cls
  568. echo.
  569. echo "We may have lost the war, but we still have our dignity..."
  570. echo.
  571. set /p replay=Type anything to replay the game. Type 'x' to exit:
  572. if '%replay%'=='x' goto suggest
  573. if '%replay%'=='' goto end
  574. goto players
  575. :win
  576. cls
  577. echo.
  578. echo You have won Total War!!!
  579. echo.
  580. pause
  581. :win2
  582. cls
  583. echo.
  584. echo You have won Total War!!!
  585. echo.
  586. set /p replay=Type anything to replay the game. Type 'x' to exit:
  587. if '%replay%'=='x' goto suggest
  588. if '%replay%'=='' goto win2
  589. goto players
  590. :cpu1
  591. cls
  592. set /a cpucount=%cpucount% + 1
  593. if '%cpucount%'=='10' goto cpu2
  594. echo.
  595. echo My turn.
  596. echo %country%: %user% DEF
  597. echo Options:
  598. echo %enemy%: %cpu% DEF
  599. echo 1. Fire NUKE x %cpunuke%
  600. echo.
  601. echo 2. Fire Airstrike x %cpuairstrike%
  602. echo.
  603. echo 3. Fire Missiles x %cpumissiles%
  604. echo.
  605. echo 4. Surrender
  606. echo.
  607. echo 5. Do nothing
  608. echo.
  609. echo Select your option:/
  610. ping localhost -n 1 >nul
  611. ping localhost -n 1 >nul
  612. ping localhost -n 1 >nul
  613. ping localhost -n 1 >nul
  614. cls
  615. echo.
  616. echo My turn.
  617. echo %country%: %user% DEF
  618. echo Options:
  619. echo %enemy%: %cpu% DEF
  620. echo 1. Fire NUKE x %cpunuke%
  621. echo.
  622. echo 2. Fire Airstrike x %cpuairstrike%
  623. echo.
  624. echo 3. Fire Missiles x %cpumissiles%
  625. echo.
  626. echo 4. Surrender
  627. echo.
  628. echo 5. Do nothing
  629. echo.
  630. echo Select your option:-
  631. ping localhost -n 1 >nul
  632. ping localhost -n 1 >nul
  633. ping localhost -n 1 >nul
  634. ping localhost -n 1 >nul
  635. cls
  636. echo.
  637. echo My turn.
  638. echo %country%: %user% DEF
  639. echo Options:
  640. echo %enemy%: %cpu% DEF
  641. echo 1. Fire NUKE x %cpunuke%
  642. echo.
  643. echo 2. Fire Airstrike x %cpuairstrike%
  644. echo.
  645. echo 3. Fire Missiles x %cpumissiles%
  646. echo.
  647. echo 4. Surrender
  648. echo.
  649. echo 5. Do nothing
  650. echo.
  651. echo Select your option:\
  652. ping localhost -n 1 >nul
  653. ping localhost -n 1 >nul
  654. ping localhost -n 1 >nul
  655. ping localhost -n 1 >nul
  656. goto cpu1
  657. :cpu2
  658. cls
  659. set /a choice=%random% %%6
  660. if '%choice%'=='0' goto cpu2
  661. if '%choice%'=='4' goto cpu2
  662. if '%choice%'=='6' goto cpu2
  663. echo.
  664. echo My turn.
  665. echo %country%: %user% DEF
  666. echo Options:
  667. echo %enemy%: %cpu% DEF
  668. echo 1. Fire NUKE x %cpunuke%
  669. echo.
  670. echo 2. Fire Airstrike x %cpuairstrike%
  671. echo.
  672. echo 3. Fire Missiles x %cpumissiles%
  673. echo.
  674. echo 4. Surrender
  675. echo.
  676. echo 5. Do nothing
  677. echo.
  678. echo Select your option:%choice%
  679. ping localhost -n 4 >nul
  680. if '%choice%'=='1' goto cpunuke
  681. if '%choice%'=='2' goto cpuairstrike
  682. if '%choice%'=='3' goto cpumissiles
  683. if '%choice%'=='5' goto gameplay
  684. :cpunuke
  685. cls
  686. if '%cpunuke%'=='0' goto nocpunuke
  687. echo.
  688. echo I have fired a NUKE headed towards the %country%!
  689. echo.
  690. ping localhost -n 4 >nul
  691. echo Hit!
  692. echo.
  693. echo %country% has lost 400 DEF!
  694. echo.
  695. ping localhost -n 4 >nul
  696. set /a user=%user% - 400
  697. set cpunuke=0
  698. if '%user%'=='0' goto cpuwin
  699. if '%user%'=='-100' goto cpuwin
  700. if '%user%'=='-200' goto cpuwin
  701. if '%user%'=='-300' goto cpuwin
  702. goto gameplay
  703. :nocpunuke
  704. echo.
  705. echo I can't use a nuke since I don't have any more left!
  706. echo.
  707. ping localhost -n 4 >nul
  708. set cpucount=0
  709. goto cpu1
  710. :cpuairstrike
  711. cls
  712. if '%cpuairstrike%'=='0' goto nocpuairstrike
  713. echo.
  714. echo I have fired an airstrike on the %country%!
  715. echo.
  716. ping localhost -n 4 >nul
  717. echo Hit!
  718. echo.
  719. echo %country% has lost 300 DEF!
  720. echo.
  721. ping localhost -n 4 >nul
  722. set /a user=%user% - 300
  723. set /a cpuairstrike=%cpuairstrike% - 1
  724. if '%user%'=='0' goto cpuwin
  725. if '%user%'=='-100' goto cpuwin
  726. if '%user%'=='-200' goto cpuwin
  727. if '%user%'=='-300' goto cpuwin
  728. goto gameplay
  729. :nocpuairstrike
  730. echo.
  731. echo I can't use an airstrike since I don't have any more left!
  732. echo.
  733. ping localhost -n 4 >nul
  734. set cpucount=0
  735. goto cpu1
  736. :cpumissiles
  737. cls
  738. if '%cpumissiles%'=='0' goto nocpumissiles
  739. echo.
  740. echo I have fired multiple missiles headed towards the %country%!
  741. echo.
  742. ping localhost -n 4 >nul
  743. echo Hit!
  744. echo.
  745. echo %country% has lost 200 DEF!
  746. echo.
  747. ping localhost -n 4 >nul
  748. set /a user=%user% - 200
  749. set /a cpumissiles=%cpumissiles% - 1
  750. if '%user%'=='0' goto cpuwin
  751. if '%user%'=='-100' goto cpuwin
  752. if '%user%'=='-200' goto cpuwin
  753. if '%user%'=='-300' goto cpuwin
  754. goto gameplay
  755. :nocpumissiles
  756. echo.
  757. echo I can't use missiles since I don't have any more left!
  758. echo.
  759. ping localhost -n 4 >nul
  760. set cpucount=0
  761. goto cpu1
  762. :cpuwin
  763. cls
  764. echo.
  765. echo It was a long battle today. I have emerged victorious, even though you tried
  766. echo very well.
  767. echo.
  768. pause
  769. :cpuwin2
  770. cls
  771. echo.
  772. echo It was a long battle today. I have emerged victorious, even though you tried
  773. echo very well.
  774. echo.
  775. set /p replay=Type anything to replay the game. Type 'x' to exit:
  776. if '%replay%'=='x' goto suggest
  777. if '%replay%'=='' goto cpuwin2
  778. goto players
  779. :p1name
  780. cls
  781. set p1name=
  782. echo.
  783. set /p p1name=Player 1, please type in your name (One word):
  784. if '%p1name%'=='' goto p1name
  785. :p2name
  786. cls
  787. set p2name=
  788. echo.
  789. set /p p2name=Player 2, please type in your name (One word):
  790. if '%p2name%'=='%p1name%' goto p2name
  791. if '%p2name%'=='' goto p2name
  792. rem Easter Egg:
  793. if '%p1name%'=='Vincent' goto p1win
  794. if '%p2name%'=='Vincent' goto p2win
  795. :p1country
  796. cls
  797. set p1country=
  798. echo.
  799. echo Welcome %p1name%!
  800. echo.
  801. set /p p1country=Choose your country; USA, Russia, or Canada:
  802. if '%p1country%'=='usa' goto p1country1
  803. if '%p1country%'=='USA' goto p1country1
  804. if '%p1country%'=='Usa' goto p1country1
  805. if '%p1country%'=='Russia' goto p1country2
  806. if '%p1country%'=='russia' goto p1country2
  807. if '%p1country%'=='canada' goto p1country3
  808. if '%p1country%'=='Canada' goto p1country3
  809. goto p1country
  810. :p1country1
  811. set p1country=USA
  812. goto p2country
  813. :p1country2
  814. set p1country=Russia
  815. goto p2country
  816. :p1country3
  817. set p1country=Canada
  818. :p2country
  819. cls
  820. set p2country=
  821. echo.
  822. echo Welcome %p2name%!
  823. echo.
  824. set /p p2country=Choose your country; USA, Russia, or Canada:
  825. if '%p2country%'=='%p1country%' goto na
  826. if '%p2country%'=='usa' goto p2country1
  827. if '%p2country%'=='USA' goto p2country1
  828. if '%p2country%'=='Usa' goto p2country1
  829. if '%p2country%'=='Russia' goto p2country2
  830. if '%p2country%'=='russia' goto p2country2
  831. if '%p2country%'=='canada' goto p2country3
  832. if '%p2country%'=='Canada' goto p2country3
  833. goto p2country
  834. :na
  835. cls
  836. echo.
  837. echo You can't choose %p1country% because %p1name% has already chosen it.
  838. pause >nul
  839. goto p2country
  840. :p2country1
  841. set p2country=USA
  842. goto begin2
  843. :p2country2
  844. set p2country=Russia
  845. goto begin2
  846. :p2country3
  847. set p2country=Canada
  848. :begin2
  849. set p1health=1000
  850. set p2health=1000
  851. set p1nuke=1
  852. set p1airstrike=2
  853. set p1missiles=3
  854. set p2nuke=1
  855. set p2airstrike=2
  856. set p2missiles=3
  857. :p1gameplay
  858. cls
  859. set move=
  860. set choice=
  861. echo.
  862. echo %p1name%, your turn.
  863. echo %p1country%: %p1health% DEF
  864. echo Options:
  865. echo %p2country%: %p2health% DEF
  866. echo 1. Fire NUKE x %p1nuke%
  867. echo.
  868. echo 2. Fire Airstrike x %p1airstrike%
  869. echo.
  870. echo 3. Fire Missiles x %p1missiles%
  871. echo.
  872. echo 4. Surrender
  873. echo.
  874. echo 5. Do nothing
  875. echo.
  876. set /p move=Select your option:
  877. if '%move%'=='1' goto p1nuke
  878. if '%move%'=='2' goto p1airstrike
  879. if '%move%'=='3' goto p1missiles
  880. if '%move%'=='4' goto p1surrender
  881. if '%move%'=='5' goto p2gameplay
  882. goto p1gameplay
  883. :p1nuke
  884. cls
  885. if '%p1nuke%'=='0' goto nop1nuke
  886. echo.
  887. echo %p1name% has fired a NUKE headed towards %p2country%!
  888. echo.
  889. ping localhost -n 4 >nul
  890. echo Hit!
  891. echo.
  892. echo %p2country% has lost 400 DEF!
  893. echo.
  894. pause
  895. set /a p2health=%p2health% - 400
  896. set p1nuke=0
  897. if '%p2health%'=='0' goto p1win
  898. if '%p2health%'=='-100' goto p1win
  899. if '%p2health%'=='-200' goto p1win
  900. if '%p2health%'=='-300' goto p1win
  901. goto p2gameplay
  902. :nop1nuke
  903. echo.
  904. echo You can't use a nuke since you don't have any more left!
  905. echo.
  906. pause
  907. goto p1gameplay
  908. :p1airstrike
  909. cls
  910. if '%p1airstrike%'=='0' goto nop1airstrike
  911. echo.
  912. echo %p1name% has fired an airstrike on %p2country%!
  913. echo.
  914. ping localhost -n 4 >nul
  915. echo Hit!
  916. echo.
  917. echo %p2country% has lost 300 DEF!
  918. echo.
  919. pause
  920. set /a p2health=%p2health% - 300
  921. set /a p1airstrike=%p1airstrike% - 1
  922. if '%p2health%'=='0' goto p1win
  923. if '%p2health%'=='-100' goto p1win
  924. if '%p2health%'=='-200' goto p1win
  925. if '%p2health%'=='-300' goto p1win
  926. goto p2gameplay
  927. :nop1airstrike
  928. echo.
  929. echo You can't use an airstrike since you don't have any more left!
  930. echo.
  931. pause
  932. goto p1gameplay
  933. :p1missiles
  934. cls
  935. if '%p1missiles%'=='0' goto nop1missiles
  936. echo.
  937. echo %p1name% has fired multiple missiles headed towards %p2country%!
  938. echo.
  939. ping localhost -n 4 >nul
  940. echo Hit!
  941. echo.
  942. echo %p2country% has lost 200 DEF!
  943. echo.
  944. pause
  945. set /a p2health=%p2health% - 200
  946. set /a p1missiles=%p1missiles% - 1
  947. if '%p2health%'=='0' goto p1win
  948. if '%p2health%'=='-100' goto p1win
  949. if '%p2health%'=='-200' goto p1win
  950. if '%p2health%'=='-300' goto p1win
  951. goto p2gameplay
  952. :nop1missiles
  953. echo.
  954. echo You can't use missiles since you don't have any more left!
  955. echo.
  956. pause
  957. goto p1gameplay
  958. :p1surrender
  959. cls
  960. echo.
  961. echo %p2name% has won Total War!!!
  962. echo.
  963. pause
  964. :p1surrender2
  965. cls
  966. echo.
  967. echo %p2name% has won Total War!!!
  968. echo.
  969. set /p replay=Type anything to replay the game. Type 'x' to exit:
  970. if '%replay%'=='x' goto suggest
  971. if '%replay%'=='' goto p1surrender2
  972. goto players
  973. :p1win
  974. cls
  975. echo.
  976. echo %p1name% has won Total War!!!
  977. echo.
  978. pause
  979. :p1win2
  980. cls
  981. echo.
  982. echo %p1name% has won Total War!!!
  983. echo.
  984. set /p replay=Type anything to replay the game. Type 'x' to exit:
  985. if '%replay%'=='x' goto suggest
  986. if '%replay%'=='' goto p1win2
  987. goto players
  988. :p2gameplay
  989. cls
  990. set move=
  991. set choice=
  992. echo.
  993. echo %p2name%, your turn.
  994. echo %p2country%: %p2health% DEF
  995. echo Options:
  996. echo %p1country%: %p1health% DEF
  997. echo 1. Fire NUKE x %p2nuke%
  998. echo.
  999. echo 2. Fire Airstrike x %p2airstrike%
  1000. echo.
  1001. echo 3. Fire Missiles x %p2missiles%
  1002. echo.
  1003. echo 4. Surrender
  1004. echo.
  1005. echo 5. Do nothing
  1006. echo.
  1007. set /p move=Select your option:
  1008. if '%move%'=='1' goto p2nuke
  1009. if '%move%'=='2' goto p2airstrike
  1010. if '%move%'=='3' goto p2missiles
  1011. if '%move%'=='4' goto p2surrender
  1012. if '%move%'=='5' goto p1gameplay
  1013. goto p2gameplay
  1014. :p2nuke
  1015. cls
  1016. if '%p2nuke%'=='0' goto nop2nuke
  1017. echo.
  1018. echo %p2name% has fired a NUKE headed towards %p1country%!
  1019. echo.
  1020. ping localhost -n 4 >nul
  1021. echo Hit!
  1022. echo.
  1023. echo %p1country% has lost 400 DEF!
  1024. echo.
  1025. pause
  1026. set /a p1health=%p1health% - 400
  1027. set p2nuke=0
  1028. if '%p1health%'=='0' goto p2win
  1029. if '%p1health%'=='-100' goto p2win
  1030. if '%p1health%'=='-200' goto p2win
  1031. if '%p1health%'=='-300' goto p2win
  1032. goto p1gameplay
  1033. :nop2nuke
  1034. echo.
  1035. echo You can't use a nuke since you don't have any more left!
  1036. echo.
  1037. pause
  1038. goto p2gameplay
  1039. :p2airstrike
  1040. cls
  1041. if '%p2airstrike%'=='0' goto nop2airstrike
  1042. echo.
  1043. echo %p2name% has fired an airstrike on %p1country%!
  1044. echo.
  1045. ping localhost -n 4 >nul
  1046. echo Hit!
  1047. echo.
  1048. echo %p1country% has lost 300 DEF!
  1049. echo.
  1050. pause
  1051. set /a p1health=%p1health% - 300
  1052. set /a p2airstrike=%p2airstrike% - 1
  1053. if '%p1health%'=='0' goto p2win
  1054. if '%p1health%'=='-100' goto p2win
  1055. if '%p1health%'=='-200' goto p2win
  1056. if '%p1health%'=='-300' goto p2win
  1057. goto p1gameplay
  1058. :nop2airstrike
  1059. echo.
  1060. echo You can't use an airstrike since you don't have any more left!
  1061. echo.
  1062. pause
  1063. goto p2gameplay
  1064. :p2missiles
  1065. cls
  1066. if '%p2missiles%'=='0' goto nop2missiles
  1067. echo.
  1068. echo %p2name% has fired multiple missiles headed towards %p1country%!
  1069. echo.
  1070. ping localhost -n 4 >nul
  1071. echo Hit!
  1072. echo.
  1073. echo %p1country% has lost 200 DEF!
  1074. echo.
  1075. pause
  1076. set /a p1health=%p1health% - 200
  1077. set /a p2missiles=%p2missiles% - 1
  1078. if '%p1health%'=='0' goto p2win
  1079. if '%p1health%'=='-100' goto p2win
  1080. if '%p1health%'=='-200' goto p2win
  1081. if '%p1health%'=='-300' goto p2win
  1082. goto p1gameplay
  1083. :nop2missiles
  1084. echo.
  1085. echo You can't use missiles since you don't have any more left!
  1086. echo.
  1087. pause
  1088. goto p2gameplay
  1089. :p2surrender
  1090. cls
  1091. echo.
  1092. echo %p1name% has won Total War!!!
  1093. echo.
  1094. pause
  1095. :p2surrender2
  1096. cls
  1097. echo.
  1098. echo %p1name% has won Total War!!!
  1099. echo.
  1100. set /p replay=Type anything to replay the game. Type 'x' to exit:
  1101. if '%replay%'=='x' goto suggest
  1102. if '%replay%'=='' goto p2surrender2
  1103. goto players
  1104. :p2win
  1105. cls
  1106. echo.
  1107. echo %p2name% has won Total War!!!
  1108. echo.
  1109. pause
  1110. :p2win2
  1111. cls
  1112. echo.
  1113. echo %p2name% has won Total War!!!
  1114. echo.
  1115. set /p replay=Type anything to replay the game. Type 'x' to exit:
  1116. if '%replay%'=='x' goto suggest
  1117. if '%replay%'=='' goto p2win2
  1118. goto players
  1119. :suggest
  1120. cls
  1121. echo.
  1122. echo Before you leave, can you suggest a country I can add to the file?
  1123. echo.
  1124. set /p suggestion=Suggest a country here:
  1125. if '%suggestion%'=='' goto suggest
  1126. echo %suggestion% >> suggestions.txt
  1127. goto menu
  1128.  
  1129.  
  1130. :calc
  1131. title Calculator
  1132. color 0a
  1133. echo Welcome to The Basic Arithmetic Calculator
  1134. echo Made By Jason Haude
  1135. ping localhost -n 3 >nul
  1136.  
  1137. :LOADING
  1138. cls
  1139. echo Loading.
  1140. ping localhost -n 2 >nul
  1141. cls
  1142. echo Loading..
  1143. ping localhost -n 2 >nul
  1144. cls
  1145. echo Loading...
  1146. ping localhost -n 2 >nul
  1147. cls
  1148. echo Loading....
  1149. ping localhost -n 2 >nul
  1150. cls
  1151. echo Loading.....
  1152. ping localhost -n 2 >nul
  1153. ping localhost -n 2 >nul
  1154. color 0a
  1155. goto STARTp
  1156.  
  1157. :STARTp
  1158. cls
  1159. echo What Type of Math would you like to do?
  1160. echo Add, Subtract, Multiply, or Divide. Or go to menu.
  1161. set /p math=
  1162. IF '%math%' == 'Add' GOTO ADD
  1163. IF '%math%' == 'add' GOTO ADD
  1164. IF '%math%' == 'Subtract' GOTO SUB
  1165. IF '%math%' == 'subtract' GOTO SUB
  1166. IF '%math%' == 'Multiply' GOTO MULTIPLY
  1167. IF '%math%' == 'multiply' GOTO MULTIPLY
  1168. IF '%math%' == 'Divide' GOTO DIVIDE
  1169. IF '%math%' == 'divide' GOTO DIVIDE
  1170. IF '%math%' == 'menu' GOTO menu
  1171. IF '%math%' == 'Menu' GOTO menu
  1172. IF '%math%' == 'MENU' GOTO menu
  1173. Exit
  1174.  
  1175. :ADD
  1176. Cls
  1177. GOTO NUMBERSADD
  1178. pause
  1179. exit
  1180.  
  1181. :SUB
  1182. Cls
  1183. GOTO NUMBERSSUB
  1184. pause
  1185. exit
  1186.  
  1187. :MULTIPLY
  1188. Cls
  1189. GOTO NUMBERSMULTIPLY
  1190. pause
  1191. exit
  1192.  
  1193. :DIVIDE
  1194. Cls
  1195. GOTO NUMBERSDIVIDE
  1196. pause
  1197. exit
  1198.  
  1199. :NUMBERSADD
  1200. echo What is the First Number you would like to Add?
  1201. set /p number1=
  1202. cls
  1203. echo What is the Second Number you would like to Add?
  1204. set /p number2=
  1205. cls
  1206.  
  1207. GOTO ADD2
  1208. exit
  1209.  
  1210. :NUMBERSSUB
  1211. echo What is the First Number you would like to Subtract?
  1212. set /p number1=
  1213. cls
  1214. echo What is the Second Number you would like to Subtract?
  1215. set /p number2=
  1216. cls
  1217. GOTO SUB2
  1218. exit
  1219.  
  1220. :NUMBERSMULTIPLY
  1221. echo What is the First Number you would like to Multiply?
  1222. set /p number1=
  1223. cls
  1224. echo What is the Second Number you would like to Multiply?
  1225. set /p number2=
  1226. cls
  1227. GOTO MULTIPLY2
  1228. exit
  1229.  
  1230. :NUMBERSDIVIDE
  1231. echo What is the First Number you would like to Divide?
  1232. set /p number1=
  1233. cls
  1234. echo What is the Second Number you would like to Divide?
  1235. set /p number2=
  1236. cls
  1237. GOTO DIVIDE2
  1238. exit
  1239.  
  1240. :ADD2
  1241. Set /A result = %number1% + %number2%
  1242. echo The answer is %result%.
  1243. Pause
  1244. GOTO STARTp
  1245. exit
  1246.  
  1247. :SUB2
  1248. Set /A result = %number1% - %number2%
  1249. echo The answer is %result%.
  1250. pause
  1251. GOTO STARTp
  1252. exit
  1253.  
  1254. :MULTIPLY2
  1255. Set /A result = %number1% * %number2%
  1256. echo The answer is %result%.
  1257. pause
  1258. GOTO STARTp
  1259. exit
  1260.  
  1261. :DIVIDE2
  1262. Set /A result = %number1% / %number2%
  1263. echo The answer is %result%.
  1264. pause
  1265. GOTO STARTp
  1266. exit
  1267.  
  1268. :tetris
  1269. @title Tetris v 1
  1270. @mode con cols=28 lines=24
  1271.  
  1272. :: Batch Game - Tetris v 1
  1273. :: Proof Of Concept
  1274. :: Coded by Jason Haude
  1275. :: Jason Haude, 2018
  1276.  
  1277. Choice /N /T:Y,1 >Nul 2>&1
  1278. If "%Errorlevel%"=="9009" (Echo. CHOICE command not found&Pause&Exit)
  1279.  
  1280. Set "Game=%0"
  1281.  
  1282. Call :Logo
  1283.  
  1284. :menado
  1285. Cls
  1286. Echo.
  1287. Echo.
  1288. Echo. Tetris v 1 by Jason Haude
  1289. Echo. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  1290. Echo. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
  1291. Echo. ³1.³ ³Play TETRIS ³
  1292. Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
  1293. Echo. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
  1294. Echo. ³2.³ ³How to Play ³
  1295. Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
  1296. Echo. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
  1297. Echo. ³3.³ ³Exit Game ³
  1298. Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
  1299. Echo.
  1300. CHOICE /C:123 /N >nul
  1301. If "%errorlevel%"=="1" (Goto :Load)
  1302. If "%errorlevel%"=="2" (Goto :Help)
  1303. If "%errorlevel%"=="3" (Goto :End)
  1304. Goto :Menu
  1305.  
  1306. :Load
  1307. Setlocal enabledelayedexpansion
  1308. Set /a "LimX=18","LimY=16","TBound=1","LBound=0","Turn=1","Points=0"
  1309. Set /a "RBound=%LimX%","BBound=%LimY%"
  1310.  
  1311. :Init
  1312. For /l %%a in (0,1,%LimX%) do (
  1313. For /l %%b in (0,1,%LimY%) do (
  1314. Set "X%%aY%%b= "))
  1315. Set "Bound=Û"
  1316. Set "Bound2=²"
  1317.  
  1318. :Main
  1319. Set /a "L=(%Random% %% 7)+1"
  1320. Call :Figure%L%
  1321. Call :Graphic
  1322. Goto :Main
  1323.  
  1324. :Graphic
  1325. If "%New_F%"=="True" (
  1326. Call :Solid
  1327. Set "New_F=False"
  1328. Goto :Eof
  1329. )
  1330. Call :Clear
  1331. Cls
  1332. Echo.
  1333. Echo. Tetris v 1 by Jason Haude
  1334. Echo.
  1335. Echo. Points:%Points%
  1336. Echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  1337. For /l %%f in (0,1,%LimY%) do (Echo. º!Lin_%%f!º)
  1338. Echo. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  1339. Call :Move
  1340. Goto :Graphic
  1341.  
  1342. :Move
  1343. :: Normal CHOICE (provided into ZIP package)
  1344. CHOICE /C:SADRXC /N >nul
  1345. :: Windows 7 or x64 system CHOICE (uncomment)
  1346. REM CHOICE /C SADRXC /N
  1347. If "%errorlevel%"=="1" (Call :Down)
  1348. If "%errorlevel%"=="2" (Call :Left)
  1349. If "%errorlevel%"=="3" (Call :Rigth)
  1350. If "%errorlevel%"=="4" (Call :Rotate)
  1351. If "%errorlevel%"=="5" (Goto :Menu)
  1352. If "%errorlevel%"=="6" (Call :MovCR)
  1353. ::Descomentar para doble movimiento
  1354. REM Call :Down
  1355. Call :CheckL2
  1356. Goto :Eof
  1357.  
  1358. ::::::::::::::::::::::::::::::::::::::::
  1359. :Solid
  1360. For %%a in (%Table%) do (Set "%%a=%Bound2%")
  1361. Goto :Eof
  1362.  
  1363. :Rotate
  1364. Set "TmpTB="
  1365. If "%XToken%"=="11" (Set "XToken=10")
  1366. If "%YToken%"=="15" (Set "XToken=14")
  1367. Set /a "NextRotate=(%RotateLevel% %% 4)+1"
  1368. Set "TmpTable=!Figure%CurFig%_Pos%NextRotate%!
  1369. For %%R in (%TmpTable%) do (
  1370. Call :MovR "%YToken%" "%XToken%" "%%R" "Val"
  1371. Call Set "TmpTB=!TmpTB!,!Val!"
  1372. )
  1373. For %%c in (%TmpTB:~1%) do (
  1374. If "!%%c!"=="%Bound2%" (
  1375. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1376. Goto :Eof
  1377. ))
  1378. For %%a in (%Table%) do (Set "%%a= ")
  1379. Set "Table=%TmpTB:~1%"
  1380. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1381. Set /a "RotateLevel+=1"
  1382. Goto :Eof
  1383.  
  1384. :MovR
  1385. For /f "tokens=1,2 delims=X,Y" %%p in ("%~3") do (
  1386. Set /a MovY=%%q+%~1
  1387. Set /a MovX=%%p+%~2
  1388. Set "%~4=X!MovX!Y!MovY!"
  1389. Set "%~3= ")
  1390. Goto :Eof
  1391.  
  1392. :::::::::::::::::::::::::::::::::::::::::::
  1393. :Down
  1394. Set "TmpTB="
  1395. Set "TmpTable=%Table%"
  1396. For %%a in (%TmpTable%) do (
  1397. Echo.!TmpTable!|Find "Y%BBound%">nul
  1398. If !Errorlevel! EQU 0 (Set "New_F=True"&Goto :Eof)
  1399. Call :MovYR "1" "%%a" "Val"
  1400. Call Set "TmpTB=!TmpTB!,!Val!"
  1401. )
  1402. For %%c in (%TmpTB:~1%) do (
  1403. If "!%%c!"=="%Bound2%" (
  1404. Set "New_F=True"
  1405. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1406. Goto :Eof
  1407. ))
  1408. Set "Table=%TmpTB:~1%"
  1409. For %%d in (%Table%) do (Set "%%d=%Bound%")
  1410. Set /a "YToken+=1"
  1411. Goto :Eof
  1412.  
  1413. :MovYR
  1414. For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
  1415. Set /a MovY=%%q+%~1
  1416. Set "%~3=X%%pY!MovY!"
  1417. Set "%~2= ")
  1418. Goto :Eof
  1419.  
  1420. :MovCR
  1421. Cls
  1422. Echo.
  1423. Echo.
  1424. Call :L2 "Goto :Eof"
  1425. Echo.
  1426. For /f "tokens=2 skip=3" %%c in ('find "::_0" %Game%') do (
  1427. Set "Tmp_Var=%%c"
  1428. Call :Key.A Tmp_Var
  1429. Echo. !Tmp_Var!
  1430. )
  1431. Pause >nul
  1432. Goto :Eof
  1433. ::::::::::::::::::::::::::::::::::::::::
  1434.  
  1435. ::::::::::::::::::::::::::::::::::::::::
  1436. :Rigth
  1437. Set "TmpTB="
  1438. Set "TmpTable=%Table%"
  1439. For %%a in (%TmpTable%) do (
  1440. Echo.!TmpTable!|Find "X%RBound%">nul
  1441. If !Errorlevel! EQU 0 (Goto :Eof)
  1442. Call :MovXR "+1" "%%a" "Val"
  1443. Call Set "TmpTB=!TmpTB!,!Val!"
  1444. )
  1445. For %%c in (%TmpTB:~1%) do (
  1446. If "!%%c!"=="%Bound2%" (
  1447. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1448. Goto :Eof
  1449. ))
  1450. Set "Table=%TmpTB:~1%"
  1451. For %%d in (%Table%) do (Set "%%d=%Bound%")
  1452. Set /a "XToken+=1"
  1453. Goto :Eof
  1454.  
  1455. :Left
  1456. Set "TmpTB="
  1457. Set "TmpTable=%Table%"
  1458. For %%a in (%TmpTable%) do (
  1459. Echo.!TmpTable!|Find "X%LBound%">nul
  1460. If !Errorlevel! EQU 0 (Goto :Eof)
  1461. Call :MovXR "-1" "%%a" "Val"
  1462. Call Set "TmpTB=!TmpTB!,!Val!"
  1463. )
  1464. For %%c in (%TmpTB:~1%) do (
  1465. If "!%%c!"=="%Bound2%" (
  1466. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1467. Goto :Eof
  1468. ))
  1469. Set "Table=%TmpTB:~1%"
  1470. For %%d in (%Table%) do (Set "%%d=%Bound%")
  1471. Set /a "XToken-=1"
  1472. Goto :Eof
  1473.  
  1474. :MovXR
  1475. For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
  1476. Set /a MovX=%%p%~1
  1477. Set "%~3=X!MovX!Y%%q"
  1478. Set "%~2= ")
  1479. Goto :Eof
  1480.  
  1481. ::::::::::::::::::::::::::::::::::::::::
  1482.  
  1483. :CheckL2
  1484. If "!Lin_1!"=="²²²²²²²²²²²²²²²²²²²" (Goto :Lost)
  1485. If "!Lin_%LimY%!"=="²²²²²²²²²²²²²²²²²²²" (
  1486. Call :Clear
  1487. For /l %%x in (0,1,%LimX%) do (
  1488. For /l %%y in (%LimY%,-1,1) do (
  1489. Set /a "UpLine=%%y-1"
  1490. Call Set "X%%xY%%y=%%X%%xY!UpLine!%%"
  1491. ))
  1492. Set /a "Points+=100"
  1493. For /l %%d in (0,1,%LimX%) do (Set "X%%dY0= ")
  1494. Goto :CheckL2
  1495. )
  1496. Goto :Eof
  1497.  
  1498. :::::::::::::::::::::::::::::::::::::::::
  1499.  
  1500. :Key.A
  1501. If not defined %1 Goto:Eof
  1502. Set "c="
  1503. Set "d=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =/\()[]{}_-.:,;* @#"
  1504. :Key.B
  1505. Set "chr=!%1:~,1!"
  1506. For /l %%l in (0 1 80) do if "!chr!" equ "!d:~%%l,1!" (
  1507. set /a "x=%%l^5"
  1508. call set "c=!c!%%d:~!x!,1%%"
  1509. )
  1510. Set "%1=!%1:~1!"
  1511. If defined %1 goto:Key.B
  1512. Set "%1=!c!"
  1513. Goto :Eof
  1514. :::::::::::::::::::::::::::::::::::::::::
  1515.  
  1516. :Clear
  1517. For /l %%m in (0,1,%LimY%) do (Set Lin_%%m=)
  1518. For /l %%d in (0,1,%LimY%) do (
  1519. For /l %%e in (0,1,%LimX%) do (
  1520. Set Lin_%%d=!Lin_%%d!!X%%eY%%d!))
  1521. Goto :Eof
  1522.  
  1523. :Lost
  1524. Cls
  1525. Echo.
  1526. Echo. Tetris v 1 by Jason Haude
  1527. Echo.
  1528. Echo. Points:%Points%
  1529. Echo. Perdiste !
  1530. Goto :End
  1531.  
  1532. :Win
  1533. Cls
  1534. Echo.
  1535. Echo. Tetris v 1 by Jason Haude
  1536. Echo.
  1537. Echo. Points:%Points%
  1538. Echo. Has Ganado !
  1539. Goto :End
  1540.  
  1541. :End
  1542. Echo. Gracias por Jugar
  1543. Echo. Tetris v1 by Jason Haude
  1544. Endlocal
  1545. Ping -n 3 localhost >nul
  1546. Exit
  1547.  
  1548. ::::::::::::::::::::::::::::::::::::::::::
  1549. :Figure1
  1550. Set Figure1_Pos1=X6Y2,X6Y1,X7Y1,X7Y0
  1551. Set Figure1_Pos2=X7Y1,X8Y1,X6Y0,X7Y0
  1552. Set Figure1_Pos3=X6Y2,X6Y1,X7Y1,X7Y0
  1553. Set Figure1_Pos4=X7Y1,X8Y1,X6Y0,X7Y0
  1554. Set /a "R=(%Random% %% 4)+1"
  1555. Set Table=!Figure1_Pos%R%!
  1556. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1557. Set /a "XToken=0","YToken=0","CurFig=1","RotateLevel=%R%"
  1558. Goto :Eof
  1559.  
  1560. :Figure2
  1561. Set Figure2_Pos1=X7Y2,X6Y1,X7Y1,X6Y0
  1562. Set Figure2_Pos2=X6Y1,X7Y1,X7Y0,X8Y0
  1563. Set Figure2_Pos3=X7Y2,X6Y1,X7Y1,X6Y0
  1564. Set Figure2_Pos4=X6Y1,X7Y1,X7Y0,X8Y0
  1565. Set /a "R=(%Random% %% 4)+1"
  1566. Set Table=!Figure2_Pos%R%!
  1567. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1568. Set /a "XToken=0","YToken=0","CurFig=2","RotateLevel=%R%"
  1569. Goto :Eof
  1570.  
  1571. :Figure3
  1572. Set Figure3_Pos1=X7Y1,X8Y1,X7Y0,X8Y0
  1573. Set Figure3_Pos2=X7Y1,X8Y1,X7Y0,X8Y0
  1574. Set Figure3_Pos3=X7Y1,X8Y1,X7Y0,X8Y0
  1575. Set Figure3_Pos4=X7Y1,X8Y1,X7Y0,X8Y0
  1576. Set /a "R=(%Random% %% 4)+1"
  1577. Set "Table=!Figure3_Pos%R%!"
  1578. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1579. Set /a "XToken=0","YToken=0","CurFig=3","RotateLevel=%R%"
  1580. Goto :Eof
  1581.  
  1582. :Figure4
  1583. Set Figure4_Pos1=X6Y1,X7Y1,X8Y1
  1584. Set Figure4_Pos2=X7Y2,X7Y1,X7Y0
  1585. Set Figure4_Pos3=X6Y1,X7Y1,X8Y1
  1586. Set Figure4_Pos4=X7Y2,X7Y1,X7Y0
  1587. Set /a "R=(%Random% %% 4)+1"
  1588. Set Table=!Figure4_Pos%R%!
  1589. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1590. Set /a "XToken=0","YToken=0","CurFig=4","RotateLevel=%R%"
  1591. Goto :Eof
  1592.  
  1593. :Figure5
  1594. Set Figure5_Pos1=X6Y1,X7Y1,X8Y1,X7Y0
  1595. Set Figure5_Pos2=X7Y2,X7Y1,X8Y1,X7Y0
  1596. Set Figure5_Pos3=X7Y1,X6Y0,X7Y0,X8Y0
  1597. Set Figure5_Pos4=X8Y2,X7Y1,X8Y1,X8Y0
  1598. Set /a "R=(%Random% %% 4)+1"
  1599. Set Table=!Figure5_Pos%R%!
  1600. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1601. Set /a "XToken=0","YToken=0","CurFig=5","RotateLevel=%R%"
  1602. Goto :Eof
  1603.  
  1604. :Figure6
  1605. Set Figure6_Pos1=X6Y1,X6Y0,X7Y0,X8Y0
  1606. Set Figure6_Pos2=X8Y2,X8Y1,X8Y0,X7Y0
  1607. Set Figure6_Pos3=X6Y1,X7Y1,X8Y1,X8Y0
  1608. Set Figure6_Pos4=X6Y2,X7Y2,X6Y1,X6Y0
  1609. Set /a "R=(%Random% %% 4)+1"
  1610. Set Table=!Figure6_Pos%R%!
  1611. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1612. Set /a "XToken=0","YToken=0","CurFig=6","RotateLevel=%R%"
  1613. Goto :Eof
  1614.  
  1615. :Figure7
  1616. Set Figure7_Pos1=X8Y1,X6Y0,X7Y0,X8Y0
  1617. Set Figure7_Pos2=X7Y2,X8Y2,X8Y1,X8Y0
  1618. Set Figure7_Pos3=X6Y1,X7Y1,X8Y1,X6Y0
  1619. Set Figure7_Pos4=X6Y2,X6Y1,X6Y0,X7Y0
  1620. Set /a "R=(%Random% %% 4)+1"
  1621. Set Table=!Figure7_Pos%R%!
  1622. For %%b in (%Table%) do (Set "%%b=%Bound%")
  1623. Set /a "XToken=0","YToken=0","CurFig=7","RotateLevel=%R%"
  1624. Goto :Eof
  1625.  
  1626. ::_0 xx9tYjYxWvxPrXmoLjqfzpxx
  1627. ::_0 xxxxxXhXxLBINRPFGBaxxxxxx
  1628. ::_0 xxxxxxxxxxxxxxxxxxxxxxxxx
  1629. ::_0 xxxxx8jYfZXojYxOtxJvxxxxx
  1630. ::_0 EjXzofizgxLfmgimfjqYx9GVJ
  1631. ::_0 xxxJvx8XmgfqlxNxGtyjxRxxx
  1632. ::_0 xxxxxxxxxxxxxxxxxxxxxxxxx
  1633. ::_0 xPrXmoLjqfzpx9tms-x7545xxx
  1634.  
  1635. :Help
  1636. Cls
  1637. Echo.
  1638. Call :L2 "Goto :Eof"
  1639. Echo.
  1640. Echo. How to Play Batch Tetris ?
  1641. Echo.
  1642. Echo. Use keys A,S,D,R,X
  1643. Echo.
  1644. Echo. A = Move Shape Left
  1645. Echo. S = Move Shape Down
  1646. Echo. D = Move Shape Rigth
  1647. Echo. R = Rotate Shape
  1648. Echo. X = Back to Menu Game
  1649. Echo.
  1650. Echo.
  1651. Pause >nul
  1652. Goto :Menu
  1653.  
  1654. :Logo
  1655. Cls
  1656. Color 0b
  1657. Echo.
  1658. Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
  1659. Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
  1660. :L2
  1661. Echo. °°ÛÛÛ°ÛÛÛ°ÛÛÛ°ÛÛ°°Û°°ÛÛ°°°
  1662. Echo. °°°Û°°Û°°°°Û°°Û°Û°Û°Û°°°°°
  1663. Echo. °°°Û°°ÛÛÛ°°Û°°ÛÛ°°Û°°Û°°°°
  1664. Echo. °°°Û°°Û°°°°Û°°Û°Û°Û°°°Û°°°
  1665. Echo. °°°Û°°ÛÛÛ°°Û°°Û°Û°Û°ÛÛ°°°°
  1666. %~1
  1667. Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
  1668. Echo. °°±°°°°°°°°°²°°°°°°°°°°±°°
  1669. Echo. °°±°²°°°²²°°²²°°°²²²°°°±°°
  1670. Echo. °°±°²²°°°²°°²°°°°°°°°°°±°°
  1671. Echo. °°±°°²°°°²°°°°°°²²°°°°°±°°
  1672. Echo. °°±°°°°°°°°°°°°°°²²°°°°±°°
  1673. Echo. °°±°°°°°°°°²°°°°°°°°°°°±°°
  1674. Echo. °°±²°°°°°°°²²²°°°°°°°°°±°°
  1675. Echo. °°±²°°²²°°°°°°°²°°°°°°²±°°
  1676. Echo. °°±²°°²²°°°°°°²²²°°°²²²±°°
  1677. Echo. °°±±±±±±±±±±±±±±±±±±±±±±°°
  1678. Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
  1679. Echo. °°°°°: Jason Haude :°°°°°°
  1680. Echo. °°°°° Time. 2018 °°°°°°
  1681. Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
  1682. Ping -n 3 0.0.0.0 >nul
  1683. Goto :Eof
  1684.  
  1685. :trail
  1686. Title The Batch Remakes: The Oregon Trail
  1687. echo ----------------------------
  1688. echo Welcome to The Oregon Trail!
  1689. echo ----------------------------
  1690. pause
  1691. cls
  1692. echo -------------------------------------------
  1693. echo What is the first name of the wagon leader?
  1694. echo -------------------------------------------
  1695. set/p name=
  1696. echo.
  1697. echo Welcome to the trail, %name%
  1698. pause
  1699. cls
  1700. echo -----------------------------------------------------------
  1701. echo there are 3 others who decided to come along, who are they?
  1702. echo -----------------------------------------------------------
  1703. pause
  1704. set /p name2=
  1705. echo.
  1706. echo hi, %name2%
  1707. pause
  1708. set /p name3=
  1709. echo.
  1710. echo hi, %name3%
  1711. pause
  1712. set /p name4=
  1713. echo.
  1714. echo hi, %name4%
  1715. pause
  1716. cls
  1717. echo -----------------------------------------------------------------------------------
  1718. echo Ok, %name%, %name2%, %name3%, and %name4%, you are ready to start your adventure...
  1719. echo -----------------------------------------------------------------------------------
  1720. pause
  1721. goto harp
  1722.  
  1723. :harp
  1724. echo ----------------------------------------------
  1725. echo Many kinds of people made the trip to Oregon..
  1726. echo ----------------------------------------------
  1727. pause
  1728. cls
  1729. echo ---------------------------------------------------------------------------------------------------------------------
  1730. echo You may: 1.Be a banker from Boston 2.Be a carpenter from Ohio 3.Be a Farmer from Illinois 4. The Best (in my opinion)
  1731. echo ---------------------------------------------------------------------------------------------------------------------
  1732. echo What is your choice?
  1733. echo --------------------
  1734.  
  1735. set /p input=
  1736. if %input% == 1 goto glorp
  1737. if %input% == 2 goto glorp
  1738. if %input% == 3 goto glorp
  1739. if %input% == 4 goto norp
  1740.  
  1741. :glorp
  1742. echo It is 1848. You're jumping off
  1743. echo place for Oregon is Independance,
  1744. echo Missouri. You must decide which
  1745. echo month to leave Independence.
  1746. echo.
  1747. echo ----------------------------------------------------
  1748. echo 1.March 2.April 3.May 4.June 5.July 6.Ask for Advice
  1749. echo ----------------------------------------------------
  1750.  
  1751. set /p input=
  1752. if %input% == 1 goto heg
  1753. if %input% == 2 goto meg
  1754. if %input% == 3 goto leg
  1755. if %input% == 4 goto carmalita
  1756. if %input% == 5 goto height
  1757. if %input% == 6 goto chow
  1758.  
  1759. :heg
  1760. echo You have left in March
  1761. pause
  1762. goto meta
  1763.  
  1764. :meg
  1765. echo You have left in April
  1766. pause
  1767. goto meta
  1768.  
  1769. :leg
  1770. echo You have left in May
  1771. pause
  1772. goto meta
  1773.  
  1774. :carmalita
  1775. echo You have left in June
  1776. pause
  1777. goto meta
  1778.  
  1779. :height
  1780. echo You have left in July
  1781. pause
  1782. goto meta
  1783.  
  1784. :chow
  1785. echo The townsfolk say go in April
  1786. pause
  1787. goto glorp
  1788.  
  1789. :meta
  1790. echo In order to begin your adventure, here's $2,000.00.
  1791. echo -------------------------------------------------
  1792. pause
  1793. cls
  1794. echo -------------------------------------------------
  1795. echo Go to Matt's General Store before you leave town.
  1796. echo -------------------------------------------------
  1797. pause
  1798. cls
  1799. goto matt
  1800.  
  1801. :matt
  1802. Title Matt's General Store, Independence Misourri
  1803. echo ------------------------------------------------------------------------
  1804. echo Matt: Welcome! I here you're goin' to Oregon! I can get yah these items.
  1805. echo ------------------------------------------------------------------------
  1806. pause
  1807. goto items
  1808.  
  1809. :items
  1810. echo 1. A team of oxen to pull your wagon,
  1811. echo -------------------------------------
  1812. echo 2. Clothing for both summer and winter,
  1813. echo ---------------------------------------
  1814. echo 3. Plenty of food for your trip,
  1815. echo --------------------------------
  1816. echo 4. Ammunition for your rifles,
  1817. echo ------------------------------
  1818. echo 5. And spare parts for your wagon.
  1819. echo ----------------------------------
  1820.  
  1821. set /p input=
  1822. if %input% == 1 goto oxen
  1823. if %input% == 2 goto clothes
  1824. if %input% == 3 goto food
  1825. if %input% == 4 goto bullets
  1826. if %input% == 5 goto parts
  1827.  
  1828. :oxen
  1829. cls
  1830. echo There are 2 oxen in a yoke;
  1831. echo I recommend at least 3 yoke.
  1832. echo I charge 40 a yoke
  1833. echo.
  1834. echo How many yoke do you want?
  1835.  
  1836. set /p input=
  1837. if %input% == 3 goto h
  1838. if %input% == 6 goto h
  1839.  
  1840. :h
  1841. echo that'll serve yah well.
  1842. echo you need clothes next
  1843. pause
  1844. goto items
  1845.  
  1846. :food
  1847. cls
  1848. echo I recommend you take at
  1849. echo Least 200 pounds of food
  1850. echo for each person in your
  1851. echo family. I see that you have
  1852. echo 4 people in all. You'll need
  1853. echo flour, sugar, bacon, and
  1854. echo coffee. My price is 20
  1855. echo cents a pound.
  1856. echo.
  1857. echo How many pound of food do
  1858. echo you want?
  1859.  
  1860. set /p input=
  1861. if %input% == 100 goto g
  1862. if %input% == 150 goto g
  1863.  
  1864. :g
  1865. echo That'll be enough food for about 8 months, your entire journey
  1866. echo when you get there, there will be food, I reckon.
  1867. echo next you need bullets.
  1868. pause
  1869. goto items
  1870.  
  1871. :clothes
  1872. cls
  1873. echo You'll need warm clothing in
  1874. echo the mountains. I recommend
  1875. echo taking at least 2 sets of
  1876. echo clothes per person. Each
  1877. echo set is $10.00
  1878. echo.
  1879. echo How many sets of clothes do you want?
  1880.  
  1881. set /p input=
  1882. if %input% == 8 goto good
  1883.  
  1884. :good
  1885. echo you should be suited fine with these...
  1886. echo go to food...
  1887. pause
  1888. goto items
  1889.  
  1890. :bullets
  1891. cls
  1892. echo I sell ammunition in boxes
  1893. echo of 20 bullets. each box
  1894. echo costs $2.00
  1895. echo.
  1896. echo How many boxes do
  1897. echo you want?
  1898.  
  1899. set /p input=
  1900. if %input% == 40 goto v
  1901. if %input% == 60 goto v
  1902.  
  1903. :v
  1904. echo You should have a lot of ammo.
  1905. pause
  1906. echo Finally, go to extra parts in case your wagon breaks down.
  1907. goto items
  1908.  
  1909. :parts
  1910. cls
  1911. echo It's a good idea to have a
  1912. echo few spare parts for your
  1913. echo wagon. Here are the prices:
  1914. echo.
  1915. echo Wagon wheel: $10 each
  1916. echo Wagon axle: $10 each
  1917. echo Wagon tongue: $10 each
  1918. echo.
  1919. echo how many wagon wheels?
  1920.  
  1921. set /p input=
  1922. if %input% == 3 goto next
  1923.  
  1924. :next
  1925. echo How many wagon axles?
  1926.  
  1927. set /p input=
  1928. if %input% ==3 goto next2
  1929.  
  1930. :next2
  1931. echo And finally, how many wagon tongues?
  1932.  
  1933. set /p input=
  1934. if %input% == 3 goto next3
  1935.  
  1936. :next3
  1937. echo Well then, you're ready
  1938. echo to start. Good luck!
  1939. echo You have a long and
  1940. echo difficult journey ahead
  1941. echo of you
  1942. pause
  1943. goto loader
  1944.  
  1945. :loader
  1946. echo Loading the wagon.
  1947. ping Localhost -n 2 >nul
  1948. cls
  1949. loading the wagon...
  1950. ping Localhost -n 2 >nul
  1951. cls
  1952. echo COMPLETE!
  1953. pause
  1954. echo Independence
  1955. echo March 1, 1848
  1956. pause
  1957. goto bodo
  1958.  
  1959. :bodo
  1960. Title Independence March 1, 1848
  1961. echo Weather: cold
  1962. echo Health: good
  1963. echo Pace: steady
  1964. echo Rations: filling
  1965. echo.
  1966. echo You may:
  1967. echo.
  1968. echo 1.Continue on trail
  1969. echo 2.Check Supplies
  1970. echo 3.Look at map
  1971. echo 4.Change pace
  1972. echo 5.Change food rations
  1973. echo 6.Stop to rest
  1974. echo 7.Attempt to trade
  1975. echo 8.Talk to people
  1976. echo 9.Buy supplies
  1977. echo.
  1978. echo What is your choice?
  1979.  
  1980. set /p input=
  1981. if %input% == 1 goto 1
  1982. if %input% == 2 goto 2
  1983. if %input% == 3 goto 3
  1984. if %input% == 4 goto 4
  1985. if %input% == 5 goto 5
  1986. if %input% == 6 goto 6
  1987. if %input% == 7 goto 7
  1988. if %input% == 8 goto 8
  1989. if %input% == 9 goto 9
  1990.  
  1991. :1
  1992. echo =
  1993. echo -- -----
  1994. echo -- ---- ---
  1995. echo --------- -
  1996. echo - - ----------
  1997. echo = == ==
  1998. ping Localhost -n 2 >nul
  1999. cls
  2000. echo =
  2001. echo -- -----
  2002. echo -- ---- ---
  2003. echo --------- -
  2004. echo - - ----------
  2005. echo = == ==
  2006. ping Localhost -n 2 >nul
  2007. cls
  2008. echo =
  2009. echo -- -----
  2010. echo -- ---- ---
  2011. echo --------- -
  2012. echo - - ----------
  2013. echo = == ==
  2014. ping Localhost -n 2 >nul
  2015. cls
  2016. echo =
  2017. echo -- -----
  2018. echo -- ---- ---
  2019. echo --------- -
  2020. echo - - ----------
  2021. echo = == ==
  2022. ping Localhost -n 2 >nul
  2023. cls
  2024. echo =
  2025. echo -- -----
  2026. echo -- ---- ---
  2027. echo --------- -
  2028. echo - - ----------
  2029. echo = == ==
  2030. ping Localhost -n 2 >nul
  2031. cls
  2032. echo =
  2033. echo -- -----
  2034. echo -- ---- ---
  2035. echo --------- -
  2036. echo - - ----------
  2037. echo = == ==
  2038. ping Localhost -n 2 >nul
  2039. cls
  2040. echo =
  2041. echo -- -----
  2042. echo -- ---- ---
  2043. echo --------- -
  2044. echo - - ----------
  2045. echo = == ==
  2046. ping Localhost -n 2 >nul
  2047. cls
  2048. echo =
  2049. echo -- -----
  2050. echo -- ---- ---
  2051. echo --------- -
  2052. echo - - ----------
  2053. echo = == ==
  2054. ping Localhost -n 2 >nul
  2055. cls
  2056. pause
  2057. echo your wheel has broken down, would you like to fix it?
  2058. pause
  2059. echo it has been fixed
  2060. pause
  2061. echo =
  2062. echo -- -----
  2063. echo -- ---- ---
  2064. echo --------- -
  2065. echo - - ----------
  2066. echo = == ==
  2067. ping Localhost -n 2 >nul
  2068. cls
  2069. echo =
  2070. echo -- -----
  2071. echo -- ---- ---
  2072. echo --------- -
  2073. echo - - ----------
  2074. echo = == ==
  2075. ping Localhost -n 2 >nul
  2076. cls
  2077. echo =
  2078. echo -- -----
  2079. echo -- ---- ---
  2080. echo --------- -
  2081. echo - - ----------
  2082. echo = == ==
  2083. ping Localhost -n 2 >nul
  2084. cls
  2085. echo =
  2086. echo -- -----
  2087. echo -- ---- ---
  2088. echo --------- -
  2089. echo - - ----------
  2090. echo = == ==
  2091. ping Localhost -n 2 >nul
  2092. cls
  2093. echo =
  2094. echo -- -----
  2095. echo -- ---- ---
  2096. echo --------- -
  2097. echo - - ----------
  2098. echo = == ==
  2099. ping Localhost -n 2 >nul
  2100. cls
  2101. echo =
  2102. echo -- -----
  2103. echo -- ---- ---
  2104. echo --------- -
  2105. echo - - ----------
  2106. echo = == ==
  2107. ping Localhost -n 2 >nul
  2108. cls
  2109. echo =
  2110. echo -- -----
  2111. echo -- ---- ---
  2112. echo --------- -
  2113. echo - - ----------
  2114. echo = == ==
  2115. ping Localhost -n 2 >nul
  2116. cls
  2117. echo =
  2118. echo -- -----
  2119. echo -- ---- ---
  2120. echo --------- -
  2121. echo - - ----------
  2122. echo = == ==
  2123. ping Localhost -n 2 >nul
  2124. cls
  2125. echo We will cross the river.
  2126. pause
  2127. goto cross
  2128.  
  2129. :cross
  2130. echo =
  2131. echo -- -----
  2132. echo -- ---- ---
  2133. echo --------- -
  2134. echo - - ----------
  2135. echo = == ==
  2136. ping Localhost -n 2 >nul
  2137. cls
  2138. echo =
  2139. echo -- -----
  2140. echo -- ---- ---
  2141. echo --------- -
  2142. echo - - ----------
  2143. echo = == ==
  2144. ping Localhost -n 2 >nul
  2145. cls
  2146. echo =
  2147. echo -- -----
  2148. echo -- ---- ---
  2149. echo --------- -
  2150. echo - - ----------
  2151. echo = == ==
  2152. ping Localhost -n 2 >nul
  2153. cls
  2154. echo =
  2155. echo -- -----
  2156. echo -- ---- ---
  2157. echo --------- -
  2158. echo - - ----------
  2159. echo = == ==
  2160. ping Localhost -n 2 >nul
  2161. cls
  2162. echo =
  2163. echo -- -----
  2164. echo -- ---- ---
  2165. echo --------- -
  2166. echo - - ----------
  2167. echo = == ==
  2168. ping Localhost -n 2 >nul
  2169. cls
  2170. echo =
  2171. echo -- -----
  2172. echo -- ---- ---
  2173. echo --------- -
  2174. echo - - ----------
  2175. echo = == ==
  2176. ping Localhost -n 2 >nul
  2177. cls
  2178. echo =
  2179. echo -- -----
  2180. echo -- ---- ---
  2181. echo --------- -
  2182. echo - - ----------
  2183. echo = == ==
  2184. ping Localhost -n 2 >nul
  2185. cls
  2186. echo =
  2187. echo -- -----
  2188. echo -- ---- ---
  2189. echo --------- -
  2190. echo - - ----------
  2191. echo = == ==
  2192. ping Localhost -n 2 >nul
  2193. cls
  2194. echo =
  2195. echo -- -----
  2196. echo -- ---- ---
  2197. echo --------- -
  2198. echo - - ----------
  2199. echo = == ==
  2200. ping Localhost -n 2 >nul
  2201. cls
  2202. echo =
  2203. echo -- -----
  2204. echo -- ---- ---
  2205. echo --------- -
  2206. echo - - ----------
  2207. echo = == ==
  2208. ping Localhost -n 2 >nul
  2209. cls
  2210. echo =
  2211. echo -- -----
  2212. echo -- ---- ---
  2213. echo --------- -
  2214. echo - - ----------
  2215. echo = == ==
  2216. ping Localhost -n 2 >nul
  2217. cls
  2218. echo =
  2219. echo -- -----
  2220. echo -- ---- ---
  2221. echo --------- -
  2222. echo - - ----------
  2223. echo = == ==
  2224. ping Localhost -n 2 >nul
  2225. cls
  2226. echo Would you like to hunt?
  2227. echo Y/N
  2228.  
  2229. set /p input=
  2230. if %input% == Y goto Huntthem
  2231. if %input% == N goto nothunt
  2232.  
  2233. :Huntthem
  2234. echo Hunting...
  2235. pause
  2236. echo Hunting..
  2237. pause
  2238. echo Hunting.
  2239. pause
  2240. echo You got 40 pounds of meat!!
  2241. pause
  2242. echo =
  2243. echo -- -----
  2244. echo -- ---- ---
  2245. echo --------- -
  2246. echo - - ----------
  2247. echo = == ==
  2248. ping Localhost -n 2 >nul
  2249. cls
  2250. echo =
  2251. echo -- -----
  2252. echo -- ---- ---
  2253. echo --------- -
  2254. echo - - ----------
  2255. echo = == ==
  2256. ping Localhost -n 2 >nul
  2257. cls
  2258. echo =
  2259. echo -- -----
  2260. echo -- ---- ---
  2261. echo --------- -
  2262. echo - - ----------
  2263. echo = == ==
  2264. ping Localhost -n 2 >nul
  2265. cls
  2266. echo =
  2267. echo -- -----
  2268. echo -- ---- ---
  2269. echo --------- -
  2270. echo - - ----------
  2271. echo = == ==
  2272. ping Localhost -n 2 >nul
  2273. cls
  2274. echo =
  2275. echo -- -----
  2276. echo -- ---- ---
  2277. echo --------- -
  2278. echo - - ----------
  2279. echo = == ==
  2280. ping Localhost -n 2 >nul
  2281. cls
  2282. echo =
  2283. echo -- -----
  2284. echo -- ---- ---
  2285. echo --------- -
  2286. echo - - ----------
  2287. echo = == ==
  2288. ping Localhost -n 2 >nul
  2289. cls
  2290. echo =
  2291. echo -- -----
  2292. echo -- ---- ---
  2293. echo --------- -
  2294. echo - - ----------
  2295. echo = == ==
  2296. ping Localhost -n 2 >nul
  2297. cls
  2298. echo =
  2299. echo -- -----
  2300. echo -- ---- ---
  2301. echo --------- -
  2302. echo - - ----------
  2303. echo = == ==
  2304. ping Localhost -n 2 >nul
  2305. cls
  2306. echo =
  2307. echo -- -----
  2308. echo -- ---- ---
  2309. echo --------- -
  2310. echo - - ----------
  2311. echo = == ==
  2312. ping Localhost -n 2 >nul
  2313. cls
  2314. echo =
  2315. echo -- -----
  2316. echo -- ---- ---
  2317. echo --------- -
  2318. echo - - ----------
  2319. echo = == ==
  2320. ping Localhost -n 2 >nul
  2321. cls
  2322. echo We are doing well...
  2323. pause
  2324. echo 7 months later...
  2325. Title Willamette, Oregon August 1, 1848
  2326. echo Willamette, Oregon, August 1, 1848
  2327. pause
  2328. echo =
  2329. echo -- -----
  2330. echo -- ---- ---
  2331. echo --------- -
  2332. echo - - ----------
  2333. echo = == ==
  2334. ping Localhost -n 2 >nul
  2335. cls
  2336. echo =
  2337. echo -- -----
  2338. echo -- ---- ---
  2339. echo --------- -
  2340. echo - - ----------
  2341. echo = == ==
  2342. ping Localhost -n 2 >nul
  2343. cls
  2344. echo =
  2345. echo -- -----
  2346. echo -- ---- ---
  2347. echo --------- -
  2348. echo - - ----------
  2349. echo = == ==
  2350. ping Localhost -n 2 >nul
  2351. cls
  2352. echo =
  2353. echo -- -----
  2354. echo -- ---- ---
  2355. echo --------- -
  2356. echo - - ----------
  2357. echo = == ==
  2358. ping Localhost -n 2 >nul
  2359. cls
  2360. echo =
  2361. echo -- -----
  2362. echo -- ---- ---
  2363. echo --------- -
  2364. echo - - ----------
  2365. echo = == ==
  2366. ping Localhost -n 2 >nul
  2367. cls
  2368. echo =
  2369. echo -- -----
  2370. echo -- ---- ---
  2371. echo --------- -
  2372. echo - - ----------
  2373. echo = == ==
  2374. ping Localhost -n 2 >nul
  2375. cls
  2376. echo =
  2377. echo -- -----
  2378. echo -- ---- ---
  2379. echo --------- -
  2380. echo - - ----------
  2381. echo = == ==
  2382. ping Localhost -n 2 >nul
  2383. cls
  2384. echo =
  2385. echo -- -----
  2386. echo -- ---- ---
  2387. echo --------- -
  2388. echo - - ----------
  2389. echo = == ==
  2390. echo Finally, Oregon!!!
  2391. pause
  2392. echo Thanks for playing My version of Oregon Trail. sorry to cut it short...
  2393. pause
  2394. goto menu
  2395.  
  2396.  
  2397.  
  2398. :2
  2399. echo You have all of your items.
  2400. pause
  2401. goto bodo
  2402.  
  2403. :3
  2404. echo ----------------------------------------
  2405. echo - Finish echo -
  2406. echo - echo -
  2407. echo - echo -
  2408. echo - echo -
  2409. echo - echo -
  2410. echo - echo -
  2411. echo - echo -
  2412. echo - echo -
  2413. echo - you are here ---- | echo -
  2414. echo ----------------------------------------
  2415.  
  2416. :4
  2417. echo changing pace
  2418. pause
  2419. echo pace upped by 5%
  2420. pause
  2421. goto bodo
  2422.  
  2423. :5
  2424. echo rationed for now
  2425. pause
  2426. goto bodo
  2427.  
  2428. :6
  2429. echo Ok..
  2430. echo 1 Hour later...
  2431. pause
  2432. goto bodo
  2433.  
  2434. :7
  2435. echo Local:
  2436. echo So you'd like to trade, eh?
  2437. echo Trading.
  2438. pause
  2439. echo Trading..
  2440. pause
  2441. echo Trading...
  2442. pause
  2443. echo traded
  2444. pause
  2445. goto bodo
  2446.  
  2447. :8
  2448. echo HI, I am winston.
  2449. pause
  2450. echo so i here you're going to Oregon,
  2451. echo I like you..
  2452. pause
  2453. echo im coming with you
  2454. echo (Winston has joined your team)
  2455. pause
  2456. goto bodo
  2457.  
  2458. :9
  2459. echo What would you like to trade for
  2460. 1.meat
  2461. 2.clothing
  2462. 3.bullets
  2463.  
  2464. set /p input=
  2465. if %input% == 1 goto meat
  2466. if %input% == 2 goto cloth
  2467. if %input% == 3 goto ammo
  2468.  
  2469. :meat
  2470. echo Trading.
  2471. pause
  2472. echo Trading..
  2473. pause
  2474. echo Trading...
  2475. pause
  2476. echo traded
  2477. pause
  2478. goto bodo
  2479.  
  2480. :cloth
  2481. echo Trading.
  2482. pause
  2483. echo Trading..
  2484. pause
  2485. echo Trading...
  2486. pause
  2487. echo traded
  2488. pause
  2489. goto bodo
  2490.  
  2491. :ammo
  2492. echo Trading.
  2493. pause
  2494. echo Trading..
  2495. pause
  2496. echo Trading...
  2497. pause
  2498. echo traded
  2499. pause
  2500. goto bodo
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507. :norp
  2508. cls
  2509. echo the best is carpenter
  2510. pause
  2511. goto harp
  2512.  
  2513. :exit
  2514. echo would you like to keep using Jason Jaguar OS Premium Silver Edition?
  2515. echo Yes or No?
  2516. pause
  2517.  
  2518. set /p input=
  2519. if %input% == Yes goto menu
  2520. if %input% == No goto quejibo
  2521.  
  2522. :quejibo
  2523. echo ok
  2524. pause
  2525. exit
  2526.  
  2527. :chess
  2528. @title Batch Chess v0.8 By kolto101
  2529. @setlocal EnableDelayedExpansion
  2530.  
  2531. :: By kolto101 ::
  2532. :: Creating batch games is an art ::
  2533.  
  2534. :: What I haven't coded but NEEDS to be added ::
  2535. REM -Stale/Checkmate System
  2536.  
  2537.  
  2538. :: What could be added ::
  2539. REM Add game log to save for later.
  2540. REM Pawn: Make sure a promoted pawn isn't used in castling.
  2541. REM Different colored pieces.
  2542. REM Autoupdating [REMarked out in current code due to site issues]
  2543. REM LAN Play?
  2544. REM Time limit
  2545.  
  2546.  
  2547. call :default
  2548.  
  2549.  
  2550. :yega
  2551. title Batch Chess v0.8 By Kolto101
  2552. if exist "tmp.txt" del tmp.txt
  2553. if exist "config.bat" call config.bat
  2554. set variant=
  2555. cls
  2556. echo.
  2557. echo _-_ _,, , ,, ,- _~. ,,
  2558. echo -/ ) _ ^|^| ^|^| (' /^| ^|^|
  2559. echo ~^|^|_^< ^< \, =^|^|= _-_ ^|^|/\\ (( ^|^| ^|^|/\\ _-_ _-_, _-_,
  2560. echo ^|^| \\ /-^|^| ^|^| ^|^| ^|^| ^|^| (( ^|^| ^|^| ^|^| ^|^| \\ ^|^|_. ^|^|_.
  2561. echo ,/--^|^| (( ^|^| ^|^| ^|^| ^|^| ^|^| ( / ^| ^|^| ^|^| ^|^|/ ~ ^|^| ~ ^|^|
  2562. echo _--_-' \/\\ \\, \\,/ \\ ^|/ -____- \\ ^|/ \\,/ ,-_- ,-_-
  2563. echo ( _/ _/
  2564. echo.
  2565. echo ,...., ,....,
  2566. echo ,::::::^< ^>::::::,
  2567. echo ,::/^^\"``. .``"/^^\::,
  2568. echo ,::/, ` O`. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» .`O ` ,\::,
  2569. echo ,::; ^| '. º -Menu- º .' ^| ;::,
  2570. echo ,::^| \___,-. o) ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ (o .-,___/ ^|::,
  2571. echo ;::^| \ '-' º 1. Play º `-' / ^|::;
  2572. echo ;::^| \ º 2. Load Game º / ^|::;
  2573. echo ;::^| _.=`\ º 3. Configure º /`=._ ^|::;
  2574. echo `;:^|.=` _.=`\ º 4. Tutorial º /`=._ `=.^|:;"
  2575. echo '^|_.=` __\ º 5. Playback º /__ `=._^|'
  2576. echo `\_..==`` / º 6. About º \ ``==.._/`
  2577. echo .'.___.-'. º 7. Exit º .'-.___.'.
  2578. echo / \ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ / \
  2579. echo ('--......--') ('--......--')
  2580. echo /'--......--'\ /'--......--'\
  2581. echo `"--......--"` `"--......--"`
  2582. set /p choose=^> Choose a number:
  2583. if "!choose!" == "1" goto play
  2584. if "!choose!" == "2" goto loadgame
  2585. if "!choose!" == "3" goto config
  2586. if "!choose!" == "4" goto tutorial
  2587. if "!choose!" == "5" goto gameplayback
  2588. if "!choose!" == "6" goto about
  2589. if "!choose!" == "7" exit
  2590. goto menu
  2591.  
  2592.  
  2593. :loadgame
  2594. cls
  2595. echo.
  2596. echo Enter the name of the game you wish to continue.
  2597. echo.
  2598. echo -b/Back
  2599. echo.
  2600. set /p name=File name:
  2601. if /i "!name!" == "-b" goto menu
  2602. if /i not exist "!name!" set name=!name!.sav
  2603. if /i not exist "!name!" (
  2604. echo.
  2605. echo File not found^^!
  2606. echo.
  2607. pause
  2608. goto loadgame
  2609. )
  2610. set scr=1
  2611. set file=
  2612. set rank=
  2613. set tw=White
  2614. set tb=Black
  2615. set vn=1
  2616. for %%d in (piece v_file1 v_file2 v_rank1 v_rank2) do set %%d=
  2617. for /l %%r in (1,1,8) do set r%%r=
  2618. for /l %%s in (1,1,64) do set a%%s=!bbb!
  2619. for /f "tokens=1,2 delims==" %%a in (!name!) do set %%a=%%b
  2620. for %%w in (a1 a3 a5 a7 a10 a12 a14 a16 a17 a19 a21 a23 a26 a28 a30 a32 a33 a35 a37 a39 a42 a44 a46 a48 a49 a51 a53 a55 a58 a60 a62 a64) do (
  2621. if "!%%w!" == "!bbb!" set %%w=!www!
  2622. )
  2623. goto game
  2624.  
  2625.  
  2626. REM =============================== GAME ===============================
  2627.  
  2628. :play
  2629. cls
  2630. echo.
  2631. echo -b/Back
  2632. echo.
  2633. set /p wplayer=White's name:
  2634. if /i "!wplayer!" == "-b" goto menu
  2635. echo.
  2636. set /p bplayer=Black's name:
  2637. if /i "!bplayer!" == "-b" goto play
  2638. title Batch Chess - !wplayer! vs. !bplayer!
  2639.  
  2640. if exist "tmp.txt" del tmp.txt
  2641. set movec=0
  2642. set scr=1
  2643. set file=
  2644. set rank=
  2645. set vn=1
  2646. for %%d in (piece v_file1 v_file2 v_rank1 v_rank2) do set %%d=
  2647. set wkingpos=
  2648. set bkingpos=
  2649. set draw=
  2650. for %%r in (a1 a8 a57 a64) do set %%rrook=
  2651.  
  2652. if /i "!first!" == "w" (set turn=w) ELSE set turn=b
  2653. set tw=White
  2654. set tb=Black
  2655. set wpieces=16
  2656. set bpieces=16
  2657.  
  2658. for /l %%s in (1,1,64) do set a%%s=!bbb!
  2659. for %%w in (a1 a3 a5 a7 a10 a12 a14 a16 a17 a19 a21 a23 a26 a28 a30 a32 a33 a35 a37 a39 a42 a44 a46 a48 a49 a51 a53 a55 a58 a60 a62 a64) do set %%w=!www!
  2660. for /l %%a in (1,1,8) do set f%%a=
  2661. for /l %%a in (1,1,8) do set r%%a=
  2662.  
  2663. for /l %%p in (9,1,16) do set bpawn%%p=orig
  2664. for /l %%p in (49,1,56) do set wpawn%%p=orig
  2665.  
  2666. REM White
  2667. for /l %%P in (49,1,56) do set a%%P=!wPawn!
  2668. for %%R in (a57 a64) do set %%R=!wRook!
  2669. for %%K in (a58 a63) do set %%K=!wKnight!
  2670. for %%B in (a59 a62) do set %%B=!wBishop!
  2671. set a60=!wQueen!
  2672. set a61=!wKing!
  2673. set wkinglocate=61
  2674.  
  2675. REM Black
  2676. for /l %%P in (9,1,16) do set a%%P=!bPawn!
  2677. for %%R in (a1 a8) do set %%R=!bRook!
  2678. for %%K in (a2 a7) do set %%K=!bKnight!
  2679. for %%B in (a3 a6) do set %%B=!bBishop!
  2680. set a4=!bQueen!
  2681. set a5=!bKing!
  2682. set bkinglocate=5
  2683.  
  2684. :variants
  2685. cls
  2686. echo.
  2687. echo Choose a game type:
  2688. echo.
  2689. echo 1. Normal Play
  2690. echo 2. Last Army Standing
  2691. echo 3. Knights and Pawns
  2692. echo 4. Bishops and Pawns
  2693. echo 5. Rooks and Pawns
  2694. echo.
  2695. echo b/Back
  2696. echo.
  2697. set /p choose=Choose a number:
  2698. if /i "!choose!" == "b" goto menu
  2699. if "!choose!" == "1" goto game
  2700. if "!choose!" == "2" (set variant=las) && goto game
  2701. if "!choose!" == "3" for %%k in (a1 a2 a3 a4 a6 a7 a8) do set %%k=!bKnight!
  2702. if "!choose!" == "3" for %%k in (a57 a58 a59 a60 a62 a63 a64) do set %%k=!wKnight!
  2703. if "!choose!" == "4" for %%b in (a1 a2 a3 a4 a6 a7 a8) do set %%b=!bBishop!
  2704. if "!choose!" == "4" for %%b in (a57 a58 a59 a60 a62 a63 a64) do set %%b=!wBishop!
  2705. if "!choose!" == "5" for %%r in (a1 a2 a3 a4 a6 a7 a8) do set %%r=!bRook!
  2706. if "!choose!" == "5" for %%r in (a57 a58 a59 a60 a62 a63 a64) do set %%r=!wRook!
  2707. if !choose! GEQ 1 if !choose! LEQ 5 goto game
  2708. goto variants
  2709.  
  2710.  
  2711.  
  2712. :game
  2713. cls
  2714. echo.
  2715. echo !t%turn%!'s move [!%turn%player!]
  2716. echo.
  2717. call :r!scr!
  2718. echo.
  2719. echo.
  2720. echo k/Let go L-R/Rotate o/Options s/Resign
  2721. echo.
  2722. choice /c:12345678abcdefghklrso /n
  2723. REM Skip turn: if ERRORLEVEL # (if "!turn!" == "w" (set turn=b) ELSE set turn=w) && goto game
  2724. if ERRORLEVEL 21 goto options
  2725. if ERRORLEVEL 20 goto resign
  2726. REM weird bug for 18 and 19...
  2727. if "!ERRORLEVEL!"=="19" (set rotater=r) && goto rotater
  2728. if "!ERRORLEVEL!"=="18" (set rotater=l) && goto rotater
  2729. if ERRORLEVEL 17 goto drop_piece
  2730. if ERRORLEVEL 16 (set v_file!vn!=H) && (set seed=8) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2731. if ERRORLEVEL 15 (set v_file!vn!=G) && (set seed=7) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2732. if ERRORLEVEL 14 (set v_file!vn!=F) && (set seed=6) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2733. if ERRORLEVEL 13 (set v_file!vn!=E) && (set seed=5) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2734. if ERRORLEVEL 12 (set v_file!vn!=D) && (set seed=4) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2735. if ERRORLEVEL 11 (set v_file!vn!=C) && (set seed=3) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2736. if ERRORLEVEL 10 (set v_file!vn!=B) && (set seed=2) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2737. if ERRORLEVEL 9 (set v_file!vn!=A) && (set seed=1) && (for /l %%a in (1,1,8) do set f%%a= ) && (set f!seed!=!file!) && goto game
  2738. if ERRORLEVEL 8 (set v_rank!vn!=8) && call set plus=0
  2739. if ERRORLEVEL 7 (set v_rank!vn!=7) && call set plus=8
  2740. if ERRORLEVEL 6 (set v_rank!vn!=6) && call set plus=16
  2741. if ERRORLEVEL 5 (set v_rank!vn!=5) && call set plus=24
  2742. if ERRORLEVEL 4 (set v_rank!vn!=4) && call set plus=32
  2743. if ERRORLEVEL 3 (set v_rank!vn!=3) && call set plus=40
  2744. if ERRORLEVEL 2 (set v_rank!vn!=2) && call set plus=48
  2745. if ERRORLEVEL 1 (set v_rank!vn!=1) && call set plus=56
  2746.  
  2747.  
  2748.  
  2749. for /l %%a in (1,1,8) do set r%%a=
  2750. set /a r=(!plus!/8)+1
  2751. set r!r!=!rank!
  2752. if not defined seed goto game
  2753. set /a getpos=!seed!+!plus!
  2754. set seed=
  2755. set plus=
  2756.  
  2757.  
  2758. if defined piece goto moveto
  2759. call set piece=%%a%getpos%%%
  2760. if "!piece!" == "!bbb!" (set piece=) && goto game
  2761. if "!piece!" == "!www!" (set piece=) && goto game
  2762.  
  2763. REM Check against picking up other players pieces...
  2764.  
  2765. if not "!piece!" == "!%turn%Pawn!" (
  2766. if not "!piece!" == "!%turn%Rook!" (
  2767. if not "!piece!" == "!%turn%Knight!" (
  2768. if not "!piece!" == "!%turn%Bishop!" (
  2769. if not "!piece!" == "!%turn%Queen!" (
  2770. if not "!piece!" == "!%turn%King!" (
  2771. echo.
  2772. echo You cannot pick up the other player's pieces^^!
  2773. echo.
  2774. set illegal=
  2775. set piece=
  2776. set v_file1=
  2777. set v_rank1=
  2778. set origpos=
  2779. set getpos=
  2780. pause
  2781. goto game
  2782. ))))))
  2783. set origpos=!getpos!
  2784. set vn=2
  2785. goto game
  2786.  
  2787. :drop_piece
  2788. set vn=1
  2789. for %%d in (v_file1 v_file2 v_rank1 v_rank2 piece) do set %%d=
  2790. goto game
  2791.  
  2792. :moveto
  2793. set !turn!lastp=
  2794. if "!turn!" == "w" (set opp=b) ELSE set opp=w
  2795. if "!turn!" == "w" (set ps=-) ELSE set ps=+
  2796. if "!getpos!" == "!origpos!" goto samesquare
  2797.  
  2798. call set captured=%%a!getpos!%%
  2799. if /i "!piece!" == "!%turn%Pawn!" goto pawn_rules
  2800. if /i "!piece!" == "!%turn%Rook!" goto rook_rules
  2801. if /i "!piece!" == "!%turn%Knight!" goto knight_rules
  2802.  
  2803. if /i "!piece!" == "!%turn%Bishop!" goto bishop_rules
  2804.  
  2805. if /i "!piece!" == "!%turn%Queen!" goto rook_rules
  2806. if /i "!piece!" == "!%turn%King!" goto king_rules
  2807. REM Queen is a combination of rook_rules and bishop_rules
  2808.  
  2809. REM ========================== Check ==========================
  2810. :next
  2811. REM Anti-capture-your-own-piece
  2812. if "!captured!" == "!%turn%Pawn!" set illegal=true
  2813. if "!captured!" == "!%turn%Rook!" set illegal=true
  2814. if "!captured!" == "!%turn%Knight!" set illegal=true
  2815. if "!captured!" == "!%turn%Bishop!" set illegal=true
  2816. if "!captured!" == "!%turn%Queen!" set illegal=true
  2817. if "!captured!" == "!%turn%King!" set illegal=true
  2818. if /i "!illegal!" == "true" (
  2819. echo.
  2820. echo You cannot do that^^!
  2821. echo.
  2822. pause
  2823. :samesquare
  2824. set vn=1
  2825. call set !turn!pawn!origpos!=!prepawn!
  2826. for %%d in (illegal piece origpos getpos promo v_rank1 v_rank2 v_file1 v_file2) do set %%d=
  2827. goto game
  2828. )
  2829. set a!origpos!=!bbb!
  2830. for %%w in (a1 a3 a5 a7 a10 a12 a14 a16 a17 a19 a21 a23 a26 a28 a30 a32 a33 a35 a37 a39 a42 a44 a46 a48 a49 a51 a53 a55 a58 a60 a62 a64) do (
  2831. if "!%%w!" == "!bbb!" set %%w=!www!
  2832. )
  2833. set a!getpos!=!piece!
  2834. if "!variant!" == "las" goto las
  2835.  
  2836. :check
  2837. REM Knight Moves
  2838. set /a v1=!%turn%kinglocate!-15
  2839. set /a v2=!%turn%kinglocate!-17
  2840. set /a v3=!%turn%kinglocate!-6
  2841. set /a v4=!%turn%kinglocate!-10
  2842. set /a v5=!%turn%kinglocate!+15
  2843. set /a v6=!%turn%kinglocate!+17
  2844. set /a v7=!%turn%kinglocate!+6
  2845. set /a v8=!%turn%kinglocate!+10
  2846. for /l %%c in (1,1,8) do (
  2847. call set m=%%a!v%%c!%%
  2848. if "!m!" == "!%opp%Knight!" set illegal=true
  2849. )
  2850. if "!illegal!" == "true" goto badmove
  2851.  
  2852. REM Pawn/King
  2853. if "!ps!" == "-" (set oppps=+) ELSE set opps=-
  2854. set /a v1=!%turn%kinglocate!!ps!9
  2855. set /a v2=!%turn%kinglocate!-8
  2856. set /a v3=!%turn%kinglocate!!ps!7
  2857. set /a v4=!%turn%kinglocate!-1
  2858. set /a v5=!%turn%kinglocate!+1
  2859. set /a v6=!%turn%kinglocate!!oppps!7
  2860. set /a v7=!%turn%kinglocate!+8
  2861. set /a v8=!%turn%kinglocate!!oppps!9
  2862. for /l %%v in (1,1,8) do (
  2863. call set m=%%a!v%%v!%%
  2864. if "!m!" == "!%opp%King!" set illegal=true
  2865. if "%%v" == "1" if "!m!" == "!%opp%Pawn!" set illegal=true
  2866. if "%%v" == "3" if "!m!" == "!%opp%Pawn!" set illegal=true
  2867. )
  2868. if "!illegal!" == "true" goto badmove
  2869.  
  2870. for /l %%v in (1,1,14) do set v%%v=
  2871.  
  2872. REM Rook/Queen
  2873. REM L and R
  2874. call :check_vals
  2875. for /l %%v in (1,1,7) do (
  2876. set /a seed-=1
  2877. set /a n-=1
  2878. if !seed! GEQ 1 set v%%v=!n!
  2879. )
  2880. call :check_vals
  2881. for /l %%v in (8,1,14) do (
  2882. set /a seed+=1
  2883. set /a n+=1
  2884. if !seed! LEQ 8 set v%%v=!n!
  2885. )
  2886. for /l %%v in (7,-1,1) do (
  2887. call set m=%%a!v%%v!%%
  2888. if "!m!" == "!%opp%Rook!" set illegal=true
  2889. if "!m!" == "!%opp%Queen!" set illegal=true
  2890. if not "!m!" == "!bbb!" if not "!m!" == "!www!" if not "!m!" == "!%opp%Rook!" if not "!m!" == "!%opp%Queen!" set illegal=
  2891. )
  2892. if "!illegal!" == "true" goto badmove
  2893. for /l %%v in (14,-1,8) do (
  2894. call set m=%%a!v%%v!%%
  2895. if "!m!" == "!%opp%Rook!" set illegal=true
  2896. if "!m!" == "!%opp%Queen!" set illegal=true
  2897. if not "!m!" == "!bbb!" if not "!m!" == "!www!" if not "!m!" == "!%opp%Rook!" if not "!m!" == "!%opp%Queen!" set illegal=
  2898. )
  2899. if "!illegal!" == "true" goto badmove
  2900.  
  2901. for /l %%v in (1,1,14) do set v%%v=
  2902.  
  2903. REM Up/Down
  2904. set n=!%turn%kinglocate!
  2905. for /l %%v in (1,1,7) do (
  2906. set /a n-=8
  2907. if !n! GEQ 1 set v%%v=!n!
  2908. )
  2909. set n=!%turn%kinglocate!
  2910. for /l %%v in (8,1,14) do (
  2911. set /a n+=8
  2912. if !n! LEQ 64 set v%%v=!n!
  2913. )
  2914. for /l %%v in (14,-1,8) do (
  2915. call set m=%%a!v%%v!%%
  2916. if "!m!" == "!%opp%Rook!" set illegal=true
  2917. if "!m!" == "!%opp%Queen!" set illegal=true
  2918. if not "!m!" == "!bbb!" if not "!m!" == "!www!" if not "!m!" == "!%opp%Rook!" if not "!m!" == "!%opp%Queen!" set illegal=
  2919. )
  2920. if "!illegal!" == "true" goto badmove
  2921. for /l %%v in (7,-1,1) do (
  2922. call set m=%%a!v%%v!%%
  2923. if "!m!" == "!%opp%Rook!" set illegal=true
  2924. if "!m!" == "!%opp%Queen!" set illegal=true
  2925. if not "!m!" == "!bbb!" if not "!m!" == "!www!" if not "!m!" == "!%opp%Rook!" if not "!m!" == "!%opp%Queen!" set illegal=
  2926. )
  2927. if "!illegal!" == "true" goto badmove
  2928. for /l %%v in (1,1,28) do set v%%v=
  2929.  
  2930.  
  2931.  
  2932. REM Bishop/Queen
  2933. call :check_vals
  2934. for /l %%v in (1,1,7) do (
  2935. set /a seed-=1
  2936. set /a n+=7
  2937. if !seed! GEQ 1 set v%%v=!n!
  2938. )
  2939. call :check_vals
  2940. for /l %%v in (8,1,14) do (
  2941. set /a seed+=1
  2942. set /a n-=7
  2943. if !seed! LEQ 8 set v%%v=!n!
  2944. )
  2945. call :check_vals
  2946. for /l %%v in (15,1,21) do (
  2947. set /a seed-=1
  2948. set /a n-=9
  2949. if !seed! GEQ 1 set v%%v=!n!
  2950. )
  2951. call :check_vals
  2952. for /l %%v in (22,1,28) do (
  2953. set /a seed+=1
  2954. set /a n+=9
  2955. if !seed! LEQ 8 set v%%v=!n!
  2956. )
  2957. (set n=28) && (set n2=22)
  2958. for /l %%f in (1,1,2) do (
  2959. for /l %%v in (!n!,-1,!n2!) do (
  2960. call set m=%%a!v%%v!%%
  2961. if "!m!" == "!%opp%Bishop!" set illegal=true
  2962. if "!m!" == "!%opp%Queen!" set illegal=true
  2963. if not "!m!" == "!bbb!" if not "!m!" == "!www!" if not "!m!" == "!%opp%Bishop!" if not "!m!" == "!%opp%Queen!" set illegal=
  2964. )
  2965. (set n=21) && (set n2=15)
  2966. if "!illegal!" == "true" goto badmove
  2967. )
  2968. (set n=14) && (set n2=8)
  2969. for /l %%f in (1,1,2) do (
  2970. for /l %%v in (!n!,-1,!n2!) do (
  2971. call set m=%%a!v%%v!%%
  2972. if "!m!" == "!%opp%Bishop!" set illegal=true
  2973. if "!m!" == "!%opp%Queen!" set illegal=true
  2974. if not "!m!" == "!bbb!" if not "!m!" == "!www!" if not "!m!" == "!%opp%Bishop!" if not "!m!" == "!%opp%Queen!" set illegal=
  2975. )
  2976. (set n=7) && (set n2=1)
  2977. if "!illegal!" == "true" goto badmove
  2978. )
  2979.  
  2980.  
  2981. :badmove
  2982. if "!illegal!" == "true" (
  2983. set a!origpos!=!piece!
  2984. set a!getpos!=!captured!
  2985. if "!piece!" == "!%turn%King!" set %turn%kinglocate=!origpos!
  2986. if "!piece!" == "!%turn%Pawn!" set %turn%pawn%origpos%=!prepawn!
  2987. set promo=
  2988. set piece=
  2989. set origpos=
  2990. set getpos=
  2991. echo.
  2992. echo Your king is either already in check, or you are attempting
  2993. echo to make a move that will put your king in check.
  2994. echo.
  2995. pause
  2996. goto game
  2997. )
  2998. if "!oppcheck!" == "t" exit /b
  2999.  
  3000. :las
  3001. set lastmove=Last move: [!piece!] !v_file1!!v_rank1! Ä^!ar! !v_file2!!v_rank2!
  3002. if /i not "!displastmove!" == "On " set lastmove=
  3003. echo !piece!-!origpos!-!getpos!>>tmp.txt
  3004. if "!turn!" == "!first!" set /a movec+=1
  3005.  
  3006. if "!turn!" == "w" (set oppt=b) ELSE set oppt=w
  3007. if not "!captured!" == "!www!" if not "!captured!" == "!bbb!" set /a !oppt!pieces-=1
  3008. if "!%oppt%pieces!" == "0" (set winner=!turn!) && goto gameover
  3009.  
  3010. if "!piece!" == "!%turn%King!" set !turn!kingpos=moved
  3011. if "!piece!" == "!%turn%Rook!" set a!origpos!rook=moved
  3012. if "!promo!" == "t" call :promo
  3013. set piece=
  3014. set v_file1=
  3015. set v_file2=
  3016. set v_rank1=
  3017. set v_rank2=
  3018. set vn=1
  3019. set origpos=
  3020. set getpos=
  3021. if "!turn!" == "w" (call set turn=b) ELSE call set turn=w
  3022. set rotater=r
  3023. if /i "!autorotate!" == "On " (call :rotate) && (call :rotate)
  3024. goto game
  3025.  
  3026.  
  3027. :check_vals
  3028. set /a seed=!%turn%kinglocate!%%8
  3029. if "!seed!" == "0" set seed=8
  3030. set n=!%turn%kinglocate!
  3031. exit /b
  3032.  
  3033. rem =================================== End of check ===================================
  3034.  
  3035. :pawn_rules
  3036. set prepawn=!%turn%pawn%origpos%!
  3037. set /a v1=!origpos!!ps!8
  3038. set /a v2=!origpos!!ps!7
  3039. set /a v3=!origpos!!ps!9
  3040. set /a v4=!origpos!!ps!16
  3041. if not "!getpos!" == "!v1!" (
  3042. if not "!getpos!" == "!v2!" (
  3043. if not "!getpos!" == "!v3!" (
  3044. if not "!getpos!" == "!v4!" (
  3045. set illegal=true
  3046. goto next
  3047. ))))
  3048. set !turn!pawn!origpos!=moved
  3049. REM 2 Spaces
  3050. if "!getpos!" == "!v4!" (
  3051. if not "!a%v1%!" == "!bbb!" if not "!a%v1%!" == "!www!" set illegal=true
  3052. if not "!captured!" == "!bbb!" if not "!captured!" == "!www!" set illegal=true
  3053. if not "!prepawn!" == "orig" set illegal=true
  3054. if not "!illegal!" == "true" (set !turn!pawn!origpos!=2spaces) && set !turn!lastp=!getpos!
  3055. )
  3056. REM Straight
  3057. if "!getpos!" == "!v1!" if not "!captured!" == "!bbb!" if not "!captured!" == "!www!" set illegal=true
  3058. REM Right/Left
  3059. if "!getpos!" == "!v2!" goto lfpawn
  3060. if "!getpos!" == "!v3!" (
  3061. :lfpawn
  3062. if "!captured!" == "!bbb!" set illegal=true
  3063. if "!captured!" == "!www!" set illegal=true
  3064. set /a enp=!getpos!-!ps!8
  3065. REM set m=!a%enp%!
  3066. if "!a%enp%!" == "!%opp%Pawn!" if "!enp!" == "!%opp%lastp!" (
  3067. if "!captured!" == "!bbb!" (set a!enp!=!bbb!) && set illegal=
  3068. if "!captured!" == "!www!" (set a!enp!=!bbb!) && set illegal=
  3069. )
  3070. )
  3071. if "!turn!" == "w" for /l %%p in (1,1,8) do if "!getpos!" == "%%p" set promo=t
  3072. if "!turn!" == "b" for /l %%p in (57,1,64) do if "!getpos!" == "%%p" set promo=t
  3073. goto antiteleport
  3074.  
  3075.  
  3076. :rook_rules
  3077. set illegal=true
  3078. set /a seed=!origpos!%%8
  3079. if "!seed!" == "0" set seed=8
  3080. set /a seed2=!getpos!%%8
  3081. if "!seed2!" == "0" set seed2=8
  3082.  
  3083. set s1=-
  3084. set s2=GEQ 1
  3085. set n=!origpos!
  3086.  
  3087. REM Left and Right
  3088. if not "!seed!" == "!seed2!" (
  3089. if !getpos! GTR !origpos! ((set s1=+) && (set s2=LEQ 8))
  3090. for /l %%v in (1,1,7) do (
  3091. set /a seed!s1!=1
  3092. set /a n!s1!=1
  3093. if !seed! %s2% set v%%v=!n!
  3094. ))
  3095.  
  3096. REM Up and Down
  3097. if "!seed!" == "!seed2!" (
  3098. if !getpos! GTR !origpos! ((set s1=+) && (set s2=LEQ 64))
  3099. for /l %%v in (1,1,7) do (
  3100. set /a n!s1!=8
  3101. if !n! %s2% set v%%v=!n!
  3102. ))
  3103. for /l %%i in (1,1,7) do if "!getpos!" == "!v%%i!" set illegal=
  3104.  
  3105. if not "!piece!" == "!%turn%Queen!" if "!illegal!" == "true" goto next
  3106.  
  3107. REM Check against jumping over pieces...
  3108. if not "!illegal!" == "true" (
  3109. for /l %%j in (7,-1,1) do (
  3110. call set m=%%a!v%%j!%%
  3111. if not "!m!" == "!bbb!" if not "!m!" == "!www!" set illegal=true
  3112. if "!getpos!" == "!v%%j!" set illegal=
  3113. ))
  3114. if "!illegal!" == "true" if "!piece!" == "!%turn%Queen!" goto bishop_rules
  3115. goto next
  3116.  
  3117.  
  3118.  
  3119. :knight_rules
  3120. set illegal=true
  3121. set /a v1=!origpos!-15
  3122. set /a v2=!origpos!-17
  3123. set /a v3=!origpos!-6
  3124. set /a v4=!origpos!-10
  3125. set /a v5=!origpos!+15
  3126. set /a v6=!origpos!+17
  3127. set /a v7=!origpos!+6
  3128. set /a v8=!origpos!+10
  3129. for /l %%c in (1,1,8) do if "!getpos!" == "!v%%c!" set illegal=
  3130. goto antiteleport
  3131.  
  3132.  
  3133. :bishop_rules
  3134. set illegal=true
  3135.  
  3136. REM Get direction...
  3137. set /a seed=!origpos!%%8
  3138. if "!seed!" == "0" set seed=8
  3139. set c=!seed!
  3140. set n=!origpos!
  3141. set /a seed2=!getpos!%%8
  3142.  
  3143.  
  3144. if "!seed2!" == "0" set seed2=8
  3145. if !getpos! GTR !origpos! set s3=+
  3146. if !getpos! LSS !origpos! set s3=-
  3147.  
  3148. REM echo !origpos! !getpos! !seed! !seed2!
  3149.  
  3150. if !seed2! GTR !seed! ((set s1=+) && (set s2=LEQ 8))
  3151. if !seed2! LSS !seed! ((set s1=-) && (set s2=GEQ 1))
  3152.  
  3153. set inc=7
  3154. if "!s1!" == "+" if !getpos! GTR !origpos! set inc=9
  3155. if "!s1!" == "-" if !getpos! LSS !origpos! set inc=9
  3156.  
  3157. REM echo !s1! !s2! !s3! -- !inc!
  3158. REM pause
  3159.  
  3160. REM Check for valid moves...
  3161. for /l %%v in (1,1,7) do (
  3162. set /a c!s1!=1
  3163. set /a n=!n!!s3!!inc!
  3164. REM echo !c! !s2! -- !n!
  3165. if !c! %s2% set v%%v=!n!
  3166. )
  3167. for /l %%i in (1,1,7) do if "!getpos!" == "!v%%i!" set illegal=
  3168. if "!illegal!" == "true" goto next
  3169.  
  3170. REM Check against jumping over pieces...
  3171. for /l %%j in (7,-1,1) do (
  3172. call set m=%%a!v%%j!%%
  3173. if not "!m!" == "!bbb!" if not "!m!" == "!www!" set illegal=true
  3174. if "!getpos!" == "!v%%j!" set illegal=
  3175. )
  3176. goto next
  3177.  
  3178. REM queen_rules is a combination of rook_rules and bishop_rules
  3179.  
  3180. :king_rules
  3181. set illegal=true
  3182. set /a v1=!origpos!-9
  3183. set /a v2=!origpos!-8
  3184. set /a v3=!origpos!-7
  3185. set /a v4=!origpos!-1
  3186. set /a v5=!origpos!+1
  3187. set /a v6=!origpos!+7
  3188. set /a v7=!origpos!+8
  3189. set /a v8=!origpos!+9
  3190. set /a v9=!origpos!-2
  3191. set /a v10=!origpos!+2
  3192. for /l %%c in (1,1,10) do if "!getpos!" == "!v%%c!" set illegal=
  3193.  
  3194. if "!getpos!" == "!v9!" (
  3195. if "!%turn%kingpos!" == "moved" (set illegal=true) && goto next
  3196. set /a n=!origpos!-3
  3197. if "!turn!" == "b" if not "!a1!" == "!%turn%Rook!" set illegal=true
  3198. if "!turn!" == "w" if not "!a57!" == "!%turn%Rook!" set illegal=true
  3199. if "!turn!" == "b" if "!a1rook!" == "moved" set illegal=true
  3200. if "!turn!" == "w" if "!a57rook!" == "moved" set illegal=true
  3201. for /l %%r in (!origpos!,-1,!n!) do (
  3202. if not "!a%%r!" == "!bbb!" if not "!a%%r!" == "!www!" if not "!a%%r!" == "!%turn%King!" set illegal=true
  3203. )
  3204. if not "!illegal!" == "true" (
  3205. if "!turn!" == "b" (set a1= ) && set a4=!%turn%Rook!
  3206. if "!turn!" == "w" (set a57= ) && set a60=!%turn%Rook!
  3207. )
  3208. goto next
  3209. )
  3210. if "!getpos!" == "!v10!" (
  3211. if "!%turn%kingpos!" == "moved" (set illegal=true) && goto next
  3212. set /a n=!origpos!+2
  3213. if "!turn!" == "b" if not "!a8!" == "!%turn%Rook!" set illegal=true
  3214. if "!turn!" == "w" if not "!a64!" == "!%turn%Rook!" set illegal=true
  3215. if "!turn!" == "b" if "!a8rook!" == "moved" set illegal=true
  3216. if "!turn!" == "w" if "!a64rook!" == "moved" set illegal=true
  3217. for /l %%r in (!origpos!,1,!n!) do (
  3218. if not "!a%%r!" == "!bbb!" if not "!a%%r!" == "!www!" if not "!a%%r!" == "!%turn%King!" set illegal=true
  3219. )
  3220. if not "!illegal!" == "true" (
  3221. if "!turn!" == "b" (set a8= ) && set a6=!%turn%Rook!
  3222. if "!turn!" == "w" (set a64= ) && set a62=!%turn%Rook!
  3223. )
  3224. goto next
  3225. )
  3226.  
  3227.  
  3228. :antiteleport
  3229. set /a tele1=!origpos!%%8
  3230. if "!tele1!" == "0" set tele1=8
  3231. set /a tele2=!getpos!%%8
  3232. if "!tele2!" == "0" set tele2=8
  3233. set /a anti=!tele1!-!tele2!
  3234. if !anti! LSS 0 set /a anti*=-1
  3235. if !anti! GTR 2 set illegal=true
  3236. if not "!illegal!" == "true" if "!piece!" == "!%turn%King!" set %turn%kinglocate=!getpos!
  3237. goto next
  3238.  
  3239. :promo
  3240. cls
  3241. echo.
  3242. echo.
  3243. call :r!scr!
  3244. ping localhost -n 2 >nul
  3245. :promo2
  3246. cls
  3247. echo Your pawn has reached its 8th rank.
  3248. echo Promote Pawn to:
  3249. echo.
  3250. echo 1. Queen
  3251. echo 2. Knight
  3252. echo 3. Bishop
  3253. echo 4. Rook
  3254. echo.
  3255. set /p choose=Choose a number:
  3256. if /i "!choose!" == "1" ((set a!getpos!=!%turn%Queen!) && (set promo=) && exit /b)
  3257. if /i "!choose!" == "2" ((set a!getpos!=!%turn%Knight!) && (set promo=) && exit /b)
  3258. if /i "!choose!" == "3" ((set a!getpos!=!%turn%Bishop!) && (set promo=) && exit /b)
  3259. if /i "!choose!" == "4" ((set a!getpos!=!%turn%Rook!) && (set promo=) && exit /b)
  3260. goto promo2
  3261.  
  3262. :resign
  3263. cls
  3264. echo.
  3265. echo !%turn%player!, do you really wish to resign?
  3266. echo.
  3267. set /p choose=[y/n]:
  3268. if /i "!choose!" == "n" goto game
  3269. if /i "!choose!" == "y" (
  3270. if "!turn!" == "w" (set winner=b) ELSE set winner=w
  3271. goto gameover
  3272. )
  3273. goto resign
  3274.  
  3275.  
  3276. :rotater
  3277. REM Yes, this is necessary to counter a weird bug.
  3278. call :rotate
  3279. goto game
  3280.  
  3281. :rotate
  3282. for /l %%a in (1,1,8) do set r%%a=
  3283. for /l %%a in (1,1,8) do set f%%a=
  3284. if "!rotater!" == "r" set /a scr+=1
  3285. if "!rotater!" == "l" set /a scr-=1
  3286. if !scr! LSS 1 set scr=4
  3287. if !scr! GTR 4 set scr=1
  3288. if "!scr!" == "1" (set file= ) && (set rank= )
  3289. if "!scr!" == "2" (set rank= ) && (set file= )
  3290. if "!scr!" == "3" (set file= ) && (set rank= )
  3291. if "!scr!" == "4" (set rank= ) && (set file= )
  3292. exit /b
  3293.  
  3294. REM Up
  3295. :r1
  3296. echo A B C D E F G H
  3297. echo. !f1! !f2! !f3! !f4! !f5! !f6! !f7! !f8!
  3298. echo !tlc!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!trc!
  3299. echo 8!r1! !ver! !a1! !ve2! !a2! !ve2! !a3! !ve2! !a4! !ve2! !a5! !ve2! !a6! !ve2! !a7! !ve2! !a8! !ver! 8 [!piece!] !v_file1!!v_rank1! Ä^> !v_file2!!v_rank2!
  3300. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3301. echo 7!r2! !ver! !a9! !ve2! !a10! !ve2! !a11! !ve2! !a12! !ve2! !a13! !ve2! !a14! !ve2! !a15! !ve2! !a16! !ver! 7 !lastmove!
  3302. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3303. echo 6!r3! !ver! !a17! !ve2! !a18! !ve2! !a19! !ve2! !a20! !ve2! !a21! !ve2! !a22! !ve2! !a23! !ve2! !a24! !ver! 6
  3304. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3305. echo 5!r4! !ver! !a25! !ve2! !a26! !ve2! !a27! !ve2! !a28! !ve2! !a29! !ve2! !a30! !ve2! !a31! !ve2! !a32! !ver! 5
  3306. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3307. echo 4!r5! !ver! !a33! !ve2! !a34! !ve2! !a35! !ve2! !a36! !ve2! !a37! !ve2! !a38! !ve2! !a39! !ve2! !a40! !ver! 4
  3308. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3309. echo 3!r6! !ver! !a41! !ve2! !a42! !ve2! !a43! !ve2! !a44! !ve2! !a45! !ve2! !a46! !ve2! !a47! !ve2! !a48! !ver! 3
  3310. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3311. echo 2!r7! !ver! !a49! !ve2! !a50! !ve2! !a51! !ve2! !a52! !ve2! !a53! !ve2! !a54! !ve2! !a55! !ve2! !a56! !ver! 2
  3312. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3313. echo 1!r8! !ver! !a57! !ve2! !a58! !ve2! !a59! !ve2! !a60! !ve2! !a61! !ve2! !a62! !ve2! !a63! !ve2! !a64! !ver! 1
  3314. echo !blc!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!brc!
  3315. echo.
  3316. echo A B C D E F G H
  3317. exit /b
  3318.  
  3319. REM Right
  3320. :r2
  3321. echo 1 2 3 4 5 6 7 8
  3322. echo. !r8! !r7! !r6! !r5! !r4! !r3! !r2! !r1!
  3323. echo !tlc!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!trc!
  3324. echo A!f1! !ver! !a57! !ve2! !a49! !ve2! !a41! !ve2! !a33! !ve2! !a25! !ve2! !a17! !ve2! !a9! !ve2! !a1! !ver! A [!piece!] !v_file1!!v_rank1! Ä^> !v_file2!!v_rank2!
  3325. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3326. echo B!f2! !ver! !a58! !ve2! !a50! !ve2! !a42! !ve2! !a34! !ve2! !a26! !ve2! !a18! !ve2! !a10! !ve2! !a2! !ver! B !lastmove!
  3327. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3328. echo C!f3! !ver! !a59! !ve2! !a51! !ve2! !a43! !ve2! !a35! !ve2! !a27! !ve2! !a19! !ve2! !a11! !ve2! !a3! !ver! C
  3329. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3330. echo D!f4! !ver! !a60! !ve2! !a52! !ve2! !a44! !ve2! !a36! !ve2! !a28! !ve2! !a20! !ve2! !a12! !ve2! !a4! !ver! D
  3331. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3332. echo E!f5! !ver! !a61! !ve2! !a53! !ve2! !a45! !ve2! !a37! !ve2! !a29! !ve2! !a21! !ve2! !a13! !ve2! !a5! !ver! E
  3333. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3334. echo F!f6! !ver! !a62! !ve2! !a54! !ve2! !a46! !ve2! !a38! !ve2! !a30! !ve2! !a22! !ve2! !a14! !ve2! !a6! !ver! F
  3335. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3336. echo G!f7! !ver! !a63! !ve2! !a55! !ve2! !a47! !ve2! !a39! !ve2! !a31! !ve2! !a23! !ve2! !a15! !ve2! !a7! !ver! G
  3337. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3338. echo H!f8! !ver! !a64! !ve2! !a56! !ve2! !a48! !ve2! !a40! !ve2! !a32! !ve2! !a24! !ve2! !a16! !ve2! !a8! !ver! H
  3339. echo !blc!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!brc!
  3340. echo.
  3341. echo 1 2 3 4 5 6 7 8
  3342. exit /b
  3343.  
  3344.  
  3345. REM Down
  3346. :r3
  3347. echo H G F E D C B A
  3348. echo. !f8! !f7! !f6! !f5! !f4! !f3! !f2! !f1!
  3349. echo !tlc!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!trc!
  3350. echo 1!r8! !ver! !a64! !ve2! !a63! !ve2! !a62! !ve2! !a61! !ve2! !a60! !ve2! !a59! !ve2! !a58! !ve2! !a57! !ver! 1 [!piece!] !v_file1!!v_rank1! Ä^> !v_file2!!v_rank2!
  3351. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3352. echo 2!r7! !ver! !a56! !ve2! !a55! !ve2! !a54! !ve2! !a53! !ve2! !a52! !ve2! !a51! !ve2! !a50! !ve2! !a49! !ver! 2 !lastmove!
  3353. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3354. echo 3!r6! !ver! !a48! !ve2! !a47! !ve2! !a46! !ve2! !a45! !ve2! !a44! !ve2! !a43! !ve2! !a42! !ve2! !a41! !ver! 3
  3355. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3356. echo 4!r5! !ver! !a40! !ve2! !a39! !ve2! !a38! !ve2! !a37! !ve2! !a36! !ve2! !a35! !ve2! !a34! !ve2! !a33! !ver! 4
  3357. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3358. echo 5!r4! !ver! !a32! !ve2! !a31! !ve2! !a30! !ve2! !a29! !ve2! !a28! !ve2! !a27! !ve2! !a26! !ve2! !a25! !ver! 5
  3359. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3360. echo 6!r3! !ver! !a24! !ve2! !a23! !ve2! !a22! !ve2! !a21! !ve2! !a20! !ve2! !a19! !ve2! !a18! !ve2! !a17! !ver! 6
  3361. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3362. echo 7!r2! !ver! !a16! !ve2! !a15! !ve2! !a14! !ve2! !a13! !ve2! !a12! !ve2! !a11! !ve2! !a10! !ve2! !a9! !ver! 7
  3363. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3364. echo 8!r1! !ver! !a8! !ve2! !a7! !ve2! !a6! !ve2! !a5! !ve2! !a4! !ve2! !a3! !ve2! !a2! !ve2! !a1! !ver! 8
  3365. echo !blc!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!brc!
  3366. echo.
  3367. echo H G F E D C B A
  3368. exit /b
  3369.  
  3370.  
  3371. REM Left
  3372. :r4
  3373. echo 8 7 6 5 4 3 2 1
  3374. echo. !r1! !r2! !r3! !r4! !r5! !r6! !r7! !r8!
  3375. echo !tlc!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!trc!
  3376. echo A!f1! !ver! !a8! !ve2! !a16! !ve2! !a24! !ve2! !a32! !ve2! !a40! !ve2! !a48! !ve2! !a56! !ve2! !a64! !ver! A [!piece!] !v_file1!!v_rank1! Ä^> !v_file2!!v_rank2!
  3377. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3378. echo B!f2! !ver! !a7! !ve2! !a15! !ve2! !a23! !ve2! !a31! !ve2! !a39! !ve2! !a47! !ve2! !a55! !ve2! !a63! !ver! B !lastmove!
  3379. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3380. echo C!f3! !ver! !a6! !ve2! !a14! !ve2! !a22! !ve2! !a30! !ve2! !a38! !ve2! !a46! !ve2! !a54! !ve2! !a62! !ver! C
  3381. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3382. echo D!f4! !ver! !a5! !ve2! !a13! !ve2! !a21! !ve2! !a29! !ve2! !a37! !ve2! !a45! !ve2! !a53! !ve2! !a61! !ver! D
  3383. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3384. echo E!f5! !ver! !a4! !ve2! !a12! !ve2! !a20! !ve2! !a28! !ve2! !a36! !ve2! !a44! !ve2! !a52! !ve2! !a60! !ver! E
  3385. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3386. echo F!f6! !ver! !a3! !ve2! !a11! !ve2! !a19! !ve2! !a27! !ve2! !a35! !ve2! !a43! !ve2! !a51! !ve2! !a59! !ver! F
  3387. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3388. echo G!f7! !ver! !a2! !ve2! !a10! !ve2! !a18! !ve2! !a26! !ve2! !a34! !ve2! !a42! !ve2! !a50! !ve2! !a58! !ver! G
  3389. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn!
  3390. echo H!f8! !ver! !a1! !ve2! !a9! !ve2! !a17! !ve2! !a25! !ve2! !a33! !ve2! !a41! !ve2! !a49! !ve2! !a57! !ver! H
  3391. echo !blc!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!brc!
  3392. echo.
  3393. echo 8 7 6 5 4 3 2 1
  3394. exit /b
  3395.  
  3396.  
  3397.  
  3398. :options
  3399. cls
  3400. echo.
  3401. echo Options
  3402. echo.
  3403. echo 1. Continue
  3404. echo 2. Declare Draw
  3405. echo 3. View game history
  3406. echo 4. View Pieces
  3407. echo 5. Save game for later
  3408. echo 6. Take Screenshot [.bat]
  3409. echo 7. Quit
  3410. echo.
  3411. set /p choose=Choose a number:
  3412. if "!choose!" == "1" goto game
  3413. if "!choose!" == "2" (set draw=true) && goto gameover
  3414. if "!choose!" == "3" (
  3415. cls
  3416. set /a h=!movec!+!movec!+7
  3417. if !h! LSS 30 set h=30
  3418. mode 80,!h!
  3419. echo.
  3420. echo Game History
  3421. echo.
  3422. for /f "tokens=1,2-3 delims=-" %%a in (tmp.txt) do (
  3423. set n=1
  3424. set l=%%b
  3425. for /l %%h in (1,1,2) do ((
  3426. set /a filen=!l!%%8
  3427. set /a rankn=!l!/8
  3428. if not "!filen!" == "0" set /a rankn+=1
  3429. if "!filen!" == "1" set file!n!=a
  3430. if "!filen!" == "2" set file!n!=b
  3431. if "!filen!" == "3" set file!n!=c
  3432. if "!filen!" == "4" set file!n!=d
  3433. if "!filen!" == "5" set file!n!=e
  3434. if "!filen!" == "6" set file!n!=f
  3435. if "!filen!" == "7" set file!n!=g
  3436. if "!filen!" == "0" set file!n!=h
  3437. if "!rankn!" == "1" set rank!n!=8
  3438. if "!rankn!" == "2" set rank!n!=7
  3439. if "!rankn!" == "3" set rank!n!=6
  3440. if "!rankn!" == "4" set rank!n!=5
  3441. if "!rankn!" == "5" set rank!n!=4
  3442. if "!rankn!" == "6" set rank!n!=3
  3443. if "!rankn!" == "7" set rank!n!=2
  3444. if "!rankn!" == "8" set rank!n!=1
  3445. )
  3446. set l=%%c
  3447. set n=2
  3448. )
  3449. echo [%%a] !file1!!rank1! -^> !file2!!rank2!>>temphist.txt
  3450. echo [%%a] !file1!!rank1! -^> !file2!!rank2!
  3451. )
  3452. echo.
  3453. set /p save=Save history? [y/n]:
  3454. if /i "!save!" == "y" (
  3455. echo.
  3456. set /p name=Save as:
  3457. find /v "exit /b" <temphist.txt> "!name!.txt"
  3458. )
  3459. if /i exist "temphist.txt" del temphist.txt
  3460. mode 80,30
  3461. )
  3462.  
  3463.  
  3464. if "!choose!" == "4" (
  3465. cls
  3466. echo.
  3467. echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿
  3468. echo ³ Type ³ White ³ Black ³
  3469. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  3470. echo ³ Pawn ³ !wPawn! ³ !bPawn! ³
  3471. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  3472. echo ³ Rook ³ !wRook! ³ !bRook! ³
  3473. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  3474. echo ³ Knight ³ !wKnight! ³ !bKnight! ³
  3475. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  3476. echo ³ Bishop ³ !wBishop! ³ !bBishop! ³
  3477. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  3478. echo ³ Queen ³ !wQueen! ³ !bQueen! ³
  3479. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  3480. echo ³ King ³ !wKing! ³ !bKing! ³
  3481. echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ
  3482. echo.
  3483. pause
  3484. )
  3485.  
  3486. if "!choose!" == "5" (
  3487. echo.
  3488. echo -b/Back
  3489. echo.
  3490. set /p name=Save game as:
  3491. if /i "!name!" == "-b" goto options
  3492. echo.
  3493. if /i exist "!name!.sav" (
  3494. echo.
  3495. echo File already exists^^!
  3496. echo.
  3497. pause
  3498. goto options
  3499. )
  3500. for /l %%s in (1,1,64) do (
  3501. if "!a%%s!" == "!bPawn!" echo a%%s=^^!bPawn^^!>>!name!.sav
  3502. if "!a%%s!" == "!bRook!" echo a%%s=^^!bRook^^!>>!name!.sav
  3503. if "!a%%s!" == "!bKnight!" echo a%%s=^^!bKnight^^!>>!name!.sav
  3504. if "!a%%s!" == "!bBishop!" echo a%%s=^^!bBishop^^!>>!name!.sav
  3505. if "!a%%s!" == "!bQueen!" echo a%%s=^^!bQueen^^!>>!name!.sav
  3506. if "!a%%s!" == "!bKing!" echo a%%s=^^!bKing^^!>>!name!.sav
  3507. if "!a%%s!" == "!wPawn!" echo a%%s=^^!wPawn^^!>>!name!.sav
  3508. if "!a%%s!" == "!wRook!" echo a%%s=^^!wRook^^!>>!name!.sav
  3509. if "!a%%s!" == "!wKnight!" echo a%%s=^^!wKnight^^!>>!name!.sav
  3510. if "!a%%s!" == "!wBishop!" echo a%%s=^^!wBishop^^!>>!name!.sav
  3511. if "!a%%s!" == "!wQueen!" echo a%%s=^^!wQueen^^!>>!name!.sav
  3512. if "!a%%s!" == "!wKing!" echo a%%s=^^!wKing^^!>>!name!.sav
  3513. )
  3514. for /l %%p in (9,1,16) do echo bpawn%%p=!bpawn%%p!>>!name!.sav
  3515. for /l %%p in (49,1,56) do echo wpawn%%p=!wpawn%%p!>>!name!.sav
  3516. echo wlastp=!wlastp!>>!name!.sav
  3517. echo blastp=!blastp!>>!name!.sav
  3518. echo variant=!variant!>>!name!.sav
  3519. echo wpieces=!wpieces!>>!name!.sav
  3520. echo bpieces=!bpieces!>>!name!.sav
  3521. for %%r in (a1 a8 a57 a64) do echo %%rrook=!%%rrook!>>!name!.sav
  3522. for %%k in (w b) do echo %%kkinglocate=!%%kkinglocate!>>!name!.sav
  3523. for %%k in (w b) do echo %%kkingpos=!%%kkingpos!>>!name!.sav
  3524. for %%n in (w b) do echo %%nplayer=!%%nplayer!>>!name!.sav
  3525. echo first=!first!>>!name!.sav
  3526. echo scr=!scr!>>!name!.sav
  3527. echo movec=!movec!>>!name!.sav
  3528. echo turn=!turn!>>!name!.sav
  3529. echo Game saved to "!name!.sav"
  3530. echo.
  3531. pause
  3532. )
  3533. if "!choose!" == "6" (
  3534. :scrshot
  3535. set ar=Ä
  3536. echo.
  3537. echo -b/Back
  3538. echo.
  3539. set /p name=Screenshot name:
  3540. if /i "!scr!" == "pbscr" if /i "!name!" == "-b" exit /b
  3541. if /i "!name!" == "-b" goto options
  3542. REM I'm awesome.
  3543. call :r!scr!>screenshot.txt
  3544. echo @echo off>>!name!.bat
  3545. echo echo.>>!name!.bat
  3546. for /f "tokens=1,2 delims=" %%a in (screenshot.txt) do echo echo.%%a>>!name!.bat
  3547. echo echo.>>!name!.bat
  3548. echo pause^>nul>>!name!.bat
  3549. del screenshot.txt
  3550. echo.
  3551. echo A screenshot of the board has been taken and stored to "!name!.bat"
  3552. echo.
  3553. pause
  3554. set ar=^>
  3555. if /i "!scr!" == "pbscr" exit /b
  3556. )
  3557. if "!choose!" == "7" goto menu
  3558. goto options
  3559.  
  3560. :gameover
  3561. if "!winner!" == "w" (set loser=b) ELSE set loser=w
  3562. cls
  3563. if not "!draw!" == "true" (
  3564. title Batch Chess - !%winner%player! Wins^^!
  3565. echo.
  3566. echo !%winner%player! [!t%winner%!] wins against !%loser%player! [!t%loser%!] in !movec! moves^^!
  3567. echo.
  3568. )
  3569. if "!draw!" == "true" (
  3570. echo.
  3571. echo Game ends in a draw.
  3572. echo.
  3573. )
  3574. set /p choose=Save game for playback? [y/n]:
  3575. if /i "!choose!" == "n" if exist "tmp.txt" del tmp.txt
  3576. if /i "!choose!" == "n" goto menu
  3577. if /i "!choose!" == "y" (
  3578. echo.
  3579. echo -b/Back
  3580. echo.
  3581. set /p name=Save playback as:
  3582. if /i "!name!" == "-b" goto gameover
  3583. if exist "!name!.txt" echo !name!.txt already exists!
  3584. if exist "!name!.txt" goto gameover
  3585. find /v "exit /b" <tmp.txt> "!name!.txt"
  3586. if exist "tmp.txt" del tmp.txt
  3587. echo.
  3588. echo Game playback saved.
  3589. echo.
  3590. pause
  3591. goto menu
  3592. )
  3593. goto gameover
  3594.  
  3595. REM =============================== END OF GAME ===============================
  3596.  
  3597. :default
  3598.  
  3599. set bf=07
  3600. set first=w
  3601. set autorotate=Off
  3602. set autoupdate=Off
  3603. set displastmove=On
  3604. call :d1
  3605. call :d2
  3606. exit /b
  3607. :d1
  3608. set wPawn=P
  3609. set wRook=R
  3610. set wKnight=N
  3611. set wBishop=B
  3612. set wQueen=Q
  3613. set wKing=K
  3614. set bPawn=p
  3615. set bRook=r
  3616. set bKnight=n
  3617. set bBishop=b
  3618. set bQueen=q
  3619. set bKing=k
  3620. exit /b
  3621. :d2
  3622. set tlc=É
  3623. set trc=»
  3624. set blc=È
  3625. set brc=¼
  3626. set cro=Å
  3627. set bar=ÍÍÍ
  3628. set ver=º
  3629. set tcn=Ñ
  3630. set bcn=Ï
  3631. set lcn=Ç
  3632. set rcn=¶
  3633. set ba2=ÄÄÄ
  3634. set ve2=³
  3635. set www=Û
  3636. set bbb=
  3637. exit /b
  3638.  
  3639. :save
  3640. if exist "config.bat" del config.bat
  3641. for %%w in (wPawn wRook wKnight wBishop wQueen wKing) do echo set %%w=!%%w!>>config.bat
  3642. for %%b in (bPawn bRook bKnight bBishop bQueen bKing) do echo set %%b=!%%b!>>config.bat
  3643. for %%B in (ve2 tlc trc blc brc cro bar ver tcn bcn lcn rcn ba2) do echo set %%B=!%%B!>>config.bat
  3644. echo set bf=!bf!>>config.bat
  3645. echo set first=!first!>>config.bat
  3646. echo set autorotate=!autorotate!>>config.bat
  3647. REM echo set autoupdate=!autoupdate!>>config.bat
  3648. echo set displastmove=!displastmove!>>config.bat
  3649. echo set www=!www!>>config.bat
  3650. echo set bbb=!bbb!>>config.bat
  3651. exit /b
  3652.  
  3653.  
  3654. :gameplayback
  3655. set ar=^>
  3656. echo.
  3657. echo Grab some popcorn...
  3658. echo.
  3659. set /p name=File name [-b/Back]:
  3660. if /i "!name!" == "-b" goto menu
  3661. if /i not exist "!name!" set name=!name!.txt
  3662. if /i not exist "!name!" (
  3663. echo.
  3664. echo File not found^^!
  3665. echo.
  3666. pause
  3667. goto menu
  3668. )
  3669. if /i "!name!" == "b" goto menu
  3670. echo.
  3671. set /p speed=Playback speed [0 = Fastest]:
  3672. if /i "!speed!" == "b" goto menu
  3673. :marker
  3674. echo.
  3675. set /p marker=Marker for current piece [3 characters]:
  3676. if /i "!marker!" == "b" goto menu
  3677. if "!marker:~2!"=="" (
  3678. :notthree
  3679. echo.
  3680. echo The marker must be 3 characters long^^!
  3681. echo.
  3682. pause
  3683. cls
  3684. goto marker
  3685. )
  3686. if not "!marker:~3!"=="" goto notthree
  3687.  
  3688. call :scrload
  3689. set file1=
  3690. set file2=
  3691. set rank1=
  3692. set rank2=
  3693. call :screen
  3694.  
  3695. for /f "tokens=1,2-3 delims=-" %%a in (!name!) do (
  3696. set piece=!a%%b!
  3697. set a%%b=!marker!
  3698. set file2=
  3699. set rank2=
  3700. set /a file1=%%b%%8
  3701. set /a rank1=%%b/8
  3702. if not "!file1!" == "0" set /a rank1+=1
  3703. if "!file1!" == "1" set file1=a
  3704. if "!file1!" == "2" set file1=b
  3705. if "!file1!" == "3" set file1=c
  3706. if "!file1!" == "4" set file1=d
  3707. if "!file1!" == "5" set file1=e
  3708. if "!file1!" == "6" set file1=f
  3709. if "!file1!" == "7" set file1=g
  3710. if "!file1!" == "0" set file1=h
  3711. set rset=
  3712. if "!rank1!" == "1" (set rank1=8) && set rset=t
  3713. if "!rank1!" == "2" (set rank1=7) && set rset=t
  3714. if "!rank1!" == "3" (set rank1=6) && set rset=t
  3715. if "!rank1!" == "4" (set rank1=5) && set rset=t
  3716. if not "!rset!" == "t" (
  3717. if "!rank1!" == "5" set rank1=4
  3718. if "!rank1!" == "6" set rank1=3
  3719. if "!rank1!" == "7" set rank1=2
  3720. if "!rank1!" == "8" set rank1=1
  3721. set rset=
  3722. )
  3723.  
  3724. call :screen
  3725. set a%%b= !bbb!
  3726. for %%w in (a1 a3 a5 a7 a10 a12 a14 a16 a17 a19 a21 a23 a26 a28 a30 a32 a33 a35 a37 a39 a42 a44 a46 a48 a49 a51 a53 a55 a58 a60 a62 a64) do (
  3727. if "!%%w!" == " !bbb! " set %%w= !www!
  3728. )
  3729. set a%%c=!marker!
  3730. set /a file2=%%c%%8
  3731. set /a rank2=%%c/8
  3732. if not "!file2!" == "0" set /a rank2+=1
  3733. if "!file2!" == "1" set file2=a
  3734. if "!file2!" == "2" set file2=b
  3735. if "!file2!" == "3" set file2=c
  3736. if "!file2!" == "4" set file2=d
  3737. if "!file2!" == "5" set file2=e
  3738. if "!file2!" == "6" set file2=f
  3739. if "!file2!" == "7" set file2=g
  3740. if "!file2!" == "0" set file2=h
  3741. set rset=
  3742. if "!rank2!" == "1" (set rank2=8) && set rset=t
  3743. if "!rank2!" == "2" (set rank2=7) && set rset=t
  3744. if "!rank2!" == "3" (set rank2=6) && set rset=t
  3745. if "!rank2!" == "4" (set rank2=5) && set rset=t
  3746. if not "!rset!" == "t" (
  3747. if "!rank2!" == "5" set rank2=4
  3748. if "!rank2!" == "6" set rank2=3
  3749. if "!rank2!" == "7" set rank2=2
  3750. if "!rank2!" == "8" set rank2=1
  3751. set rset=
  3752. )
  3753. call :screen
  3754. set a%%c=!piece!
  3755. call :screen
  3756. )
  3757. echo.
  3758. echo Game ends.
  3759. echo.
  3760. ping localhost -n 2 >nul
  3761. pause
  3762. goto menu
  3763.  
  3764. :screen
  3765. cls
  3766. call :rpbscr
  3767. echo.
  3768. echo f/Fast Forward p/Pause
  3769. choice /t:!speed! /d:f /c:pf /n >nul
  3770.  
  3771. if "!ERRORLEVEL!" == "1" (
  3772. echo.
  3773. echo 1. Continue
  3774. echo 2. Take Screenshot
  3775. echo 3. Quit and go to menu
  3776. echo.
  3777. set /p choose=Choose a number:
  3778. cls
  3779. if "!choose!" == "2" set scr=pbscr
  3780. if "!choose!" == "2" call :scrshot
  3781. if "!choose!" == "3" goto menu
  3782. )
  3783. exit /b
  3784.  
  3785. :rpbscr
  3786. echo.
  3787. echo A B C D E F G H
  3788. echo.
  3789. echo ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ»
  3790. echo 8 º!a1!³!a2!³!a3!³!a4!³!a5!³!a6!³!a7!³!a8!º 8 [!piece!] !file1!!rank1! Ä^!ar! !file2!!rank2!
  3791. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3792. echo 7 º!a9!³!a10!³!a11!³!a12!³!a13!³!a14!³!a15!³!a16!º 7
  3793. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3794. echo 6 º!a17!³!a18!³!a19!³!a20!³!a21!³!a22!³!a23!³!a24!º 6
  3795. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3796. echo 5 º!a25!³!a26!³!a27!³!a28!³!a29!³!a30!³!a31!³!a32!º 5
  3797. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3798. echo 4 º!a33!³!a34!³!a35!³!a36!³!a37!³!a38!³!a39!³!a40!º 4
  3799. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3800. echo 3 º!a41!³!a42!³!a43!³!a44!³!a45!³!a46!³!a47!³!a48!º 3
  3801. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3802. echo 2 º!a49!³!a50!³!a51!³!a52!³!a53!³!a54!³!a55!³!a56!º 2
  3803. echo ÇÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄĶ
  3804. echo 1 º!a57!³!a58!³!a59!³!a60!³!a61!³!a62!³!a63!³!a64!º 1
  3805. echo ÈÍÍÍÏÍÍÍÏÍÍÍÏÍÍÍÏÍÍÍÏÍÍÍÏÍÍÍÏÍÍͼ
  3806. echo.
  3807. echo A B C D E F G H
  3808. exit /b
  3809.  
  3810. :scrload
  3811. for /l %%s in (1,1,64) do set a%%s= !bbb!
  3812. for %%w in (a1 a3 a5 a7 a10 a12 a14 a16 a17 a19 a21 a23 a26 a28 a30 a32 a33 a35 a37 a39 a42 a44 a46 a48 a49 a51 a53 a55 a58 a60 a62 a64) do set %%w= !www!
  3813. set piece=
  3814.  
  3815.  
  3816. REM Black
  3817. for /l %%P in (9,1,16) do set a%%P= !bPawn!
  3818. for %%R in (a1 a8) do set %%R= !bRook!
  3819. for %%K in (a2 a7) do set %%K= !bKnight!
  3820. for %%B in (a3 a6) do set %%B= !bBishop!
  3821. set a4= !bQueen!
  3822. set a5= !bKing!
  3823.  
  3824.  
  3825. REM White
  3826. for /l %%P in (49,1,56) do set a%%P= !wPawn!
  3827. for %%R in (a57 a64) do set %%R= !wRook!
  3828. for %%K in (a58 a63) do set %%K= !wKnight!
  3829. for %%B in (a59 a62) do set %%B= !wBishop!
  3830. set a60= !wQueen!
  3831. set a61= !wKing!
  3832. exit /b
  3833.  
  3834. ::=============================================================================================
  3835.  
  3836.  
  3837. :about
  3838. title Batch Chess v0.8 By Kolt Koding
  3839. cls
  3840. echo.
  3841. echo Release v0.8
  3842. echo.
  3843. echo.
  3844. echo Batch Chess __
  3845. echo / \
  3846. echo Entirely coded and produced by "We're all \__/
  3847. echo Kolto101 and Kolt Koding /____\ in the game
  3848. echo just pawns ^| ^|
  3849. echo ASCII Pawn/left Knight by "jgs" ^|__^| of life."
  3850. echo (====)
  3851. echo Copyright (C) 2012 }===={
  3852. echo (______)
  3853. echo.
  3854. echo Release Notes:
  3855. echo.
  3856. echo Tested and works on Windows: XP (with choice.COM), Vista, and 7
  3857. echo.
  3858. echo Batch Chess has almost everything that a normal chess game would have,
  3859. echo EXCEPT for a checkmate system. It does, however, have a check system.
  3860. echo It also has many other features, some which are still experimental. Enjoy^^!
  3861. echo.
  3862. echo ** PLEASE report ANY bugs or crashes that may occur to: kolto101@gmail.com **
  3863. echo. Visit http://www.koltkoding.tk/ for updates and more
  3864. echo.
  3865. echo.
  3866. echo b/Back u/Check for updates y/Kolto101's Youtube k/Kolt Koding Website
  3867. echo.
  3868. set /p choose=Choose a letter:
  3869. if /i "!choose!" == "b" goto menu
  3870. if /i "!choose!" == "k" start http://www.koltkoding.tk/
  3871. if /i "!choose!" == "y" start http://www.youtube.com/user/kolto101/videos
  3872. if /i "!choose!" == "u" start http://www.koltkoding.tk/batchchess/
  3873. goto about
  3874.  
  3875. :config
  3876. mode 80,30
  3877. cls
  3878. echo.
  3879. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  3880. echo º Configure º
  3881. echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  3882. echo º 1. Customize Pieces º
  3883. echo º 2. Customize Board º
  3884. echo º 3. Themes º
  3885. echo º 4. Settings º
  3886. echo º 5. Debug º
  3887. echo º º
  3888. echo º Press b to go back º
  3889. echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  3890. echo.
  3891. set /p choose=Choose a number:
  3892. if /i "!choose!" == "b" goto menu
  3893. if "!choose!" == "1" goto customize
  3894. if "!choose!" == "2" goto customboard
  3895. if "!choose!" == "3" goto themes
  3896. if "!choose!" == "4" goto settings
  3897. if "!choose!" == "5" goto debug
  3898. goto config
  3899.  
  3900.  
  3901. :settings
  3902. mode 80,30
  3903. cls
  3904. set tw=White
  3905. set tb=Black
  3906. echo.
  3907. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  3908. echo º Settings º
  3909. echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  3910. echo º º
  3911. echo º 1. First turn !t%first%! º
  3912. echo º 2. Auto-rotate !autorotate! º
  3913. echo º 3. DisplayLastMove !displastmove! º
  3914. REM echo º 4. Automatic Updating !autoupdate! º
  3915. echo º º
  3916. echo º Press b to go back º
  3917. echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  3918. echo.
  3919. set /p choose=Choose a number:
  3920. if /i "!choose!" == "b" goto config
  3921. if "!choose!" == "1" (
  3922. if "!first!" == "w" (set first=b) ELSE set first=w
  3923. )
  3924. if "!choose!" == "2" (
  3925. if "!autorotate!" == "Off" (set autorotate=On ) ELSE set autorotate=Off
  3926. )
  3927. if "!choose!" == "3" (
  3928. if "!displastmove!" == "Off" (set displastmove=On ) ELSE set displastmove=Off
  3929. )
  3930. REM if "!choose!" == "4" (
  3931. REM if "!autoupdate!" == "Off" (set autoupdate=On ) ELSE set autoupdate=Off
  3932. REM )
  3933. call :save
  3934. goto settings
  3935.  
  3936.  
  3937. :debug
  3938. REM Debug by Kolto101 and Kolt Koding
  3939. cls
  3940. mode 80,30
  3941. echo If you are familiar with Batch scripting, then use the debug for whatever.
  3942. echo For example, typing "set" would execute the set command and give a full list
  3943. echo of variables. Type "(command name here) /?" to find out what a command does.
  3944. echo.
  3945. echo b/Back
  3946. echo.
  3947. set /p debug=Debug code:
  3948. call :debugcheck
  3949. echo.
  3950. echo Executing code...
  3951. mode 100,10000
  3952. @echo on
  3953. Prompt $S
  3954. %debug%
  3955. @echo off
  3956. echo.
  3957. pause
  3958. goto debug
  3959.  
  3960. :debugcheck
  3961. if not "%debug:~1%"=="" exit /b
  3962. if not '%debug%' == 'b' (exit /b) ELSE (
  3963. if '%debugexit%' == 'true' (
  3964. set debugexit=
  3965. goto play)
  3966. goto config
  3967. )
  3968.  
  3969. :themes
  3970. set previousbf=%bf%
  3971. cls
  3972. echo.
  3973. echo 0 = Black 8 = Gray
  3974. echo 1 = Blue 9 = Light Blue
  3975. echo 2 = Green A = Light Green
  3976. echo 3 = Aqua B = Light Aqua
  3977. echo 4 = Red C = Light Red
  3978. echo 5 = Purple D = Light Purple
  3979. echo 6 = Yellow E = Light Yellow
  3980. echo 7 = White F = Bright White
  3981. echo.
  3982. echo Default: 0A
  3983. echo OS Default: 07
  3984. echo.
  3985. echo Set the background color and the foreground color.
  3986. echo The first letter/number is the background color,
  3987. echo the second is the foreground. Do not use spaces.
  3988. echo.
  3989. echo Type "m" to go back.
  3990. echo.
  3991. set /p bf=Set Background/Foreground:
  3992. if /i "%bf%" == "m" (
  3993. set bf=%previousbf%
  3994. goto config)
  3995. if %bf% LSS a if %bf% GTR 99 goto themes
  3996. if not "%bf:~2%"=="" (
  3997. echo The color code cannot be more than 2 characters long.
  3998. echo.
  3999. pause
  4000. goto themes
  4001. )
  4002. if %bf% GTR FF goto themes
  4003. if %bf% LSS 00 goto themes
  4004. color %bf%
  4005. call :save
  4006. goto themes
  4007.  
  4008. :customboard
  4009. mode 80,30
  4010. cls
  4011. call :scrload
  4012. echo.
  4013. echo Choose a number next to the graphic. Current Values
  4014. echo.
  4015. echo !tlc!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!tcn!!bar!!trc! 1: !tlc! 2: !trc!
  4016. echo !ver!!a1!!ve2!!a2!!ve2!!a3!!ve2!!a4!!ve2!!a5!!ve2!!a6!!ve2!!a7!!ve2!!a8!!ver!
  4017. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 3: !blc! 4: !brc!
  4018. echo !ver!!a9!!ve2!!a10!!ve2!!a11!!ve2!!a12!!ve2!!a13!!ve2!!a14!!ve2!!a15!!ve2!!a16!!ver!
  4019. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 5: !cro! 6: !bar!
  4020. echo !ver!!a17!!ve2!!a18!!ve2!!a19!!ve2!!a20!!ve2!!a21!!ve2!!a22!!ve2!!a23!!ve2!!a24!!ver!
  4021. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 7: !ver! 8: !tcn!
  4022. echo !ver!!a25!!ve2!!a26!!ve2!!a27!!ve2!!a28!!ve2!!a29!!ve2!!a30!!ve2!!a31!!ve2!!a32!!ver!
  4023. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 9: !bcn! 10: !lcn!
  4024. echo !ver!!a33!!ve2!!a34!!ve2!!a35!!ve2!!a36!!ve2!!a37!!ve2!!a38!!ve2!!a39!!ve2!!a40!!ver!
  4025. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 11: !rcn! 12: !ba2!
  4026. echo !ver!!a41!!ve2!!a42!!ve2!!a43!!ve2!!a44!!ve2!!a45!!ve2!!a46!!ve2!!a47!!ve2!!a48!!ver!
  4027. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 13: !ve2!
  4028. echo !ver!!a49!!ve2!!a50!!ve2!!a51!!ve2!!a52!!ve2!!a53!!ve2!!a54!!ve2!!a55!!ve2!!a56!!ver!
  4029. echo !lcn!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!cro!!ba2!!rcn! 14: White Squares - !www!
  4030. echo !ver!!a57!!ve2!!a58!!ve2!!a59!!ve2!!a60!!ve2!!a61!!ve2!!a62!!ve2!!a63!!ve2!!a64!!ver! 15: Black Squares - !bbb!
  4031. echo !blc!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!bcn!!bar!!brc!
  4032. echo.
  4033. echo.
  4034. echo b/Back d/Default
  4035. echo.
  4036. set /p choose=Choose a number:
  4037. if /i "!choose!" == "b" goto config
  4038. if /i "!choose!" == "d" call :d2
  4039. if "!choose!" == "1" (set tochange=tlc) && call :changegraphic
  4040. if "!choose!" == "2" (set tochange=trc) && call :changegraphic
  4041. if "!choose!" == "3" (set tochange=blc) && call :changegraphic
  4042. if "!choose!" == "4" (set tochange=brc) && call :changegraphic
  4043. if "!choose!" == "5" (set tochange=cro) && call :changegraphic
  4044. if "!choose!" == "6" (set tochange=bar) && call :changegraphic
  4045. if "!choose!" == "7" (set tochange=ver) && call :changegraphic
  4046. if "!choose!" == "8" (set tochange=tcn) && call :changegraphic
  4047. if "!choose!" == "9" (set tochange=bcn) && call :changegraphic
  4048. if "!choose!" == "10" (set tochange=lcn) && call :changegraphic
  4049. if "!choose!" == "11" (set tochange=rcn) && call :changegraphic
  4050. if "!choose!" == "12" (set tochange=ba2) && call :changegraphic
  4051. if "!choose!" == "13" (set tochange=ve2) && call :changegraphic
  4052. if "!choose!" == "14" (set tochange=www) && call :changegraphic
  4053. if "!choose!" == "15" (set tochange=bbb) && call :changegraphic
  4054. set bar=!bar:~0,1!!bar:~0,1!!bar:~0,1!
  4055. set ba2=!ba2:~0,1!!ba2:~0,1!!ba2:~0,1!
  4056. call :save
  4057. goto customboard
  4058.  
  4059. :customize
  4060. mode 80,30
  4061. cls
  4062. echo.
  4063. echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  4064. echo ³ ³
  4065. echo ³ Customize Pieces ³
  4066. echo ³ ³
  4067. echo ÃÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ´
  4068. echo ³ Type ³ White ³ Black ³
  4069. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  4070. echo ³ Pawn ³ 1 !wPawn! ³ 7 !bPawn! ³
  4071. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  4072. echo ³ Rook ³ 2 !wRook! ³ 8 !bRook! ³
  4073. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  4074. echo ³ Knight ³ 3 !wKnight! ³ 9 !bKnight! ³
  4075. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  4076. echo ³ Bishop ³ 4 !wBishop! ³ 10 !bBishop! ³
  4077. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  4078. echo ³ Queen ³ 5 !wQueen! ³ 11 !bQueen! ³
  4079. echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´
  4080. echo ³ King ³ 6 !wKing! ³ 12 !bKing! ³
  4081. echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ
  4082. echo.
  4083. echo b/Back d/Default
  4084. echo.
  4085. set /p choose=Choose a number to change the current graphic:
  4086. if /i "!choose!" == "b" goto config
  4087. if "!choose!" == "1" set tochange=wPawn
  4088. if "!choose!" == "2" set tochange=wRook
  4089. if "!choose!" == "3" set tochange=wKnight
  4090. if "!choose!" == "4" set tochange=wBishop
  4091. if "!choose!" == "5" set tochange=wQueen
  4092. if "!choose!" == "6" set tochange=wKing
  4093. if "!choose!" == "7" set tochange=bPawn
  4094. if "!choose!" == "8" set tochange=bRook
  4095. if "!choose!" == "9" set tochange=bKnight
  4096. if "!choose!" == "10" set tochange=bBishop
  4097. if "!choose!" == "11" set tochange=bQueen
  4098. if "!choose!" == "12" set tochange=bKing
  4099. if !choose! GEQ 1 (
  4100. if !choose! LEQ 12 (
  4101. call :changegraphic
  4102. ))
  4103. if /i "!choose!" == "d" call :d1 && call :save
  4104. goto customize
  4105.  
  4106.  
  4107. :changegraphic
  4108. cls
  4109. echo.
  4110. echo Currently editting: !tochange! !%tochange%!
  4111. echo.
  4112. echo Enter a character below, or choose and extended character.
  4113. echo.
  4114. echo -b/Back -s/Open extended characters
  4115. echo.
  4116. set /p symbol=Chracter:
  4117. if /i "!symbol!" == "-b" exit /b
  4118. if "!symbol!" == "" goto changegraphic
  4119.  
  4120. if not "!symbol:~1!"=="" (
  4121. if /i not "!symbol!" == "-s" (
  4122. echo You may only use 1 character.
  4123. echo.
  4124. pause
  4125. goto changegraphic
  4126. ))
  4127. if /i "!symbol!" == "-s" call :symbolstart
  4128. if /i "!symbol!" == "-s" goto changegraphic
  4129.  
  4130. REM add checker against same graphics
  4131. set !tochange!=!symbol!
  4132. call :save
  4133. exit /b
  4134.  
  4135.  
  4136.  
  4137.  
  4138. :symbolstart
  4139. mode 80,50
  4140. cls
  4141. call :symbolecho
  4142. set symbolnum=
  4143. echo b/Back
  4144. echo.
  4145. set /p symbolnum=Enter the character number to output #
  4146. if /i "!symbolnum!" == "b" exit /b
  4147.  
  4148. if not !symbolnum! GTR 0 goto symbolstart
  4149. if !symbolnum! GTR 254 goto symbolstart
  4150. call :symbol
  4151. if !symbolnum! GEQ 32 (
  4152. if !symbolnum! LEQ 126 (
  4153. echo.
  4154. echo Characters 32-126 can be accessed via keyboard.
  4155. pause>nul
  4156. goto symbolstart
  4157. ))
  4158. if "!symbol!" == "N/A" goto symbolstart
  4159. :symbolask
  4160. cls
  4161. echo.
  4162. echo Symbol: !symbol!
  4163. echo.
  4164. echo Would you like to use this symbol?
  4165. set /p choose=[y/n]:
  4166. if /i "!choose!" == "n" goto symbolstart
  4167. if /i "!choose!" == "y" exit /b
  4168. goto symbolask
  4169.  
  4170. :symbol
  4171. set symbol=N/A
  4172. if "!symbolnum!" == "1" set symbol=
  4173. if "!symbolnum!" == "2" set symbol=
  4174. if "!symbolnum!" == "3" set symbol=
  4175. if "!symbolnum!" == "4" set symbol=
  4176. if "!symbolnum!" == "5" set symbol=
  4177. if "!symbolnum!" == "6" set symbol=
  4178. if "!symbolnum!" == "11" set symbol=
  4179. if "!symbolnum!" == "12" set symbol=
  4180. if "!symbolnum!" == "14" set symbol=
  4181. if "!symbolnum!" == "15" set symbol=
  4182. if "!symbolnum!" == "16" set symbol=
  4183. if "!symbolnum!" == "17" set symbol=
  4184. if "!symbolnum!" == "18" set symbol=
  4185. if "!symbolnum!" == "19" set symbol=
  4186. if "!symbolnum!" == "20" set symbol=
  4187. if "!symbolnum!" == "21" set symbol=
  4188. if "!symbolnum!" == "22" set symbol=
  4189. if "!symbolnum!" == "23" set symbol=
  4190. if "!symbolnum!" == "24" set symbol=
  4191. if "!symbolnum!" == "25" set symbol=
  4192. if "!symbolnum!" == "27" set symbol=
  4193. if "!symbolnum!" == "28" set symbol=
  4194. if "!symbolnum!" == "29" set symbol=
  4195. if "!symbolnum!" == "30" set symbol=
  4196. if "!symbolnum!" == "31" set symbol=
  4197. REM 32 - 126 are accessible via Keyboard
  4198. if "!symbolnum!" == "127" set symbol=
  4199. if "!symbolnum!" == "128" set symbol=€
  4200. if "!symbolnum!" == "129" set symbol=
  4201. if "!symbolnum!" == "130" set symbol=‚
  4202. if "!symbolnum!" == "131" set symbol=ƒ
  4203. if "!symbolnum!" == "132" set symbol=„
  4204. if "!symbolnum!" == "133" set symbol=…
  4205. if "!symbolnum!" == "134" set symbol=†
  4206. if "!symbolnum!" == "135" set symbol=‡
  4207. if "!symbolnum!" == "136" set symbol=ˆ
  4208. if "!symbolnum!" == "137" set symbol=‰
  4209. if "!symbolnum!" == "138" set symbol=Š
  4210. if "!symbolnum!" == "139" set symbol=‹
  4211. if "!symbolnum!" == "140" set symbol=Œ
  4212. if "!symbolnum!" == "141" set symbol=
  4213. if "!symbolnum!" == "142" set symbol=Ž
  4214. if "!symbolnum!" == "143" set symbol=
  4215. if "!symbolnum!" == "144" set symbol=
  4216. if "!symbolnum!" == "145" set symbol=‘
  4217. if "!symbolnum!" == "146" set symbol=’
  4218. if "!symbolnum!" == "147" set symbol=“
  4219. if "!symbolnum!" == "148" set symbol=”
  4220. if "!symbolnum!" == "149" set symbol=•
  4221. if "!symbolnum!" == "150" set symbol=–
  4222. if "!symbolnum!" == "151" set symbol=—
  4223. if "!symbolnum!" == "152" set symbol=˜
  4224. if "!symbolnum!" == "153" set symbol=™
  4225. if "!symbolnum!" == "154" set symbol=š
  4226. if "!symbolnum!" == "155" set symbol=›
  4227. if "!symbolnum!" == "156" set symbol=œ
  4228. if "!symbolnum!" == "157" set symbol=
  4229. if "!symbolnum!" == "158" set symbol=ž
  4230. if "!symbolnum!" == "159" set symbol=Ÿ
  4231. if "!symbolnum!" == "160" set symbol=
  4232. if "!symbolnum!" == "161" set symbol=¡
  4233. if "!symbolnum!" == "162" set symbol=¢
  4234. if "!symbolnum!" == "163" set symbol=£
  4235. if "!symbolnum!" == "164" set symbol=¤
  4236. if "!symbolnum!" == "165" set symbol=¥
  4237. if "!symbolnum!" == "166" set symbol=¦
  4238. if "!symbolnum!" == "167" set symbol=§
  4239. if "!symbolnum!" == "168" set symbol=¨
  4240. if "!symbolnum!" == "169" set symbol=©
  4241. if "!symbolnum!" == "170" set symbol=ª
  4242. if "!symbolnum!" == "171" set symbol=«
  4243. if "!symbolnum!" == "172" set symbol=¬
  4244. if "!symbolnum!" == "173" set symbol=­
  4245. if "!symbolnum!" == "174" set symbol=®
  4246. if "!symbolnum!" == "175" set symbol=¯
  4247. if "!symbolnum!" == "176" set symbol=°
  4248. if "!symbolnum!" == "177" set symbol=±
  4249. if "!symbolnum!" == "178" set symbol=²
  4250. if "!symbolnum!" == "179" set symbol=³
  4251. if "!symbolnum!" == "180" set symbol=´
  4252. if "!symbolnum!" == "181" set symbol=µ
  4253. if "!symbolnum!" == "182" set symbol=¶
  4254. if "!symbolnum!" == "183" set symbol=·
  4255. if "!symbolnum!" == "184" set symbol=¸
  4256. if "!symbolnum!" == "185" set symbol=¹
  4257. if "!symbolnum!" == "186" set symbol=º
  4258. if "!symbolnum!" == "187" set symbol=»
  4259. if "!symbolnum!" == "188" set symbol=¼
  4260. if "!symbolnum!" == "189" set symbol=½
  4261. if "!symbolnum!" == "190" set symbol=¾
  4262. if "!symbolnum!" == "191" set symbol=¿
  4263. if "!symbolnum!" == "192" set symbol=À
  4264. if "!symbolnum!" == "193" set symbol=Á
  4265. if "!symbolnum!" == "194" set symbol=Â
  4266. if "!symbolnum!" == "195" set symbol=Ã
  4267. if "!symbolnum!" == "196" set symbol=Ä
  4268. if "!symbolnum!" == "197" set symbol=Å
  4269. if "!symbolnum!" == "198" set symbol=Æ
  4270. if "!symbolnum!" == "199" set symbol=Ç
  4271. if "!symbolnum!" == "200" set symbol=È
  4272. if "!symbolnum!" == "201" set symbol=É
  4273. if "!symbolnum!" == "202" set symbol=Ê
  4274. if "!symbolnum!" == "203" set symbol=Ë
  4275. if "!symbolnum!" == "204" set symbol=Ì
  4276. if "!symbolnum!" == "205" set symbol=Í
  4277. if "!symbolnum!" == "206" set symbol=Î
  4278. if "!symbolnum!" == "207" set symbol=Ï
  4279. if "!symbolnum!" == "208" set symbol=Ð
  4280. if "!symbolnum!" == "209" set symbol=Ñ
  4281. if "!symbolnum!" == "210" set symbol=Ò
  4282. if "!symbolnum!" == "211" set symbol=Ó
  4283. if "!symbolnum!" == "212" set symbol=Ô
  4284. if "!symbolnum!" == "213" set symbol=Õ
  4285. if "!symbolnum!" == "214" set symbol=Ö
  4286. if "!symbolnum!" == "215" set symbol=×
  4287. if "!symbolnum!" == "216" set symbol=Ø
  4288. if "!symbolnum!" == "217" set symbol=Ù
  4289. if "!symbolnum!" == "218" set symbol=Ú
  4290. if "!symbolnum!" == "219" set symbol=Û
  4291. if "!symbolnum!" == "220" set symbol=Ü
  4292. if "!symbolnum!" == "221" set symbol=Ý
  4293. if "!symbolnum!" == "222" set symbol=Þ
  4294. if "!symbolnum!" == "223" set symbol=ß
  4295. if "!symbolnum!" == "224" set symbol=à
  4296. if "!symbolnum!" == "225" set symbol=á
  4297. if "!symbolnum!" == "226" set symbol=â
  4298. if "!symbolnum!" == "227" set symbol=ã
  4299. if "!symbolnum!" == "228" set symbol=ä
  4300. if "!symbolnum!" == "229" set symbol=å
  4301. if "!symbolnum!" == "230" set symbol=æ
  4302. if "!symbolnum!" == "231" set symbol=ç
  4303. if "!symbolnum!" == "232" set symbol=è
  4304. if "!symbolnum!" == "233" set symbol=é
  4305. if "!symbolnum!" == "234" set symbol=ê
  4306. if "!symbolnum!" == "235" set symbol=ë
  4307. if "!symbolnum!" == "236" set symbol=ì
  4308. if "!symbolnum!" == "237" set symbol=í
  4309. if "!symbolnum!" == "238" set symbol=î
  4310. if "!symbolnum!" == "239" set symbol=ï
  4311. if "!symbolnum!" == "240" set symbol=ð
  4312. if "!symbolnum!" == "241" set symbol=ñ
  4313. if "!symbolnum!" == "242" set symbol=ò
  4314. if "!symbolnum!" == "243" set symbol=ó
  4315. if "!symbolnum!" == "244" set symbol=ô
  4316. if "!symbolnum!" == "245" set symbol=õ
  4317. if "!symbolnum!" == "246" set symbol=ö
  4318. if "!symbolnum!" == "247" set symbol=÷
  4319. if "!symbolnum!" == "248" set symbol=ø
  4320. if "!symbolnum!" == "249" set symbol=ù
  4321. if "!symbolnum!" == "250" set symbol=ú
  4322. if "!symbolnum!" == "251" set symbol=û
  4323. if "!symbolnum!" == "252" set symbol=ü
  4324. if "!symbolnum!" == "253" set symbol=ý
  4325. if "!symbolnum!" == "254" set symbol=þ
  4326. exit /b
  4327.  
  4328. :symbolecho
  4329. echo.
  4330. echo 1: 2: 3: 4: 5: 6: 11: 12:
  4331. echo.
  4332. echo 14: 15: 16: 17: 18: 19: 20: 21:
  4333. echo.
  4334. echo 22: 23: 24: 25: 27: 28: 29: 30:
  4335. echo.
  4336. echo 31:
  4337. echo.
  4338. echo Characters 32-126 can be accessed via keyboard.
  4339. echo.
  4340. echo.
  4341. echo 127:  128: € 129:  130: ‚ 131: ƒ 132: „ 133: … 134: †
  4342. echo.
  4343. echo 135: ‡ 136: ˆ 137: ‰ 138: Š 139: ‹ 140: Œ 141:  142: Ž
  4344. echo.
  4345. echo 143:  144:  145: ‘ 146: ’ 147: “ 148: ” 149: • 150: –
  4346. echo.
  4347. echo 151: — 152: ˜ 153: ™ 154: š 155: › 156: œ 157:  158: ž
  4348. echo.
  4349. echo 159: Ÿ 160: 161: ¡ 162: ¢ 163: £ 164: ¤ 165: ¥ 166: ¦
  4350. echo.
  4351. echo 167: § 168: ¨ 169: © 170: ª 171: « 172: ¬ 173: ­ 174: ®
  4352. echo.
  4353. echo 175: ¯ 176: ° 177: ± 178: ² 179: ³ 180: ´ 181: µ 182: ¶
  4354. echo.
  4355. echo 183: · 184: ¸ 185: ¹ 186: º 187: » 188: ¼ 189: ½ 190: ¾
  4356. echo.
  4357. echo 191: ¿ 192: À 193: Á 194: Â 195: Ã 196: Ä 197: Å 198: Æ
  4358. echo.
  4359. echo 199: Ç 200: È 201: É 202: Ê 203: Ë 204: Ì 205: Í 206: Î
  4360. echo.
  4361. echo 207: Ï 208: Ð 209: Ñ 210: Ò 211: Ó 212: Ô 213: Õ 214: Ö
  4362. echo.
  4363. echo 215: × 216: Ø 217: Ù 218: Ú 219: Û 220: Ü 221: Ý 222: Þ
  4364. echo.
  4365. echo 223: ß 224: à 225: á 226: â 227: ã 228: ä 229: å 230: æ
  4366. echo.
  4367. echo 231: ç 232: è 233: é 234: ê 235: ë 236: ì 237: í 238: î
  4368. echo.
  4369. echo 239: ï 240: ð 241: ñ 242: ò 243: ó 244: ô 245: õ 246: ö
  4370. echo.
  4371. echo 247: ÷ 248: ø 249: ù 250: ú 251: û 252: ü 253: ý 254: þ
  4372. echo.
  4373. echo.
  4374. exit /b
  4375.  
  4376. :tutorial
  4377. cls
  4378. echo.
  4379. echo Batch Chess is played like normal chess, except there is no checkmate system.
  4380. echo There is, however a check system. Each player must manually check to see
  4381. echo if their king is in checkmate. If it is, the player must resign.
  4382. echo.
  4383. echo Would you like to read the rules at: "..wikipedia.org/wiki/Rules_of_chess" ?
  4384. echo.
  4385. set /p choose=[y/n]:
  4386. if /i "!choose!" == "y" start http://en.wikipedia.org/wiki/Rules_of_chess
  4387. if /i "!choose!" == "n" goto menu
  4388. goto tutorial
  4389.  
  4390. :minesweep
  4391. @title Buscaminas
  4392. @mode con cols=18 lines=13
  4393. @::MineSweeper v 1
  4394. @::Batch Game
  4395. @::Coded by ::Jason Haude::
  4396.  
  4397. if not exist "keyboard.exe" (Goto :NoKey)
  4398.  
  4399. :load
  4400. setlocal enabledelayedexpansion
  4401. set LimX=9
  4402. set LimY=9
  4403. set IniX=0
  4404. set IniY=0
  4405. set MovX=0
  4406. set MovY=0
  4407.  
  4408. :init
  4409. for /l %%a in (0,1,%LimX%) do (
  4410. for /l %%b in (0,1,%LimY%) do (
  4411. set X%%aY%%b=Û
  4412. ))
  4413. for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)
  4414. set X0Y0=
  4415. set Last=Û
  4416. set Curpos=X0Y0
  4417. Goto :First
  4418.  
  4419. :Graphic
  4420. Call :Clear
  4421. :First
  4422. for /l %%d in (0,1,%LimY%) do (
  4423. for /l %%e in (0,1,%LimX%) do (
  4424. set Lin_%%d=!Lin_%%d!!X%%eY%%d!
  4425. ))
  4426. echo.
  4427. echo. MineSweeper v 1
  4428. echo.
  4429. for /l %%f in (0,1,%LimY%) do (echo. !Lin_%%f!)
  4430. if "%EOG%"=="True" Goto :End
  4431. keyboard
  4432. if "%errorlevel%"=="77" (call :MovX+ "%CurPos%")
  4433. if "%errorlevel%"=="75" (call :MovX- "%CurPos%")
  4434. if "%errorlevel%"=="80" (call :MovY+ "%CurPos%")
  4435. if "%errorlevel%"=="72" (call :MovY- "%CurPos%")
  4436. if "%errorlevel%"=="13" (call :Check "%CurPos%")
  4437. if "%errorlevel%"=="88" (msg * Thx for Playing MineSweeper v1 by SmartGenius&exit)
  4438. if "%errorlevel%"=="120" (msg * Thx for Playing MineSweeper v1 by SmartGenius&exit)
  4439. Goto :Graphic
  4440.  
  4441. :MovX+
  4442. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  4443. if "%%p"=="%LimX%" Goto :Eof
  4444. if !%~1!== set %~1=%Last%
  4445. set /a MovX=%%p+1
  4446. call set Last=%%X!MovX!Y%%q%%
  4447. set X!MovX!Y%%q=
  4448. set CurPos=X!MovX!Y%%q
  4449. )
  4450. Goto :Eof
  4451.  
  4452. :MovX-
  4453. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  4454. if "%%p"=="%IniX%" Goto :Eof
  4455. if !%~1!== set %~1=%Last%
  4456. set /a MovX=%%p-1
  4457. call set Last=%%X!MovX!Y%%q%%
  4458. set X!MovX!Y%%q=
  4459. set CurPos=X!MovX!Y%%q
  4460. )
  4461. Goto :Eof
  4462.  
  4463. :MovY+
  4464. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  4465. if "%%q"=="%LimY%" Goto :Eof
  4466. if !%~1!== set %~1=%Last%
  4467. set /a MovY=%%q+1
  4468. call set Last=%%X%%pY!MovY!%%
  4469. set X%%pY!MovY!=
  4470. set CurPos=X%%pY!MovY!
  4471. )
  4472. Goto :Eof
  4473.  
  4474. :MovY-
  4475. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  4476. if "%%q"=="%IniY%" Goto :Eof
  4477. if !%~1!== set %~1=%Last%
  4478. set /a MovY=%%q-1
  4479. call set Last=%%X%%pY!MovY!%%
  4480. set X%%pY!MovY!=
  4481. set CurPos=X%%pY!MovY!
  4482. )
  4483. Goto :Eof
  4484.  
  4485. :Check
  4486. for /l %%h in (0,1,9) do (
  4487. if "%~1"=="!M%%h!" (
  4488. set %~1=
  4489. set EOG=True
  4490. Goto :Eof
  4491. ))
  4492. set %~1=°
  4493. Goto :Eof
  4494.  
  4495. :End
  4496. msg * You Lost !
  4497. pause>nul
  4498. exit
  4499.  
  4500. :Clear
  4501. for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
  4502. Goto :Eof
  4503.  
  4504. :NoKey
  4505. cls
  4506. echo.
  4507. echo A file needed for the correct function
  4508. echo of this Script is missing....
  4509. echo.
  4510. echo It will be created...
  4511. call :keyboard
  4512. echo.
  4513. echo Restart this Script !
  4514. echo.
  4515. pause
  4516. exit
  4517.  
  4518. :keyboard
  4519. (
  4520. echo n keyboard.dat
  4521. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  4522. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  4523. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  4524. echo rcx
  4525. echo 002E
  4526. echo w0
  4527. echo q
  4528. echo.
  4529. )>keyboard.dat
  4530. type keyboard.dat|debug>NUL 2>&1
  4531. del /f/q/a "keyboard.exe">NUL 2>&1
  4532. ren keyboard.dat "keyboard.exe"
  4533. Goto :Eof
  4534.  
  4535.  
  4536. :master
  4537. REM Battle stats
  4538. set hp=100
  4539. set maxhp=100
  4540. set monhp=50
  4541. set maxmonhp=50
  4542.  
  4543. :Start
  4544. cls
  4545. echo What is thy name, young sir or madam?
  4546. set /p name=
  4547. echo So your name is %name%!
  4548. pause
  4549. echo Would you like to battle THE GREAT EVIL?
  4550. set /p battle=
  4551. if %battle% == yes goto battle
  4552. if %battle% == no goto Exit
  4553.  
  4554. :battle
  4555. cls
  4556. echo %name%, it's your move! show him what moves you can do!
  4557. echo %name% %hp%/%maxhp% THE GREAT EVIL %monhp%/%maxmonhp%
  4558. echo.
  4559. echo PRESS P FOR A PUNCH
  4560. echo PRESS K FOR A KICK
  4561. echo PRESS S TO USE YOUR SWORD
  4562. echo PRESS G TO USE YOUR GUN
  4563.  
  4564. if %hp% leq 0 goto Loser
  4565. if %monhp% leq 0 goto Winner
  4566.  
  4567.  
  4568. set /p attack=
  4569. if %attack% == p goto Punch
  4570. if %attack% == P goto Punch
  4571. if %attack% == k goto Kick
  4572. if %attack% == K goto Kick
  4573. if %attack% == s goto Sword
  4574. if %attack% == S goto Sword
  4575. if %attack% == g goto Gun
  4576. if %attack% == G goto Gun
  4577.  
  4578. :Punch
  4579. cls
  4580. echo PUNCHING!
  4581. pause
  4582. set /a monhp=%monhp%-%Random% %%15-10%
  4583. goto Monster
  4584.  
  4585. :Kick
  4586. cls
  4587. echo KICKING!
  4588. pause
  4589. set /a monhp=%monhp%-%Random% %%20-10%
  4590. goto Monster
  4591.  
  4592. :Sword
  4593. cls
  4594. echo SLASHING!
  4595. pause
  4596. set /a monhp=%monhp%-%Random% %%25-5
  4597. goto Monster
  4598.  
  4599. :Gun
  4600. cls
  4601. echo SHOOTING!
  4602. pause
  4603. set /a monhp=%monhp%-%Random% %%30-0
  4604. goto Monster
  4605.  
  4606. :Monster
  4607. cls
  4608. echo ATTACKING %name%!
  4609. pause
  4610. set /a hp=%hp%-%Random% %%24-12
  4611. goto Battle
  4612.  
  4613. :Loser
  4614. echo You Lost, %name%.
  4615. pause
  4616. goto menu
  4617.  
  4618. :Winner
  4619. echo You Won, %name%. Now our town is safe.
  4620. pause
  4621. goto menu
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.  
  4628.  
  4629.  
  4630.  
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.  
  4637.  
  4638.  
  4639.  
  4640.  
  4641.  
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650. REM 01001001 01100110 00100000 01111001 01101111 01110101 00100000 01100011 01100001 01101110 00100000 01110010 01100101 01100001 01100100 00100000 01110100 01101000 01101001 01110011 00101100 00100000 01111001 01101111 01110101 01110010 00100000 01100001 00100000 01100010 01101001 01100111 00100000 01100110 01100001 01110100 00100000 01101110 01100101 01110010 01100100 00101110 00100000 01100010 01110101 01110100 00100000 01110011 01101111 00100000 01100001 01101101 00100000 01101001 00100000 01100011 01100001 01110101 01110011 01100101 00100000 01101001 00100000 01110111 01110010 01101111 01110100 01100101 00100000 01110100 01101000 01101001 01110011 00101110
  4651. REM Alright, read this and then use the development kit of this OS, and start porting to other PC's.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement