Advertisement
jasserdefyx

Jason Jaguar OS Version 1.1 Update

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