home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.B.po / GAMES:BASIC.3 / SOLITAIRE.bas < prev    next >
BASIC Source File  |  2010-05-14  |  3KB  |  55 lines

  1. 5  DIM A(64)
  2. 7 V1 = 0:V0 = V1:VT = 2:M = V1:S = V1: FOR V0 = 1 TO 64:A(V0) = 1: NEXT : FOR V1 = 19 TO 43  STEP 8: FOR V0 = V1 TO V1 +3:A(V0) = 0: NEXT : NEXT 
  3. 10  HOME : VTAB (5): PRINT  SPC( 9)"SOLITAIRE CHECKER PUZZLE" SPC( 47)"48 CHECKERS ARE PLACED ON THE 2 OUTSIDE SQAURES OF A STANDARD 64-SQUARE CHECKER-";
  4. 20  PRINT "BOARD. THE OBJECT IS TO REMOVE AS MANY  CHECKERS AS POSSIBLE BY DIAGONAL JUMPS  TO EMPTY SQUARES. WHEN YOU HAVE NO      POSSIBLE JUMPS REMAINING INPUT A 'E' IN RESPONSE TO QUESTION 'JUMP FROM?'   
  5. 30  POKE  -16368,0: VTAB 23: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE.";: GET PT$: PRINT PT$
  6. 40  HOME :VT = 2: PRINT "HERE IS THE NUMERICAL BOARD": FOR V0 = 1 TO 57  STEP 8:VT = VT +1: FOR V1 = 0 TO 7: VTAB (VT): HTAB (V1 *4 +5): PRINT V0 +V1: NEXT : NEXT 
  7. 50  PRINT : PRINT "HERE IS THE CHECKERS CURRENT POSITION.": PRINT 
  8. 60  FOR V1 = 1 TO 57  STEP 8: FOR V0 = V1 TO V1 +7: IF A(V0) = 0  THEN  INVERSE 
  9. 65  PRINT A(V0);: NORMAL : NEXT : PRINT : NEXT : PRINT 
  10. 70  VTAB (23): INPUT "JUMP FROM ";CHOICE$: IF CHOICE$ = "0"  THEN 400
  11. 80 CHOICE =  VAL(CHOICE$): IF CHOICE <1  OR CHOICE >64  THEN V1 = V1: VTAB (14): HTAB (10): PRINT "PLEASE ENTER A # FROM 1 TO 64." CHR$(7): GOTO 70
  12. 85  VTAB (14): HTAB (10): PRINT  SPC( 30)
  13. 90  VTAB (23): HTAB (20): INPUT "JUMP TO ";CHOICE$:C2 =  VAL(CHOICE$): IF C2 <1  OR C2 >64  THEN V1 = V1: VTAB (14): HTAB (10): PRINT "PLEASE ENTER A # FROM 1 TO 64." CHR$(7): GOTO 90
  14. 95  VTAB (14): HTAB (10): PRINT  SPC( 30)
  15. 100  IF  ABS(CH -C2) < >14  AND  ABS(CH -C2) < >18  THEN 130
  16. 110  IF A((C2 +CH)/2) = 0  OR A(CH) = 0  OR A(C2) = 1  THEN 130
  17. 120  GOTO 250
  18. 130  VTAB (14): HTAB (10): PRINT "ILLEGAL MOVE...TRY AGAIN..." CHR$(7): VTAB (23): PRINT  SPC( 40);: GOTO 70
  19. 250 A(C2) = 1:A(CH) = 0:A((C2 +CH)/2) = 0:M = M +1: GOTO 40
  20. 400  VTAB (14): HTAB 10: INVERSE : PRINT "DO REALLY WANT TO STOP!"
  21. 410  VTAB 15: HTAB 10: NORMAL : PRINT "ENTER Y OR N...";
  22. 420  GET CHOICE$: IF CHOICE$ = "Y"  OR CHOICE$ = "y"  THEN  PRINT CH$: GOTO 500
  23. 430  IF CHOICE$ < >"N"  AND CHOICE$ < >"n"  THEN  GOTO 420
  24. 440  PRINT CH$: VTAB 14: HTAB 10: PRINT  SPC( 29): VTAB 15: HTAB 10: PRINT  SPC( 29): PRINT : GOTO 70
  25. 500  FOR V1 = 1 TO 64:S = S +A(V1): NEXT : HOME : PRINT "YOU MADE "M" JUMPS AND HAD "S" PIECES ": PRINT "REMAINING ON THE BOARD.": PRINT 
  26. 510  PRINT "TRY AGAIN? (Y/N) ";
  27. 520  GET CHOICE$: IF CHOICE$ = "Y"  OR CHOICE$ = "y"  THEN  PRINT : GOTO 7
  28. 530  IF CHOICE$ < >"N"  AND CHOICE$ < >"n"  THEN  GOTO 520
  29. 540  PRINT : PRINT : PRINT "O.K. HOPE YOU HAD FUN!!"
  30. 550  POKE  -16368,0: VTAB 23: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE.";: GET PT$: PRINT PT$
  31. 560  ONERR  GOTO 580
  32. 570  PRINT  CHR$(4)"RUN STARTUP": END 
  33. 580  POKE 216,0: PRINT  CHR$(4)"CATALOG": END 
  34. 1000  REM *** VERSION 1.0
  35. 1010  REM ** AUTHOR UNKOWN
  36. 1020 :
  37. 1030  REM *** VERSION 1.1
  38. 1040  REM ** 11/5/84
  39. 1050  REM ** DOUG TRUEMAN
  40. 1060  REM ** FOR A.S.C.I.I.
  41. 1070  REM ** IMPROVED INPUT ROUTINES
  42. 1080  REM ** IMPROVED FORMAT!!!
  43. 1090 :
  44. 1100  REM *** VERSION 1.1.1
  45. 1110  REM ** 3/3/87 
  46. 1120  REM ** BY DT
  47. 1130  REM ** FOR BIG RED COMPUTER
  48. 1140  REM ** IMPROVED INSTRUCTIONS
  49. 1150  REM ** IMPROVED INPUT ROUTINES 
  50. 1160 :
  51. 1170  REM *** VERSION 1.2
  52. 1180  REM ** 6/2/87
  53. 1190  REM ** BY DT FOR BRAC
  54. 1200  REM ** NEW ENDING ROUTINE
  55. 1210  REM ** CREDIT LINES ADDED