home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Games / COSBY'S-PYRAMID (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  7.6 KB  |  247 lines

  1. 100 REM COSBY'S PYRAMID V0.00 7/27/86
  2. 110 GOTO390
  3. 120 I=0:RESTORE
  4. 130 I=I+1:READE$
  5. 140 IFE$=D$THEND$="":GOTO1050
  6. 150 IFI=90THENGOSUB250:PRINTSPC(13)"ILLEGAL MOVE":GOSUB2500:FORK=1TO3000:NEXT
  7. 160 IFI=90THEN:J=J-1:D$="":GOTO430
  8. 170 GOTO130
  9. 180 DATA 136,124,247,259,36A,358,421,478,48D,456,59E,58C,69D,6AF,654,631,742
  10. 190 DATA 7BG,7CI,789,8DJ,89A,8CH,853,952,9EK,9DI,987,A63,A98,AEJ,AFL
  11. 200 DATA BGH,B74,BHO,BCD,C85
  12. 210 DATA CDE,CIP,CHN,DCB,DEF,DJQ,DIO,D84,D96,E95,EDC,EJP,EKR,FA6,FED
  13. 220 DATA FKQ,FLS,GB7,GHI,HC8,HIJ,IC7,IHG,ID9,IJK,JD8,JIH,JKL,JEA
  14. 230 DATA KE9,KJI,LFA,LKJ,MGB,MNO,NOP,NHC,OHB,OID,OPQ,ONM,PON,PIC
  15. 240 DATA PJE,PQR,QPO,QRS,QJD,QKF,RQP,RKE,SRQ,SLF
  16. 250 PRINT""
  17. 260 FORK=1TO6:PRINT"                                       ":NEXT:PRINT"[145][145][145][145][145][145][145]"
  18. 270 RETURN
  19. 280 IF RP=1THEN310
  20. 290 GETA$:IFA$=""THEN290
  21. 300 IFA$="*"THEN370
  22. 310 D$=D$+A$
  23. 320 N=ASC(A$+" ")
  24. 330 IFN<49ORN>83THEND$="":GOTO290
  25. 340 IFN>48ANDN<58THENN=N-48
  26. 350 IFN>64ANDN<84THENN=N-55
  27. 360 PRINTA$
  28. 370 RETURN
  29. 380 F=1
  30. 390 POKE53280,0:POKE53281,1
  31. 400 FORQ=54272 TO 54296:POKE Q,0:NEXT:POKE 54296,15
  32. 410 DIMA(28),F(28),F$(28),O(28),O$(28),T(28),T$(28)
  33. 420 FORI=1TO28:A(I)=118:NEXT:A(1)=119
  34. 430 PRINT"[147][144]          -[146]                 -           [146]"
  35. 440 PRINT"[145]           [146]                             [146]"
  36. 450 PRINT"[145]         C-[146]                 -P          [146]"
  37. 460 PRINT"[145]           [146]                             [146]"
  38. 470 PRINT"[145]        O--[146]                 --Y         [146]"
  39. 480 PRINT"[145]           [146]                             [146]"
  40. 490 PRINT"[145]       S---[146]                 ---R        [146]"
  41. 500 PRINT"[145]           [146]                             [146]"
  42. 510 PRINT"[145]      B----[146]                 ----A       [146]"
  43. 520 PRINT"[145]           [146]                             [146]"
  44. 530 PRINT"[145]     Y-----[146]                 -----M      [146]"
  45. 540 PRINT"[145]           [146]                             [146]"
  46. 550 PRINT"[145]    '------[146]                 ------I     [146]"
  47. 560 PRINT"[145]           [146]                             [146]"
  48. 570 PRINT"[145]   S-------[146]                 -------D    [146]"
  49. 580 PRINT"[145]           [146]                             [146]"
  50. 590 PRINT"[145]  -----------------------------------   [146]"
  51. 600 PRINT""SPC(19)"1"
  52. 610 PRINTSPC(18)"2 3"
  53. 620 PRINTSPC(17)"4 5 6"
  54. 630 PRINTSPC(16)"7 8 9 A"
  55. 640 PRINTSPC(15)"B C D E F"
  56. 650 PRINTSPC(14)"G H I J K L"
  57. 660 PRINTSPC(13)"M N O P Q R S"
  58. 670 PRINT"[151]"
  59. 680 J=J+1:Y=J
  60. 690 PRINT""SPC(19)CHR$(A(1))
  61. 700 PRINT""SPC(18)CHR$(A(2))" "CHR$(A(3))
  62. 710 PRINT""SPC(17)CHR$(A(4))" "CHR$(A(5))" "CHR$(A(6))
  63. 720 PRINT""SPC(16)CHR$(A(7))" "CHR$(A(8))" "CHR$(A(9))" "CHR$(A(10))
  64. 730 PRINT""SPC(15)CHR$(A(11))" "CHR$(A(12))" "CHR$(A(13))" "CHR$(A(14));
  65. 740 PRINT" "CHR$(A(15))
  66. 750 PRINT""SPC(14)CHR$(A(16))" "CHR$(A(17))" "CHR$(A(18))" "CHR$(A(19));
  67. 760 PRINT" "CHR$(A(20))" "CHR$(A(21))
  68. 770 PRINT""SPC(13)CHR$(A(22))" "CHR$(A(23))" "CHR$(A(24))" "CHR$(A(25));
  69. 780 PRINT" "CHR$(A(26))" "CHR$(A(27))" "CHR$(A(28))
  70. 790 PRINT"";
  71. 800 IFF=0THEN1620
  72. 810 F=F+1
  73. 820 PRINT"[144] MOVE:"J
  74. 830 PRINTSPC(14)"FROM ";
  75. 840 IFRP=1THENA$=F$(J)
  76. 850 GOSUB280
  77. 860 IFA$="*"THENY=Y-1:GOTO1160
  78. 870 F$(J)=A$
  79. 880 F(J)=N
  80. 890 IFA(F(J))<>118THENGOTO2470
  81. 900 PRINTSPC(14)"OVER ";
  82. 910 IFRP=1THENA$=O$(J)
  83. 920 GOSUB280
  84. 930 IFA$="*"THENY=Y-1:GOTO1160
  85. 940 O$(J)=A$
  86. 950 O(J)=N
  87. 960 IFA(O(J))<>118THENGOTO2470
  88. 970 PRINTSPC(14)"  TO ";
  89. 980 IFRP=1THENA$=T$(J)
  90. 990 GOSUB280
  91. 1000 IFA$="*"THENY=Y-1:GOTO1160
  92. 1010 T$(J)=A$
  93. 1020 T(J)=N
  94. 1030 IFA(T(J))<>119THENGOTO2470
  95. 1040 GOTO120
  96. 1050 GOSUB2530
  97. 1060 PRINTSPC(26)"[145][145][145][145][145][145]CORRECT(RTN)"
  98. 1070 PRINTSPC(26)"ERROR(E)"
  99. 1080 PRINTSPC(26)"FINISHED(F)"
  100. 1090 IFRP=1THEN1130
  101. 1100 GET C$:IFC$=""THEN1100
  102. 1110 IFC$="E"THENJ=J-1:GOTO430
  103. 1120 IFC$="F"THEN1160
  104. 1130 A(F(J))=119:A(O(J))=119:A(T(J))=118
  105. 1140 IFJ=MTHENRP=0
  106. 1150 GOTO430
  107. 1160 PRINT"[147]":PRINT"    C O S B Y ' S     P Y R A M I D":PRINTSPC(19)" "
  108. 1170 PRINTSPC(18)"   "
  109. 1180 PRINTSPC(17)"     "
  110. 1190 PRINTSPC(16)"       "
  111. 1200 PRINTSPC(15)"         "
  112. 1210 PRINTSPC(14)"           "
  113. 1220 PRINTSPC(13)"             "
  114. 1230 PRINTSPC(12)"    CHOOSE:    "
  115. 1240 PRINTSPC(11)"                 "
  116. 1250 PRINTSPC(10)"    1) NEW GAME    "
  117. 1260 PRINTSPC(09)"                     "
  118. 1270 PRINTSPC(08)"    2) SAVE GAME       "
  119. 1280 PRINTSPC(07)"                         "
  120. 1290 PRINTSPC(06)"    3) REPLAY GAME         "
  121. 1300 PRINTSPC(05)"                             "
  122. 1310 PRINTSPC(04)"    4) LIST MOVES TO PRINTER   "
  123. 1320 PRINTSPC(03)"                                 "
  124. 1330 PRINTSPC(7)"YOU HAD"27-Y"PEGS REMAINING."
  125. 1340 PRINTSPC(7)"YOUR RANK: ";
  126. 1350 IFY>26THENPRINT"    CHEATER   "
  127. 1360 IFY=26THENGOSUB2530:FORQ=1TO500:NEXT:GOSUB2530:FORQ=1TO500:NEXT
  128. 1370 IFY=26THENGOSUB2530:FORQ=1TO500:NEXT:GOSUB2530:PRINT   " *** MASTER[146] ***"
  129. 1380 IFY=25THENPRINT"** CONSULTANT **"
  130. 1390 IFY=24THENPRINT"* EXPERT *"
  131. 1400 IFY=23THENPRINT"ADVANCED"
  132. 1410 IFY=22THENPRINT"INTERMEDIATE"
  133. 1420 IFY<22THENPRINT"BEGINNER"
  134. 1430 GETC$:IFC$=""THEN1430
  135. 1440 IFC$<"1"ORC$>"4"THEN1430
  136. 1450 GOSUB1940
  137. 1460 IFC$="1"THENJ=0:CLR:GOTO380
  138. 1470 IFY=0ANDC$="2"THENPRINT" ERROR: YOU MUST COMPLETE ONE MOVE.[146]"
  139. 1480 IFY=0ANDC$="2"THENGOSUB2510:FORQ=1TO5000:NEXT:GOTO1180
  140. 1490 IFY=0ANDC$="2"THENPRINT" ERROR: YOU MUST MAKE ONE COMPLETE MOVE[146]"
  141. 1500 IFY=0ANDC$="2"THENGOSUB2500:FORQ=1TO5000:NEXT:GOTO1160
  142. 1510 IFC$="2"THENGOTO2080
  143. 1520 IFC$="3"THENGOTO1970
  144. 1530 IFC$="4"THEN1540
  145. 1540 OPEN4,4:REM OPEN4,3 WILL PRINT TO               SCREEN
  146. 1550 PRINT#4,"MOVE   FROM OVER TO"
  147. 1560 FORJ=1TO26
  148. 1570 IFJ<10THENPRINT#4," ";
  149. 1580 PRINT#4,J"--- "F$(J)" -- "O$(J)" -- "T$(J)
  150. 1590 NEXT
  151. 1600 CLOSE4
  152. 1610 GOTO1160
  153. 1620 PRINT"[144] (C)1986 BY DAVE JEWETT
  154. 1630 [153]"            125 GLENVIEW DR.
  155. 1640 PRINT"            PAW PAW, MICH. 49079
  156. 1650 [153]" FREE TO COPY NOT TO SELL
  157. 1660 PRINT" LOAD A PREVIOUSLY SAVED GAME? (Y/N)":GOSUB1920
  158. 1670 IFB$="Y"THENGOTO2320
  159. 1680 GOSUB250
  160. 1690 PRINT" IF YOU WIN THE 7 ROW GAME, I WOULD   "
  161. 1700 PRINT" LIKE TO KNOW.  FOR A WINNING SEQUENCE"
  162. 1710 PRINT" IN A 5 ROW GAME LIST LINES 2040-2070."
  163. 1720 PRINT"                                      "
  164. 1730 PRINT" INSTRUCTIONS? (Y/N)                  ":F=1:GOSUB1920
  165. 1740 J=J-1:IFB$="N"THEN430
  166. 1750 GOSUB250
  167. 1760 PRINT"  THE BOARD HOLES([215]) ARE FILLED WITH  "
  168. 1770 PRINT" PEGS(X). THE OBJECT IS TO JUMP THE    "
  169. 1780 PRINT" PEGS, AS IN CHECKERS, EITHER DIAGONAL-"
  170. 1790 PRINT" LY OR HORIZONTALLY ENDING UP WITH ONLY"
  171. 1800 PRINT" ONE PEG REMAINING.                    "
  172. 1810 PRINT" HIT ANY KEY TO CONTINUE!"
  173. 1820 GOSUB1920
  174. 1830 GOSUB250
  175. 1840 PRINT" AN OPENING MOVE WOULD BE FROM 6 OVER  "
  176. 1850 PRINT" 3 TO 1. IF YOU'VE ENTERED THE MOVE    "
  177. 1860 PRINT" CORRECTLY HIT RETURN. ON YOUR LAST    "
  178. 1870 PRINT" POSSIBLE MOVE ENTER F INSTEAD OF      "
  179. 1880 PRINT" RETURN. IF YOU FORGET HIT '*'.        "
  180. 1890 PRINT" HIT ANY KEY TO START!                 "
  181. 1900 GOSUB1920
  182. 1910 GOTO430
  183. 1920 GETB$:IFB$=""THEN1920
  184. 1930 RETURN
  185. 1940 PRINT"[145][145][145]";
  186. 1950 FORI=1TO4:PRINT"                                       ":NEXT
  187. 1960 PRINT"[145][145][145][145][145]":RETURN
  188. 1970 PRINTSPC(7)"YOU HAVE COMPLETED"Y"MOVES."
  189. 1980 PRINTSPC(7)"REPLAY BACK TO WHICH MOVE";:J=0:RP=1:INPUTM:
  190. 1990 IFM<2THEN:GOSUB2510:PRINTSPC(7)"ERROR: CAN'T GO BEYOND MOVE 2[146]"
  191. 2000 IFM<2THENFORI=1TO5000:NEXT:GOTO1160
  192. 2010 IFM>=YTHENGOSUB2510:PRINTSPC(7)"ERROR: MUST GO BACK FURTHER[146]"
  193. 2020 IFM>=YTHENFORI=1TO5000:NEXT:GOTO1160
  194. 2030 M=M-1:D$="":GOTO420
  195. 2040 REM*******************************         * 5 ROW GAME WINNING SEQUENCE *
  196. 2050 REM*******************************         *** 4-2-1,6-5-4,7-4-2,C-8-5 ***
  197. 2060 REM*** E-D-C,F-A-6,B-C-D,3-6-A ***         *** D-9-6,A-6-3,1-2-4,4-5-6 ***
  198. 2070 REM*** 6-3-1                   ***         *******************************
  199. 2080 REM *SAVE
  200. 2090 INPUT"[147]T[146]APE OR D[146]ISK  D[157][157][157]";Q$:IFQ$<>"T"ANDQ$<>"D"THEN2090
  201. 2100 INPUT"TITLE  *[157][157][157]";TL$:IFTL$="*"THEN2100
  202. 2110 IFQ$="T"THENOPEN1,1,1,TL$:GOTO2130
  203. 2120 OPEN1,8,1,"0:"+TL$+",S,W"
  204. 2130 PRINT"WRITING GAME DATA"
  205. 2140 PRINT#1,Y;CHR$(13)
  206. 2150 FORI=1TO28:PRINT#1,A(I);CHR$(13):NEXT
  207. 2160 FORI=1TOY:PRINT#1,F(I);CHR$(13)
  208. 2170 PRINT#1,F$(I);CHR$(13):PRINT#1,O(I);CHR$(13)
  209. 2180 PRINT#1,O$(I);CHR$(13):PRINT#1,T(I);CHR$(13):PRINT#1,T$(I);CHR$(13):NEXT
  210. 2190 PRINT#1,J;CHR$(13):PRINT#1,F;CHR$(13)
  211. 2200 CLOSE1:PRINT"GAME SAVED---THE TITLE WAS:"TL$""
  212. 2210 PRINT"Y="Y""
  213. 2220 FORI=1TO28:PRINTA(I);:NEXT:PRINT:PRINT:FORQ=1TO1000:NEXT
  214. 2230 FORI=1TOY:PRINTI,"A(I)="A(I):PRINT,"F(I)="F(I):PRINT,"F$(I)="F$(I)
  215. 2240 PRINT,"O(I)="O(I):PRINT,"O$(I)="O$(I):PRINT,"T(I)="T(I)
  216. 2250 PRINT,"T$(I)="T$(I):PRINT:FORQ=1TO1000:NEXT:NEXT
  217. 2260 PRINT,"J="J,"F="F""
  218. 2270 OPEN15,8,15
  219. 2280 INPUT#15,A$,B$,C$,D$
  220. 2290 PRINT,A$","B$","C$","D$
  221. 2300 CLOSE15
  222. 2310 FORI=1TO5000:NEXT:GOTO1160
  223. 2320 REM *LOAD
  224. 2330 INPUT"[147]T[146]APE OR D[146]ISK  D[157][157][157]";Q$:IFQ$<>"T"ANDQ$<>"D"THEN2330
  225. 2340 INPUT"TITLE  *[157][157][157]";TL$:IFTL$="*"THEN2340
  226. 2350 IFQ$="T"THENOPEN1,1,0,TL$:GOTO2370
  227. 2360 OPEN1,8,0,"0:"+TL$+",S,R"
  228. 2370 PRINT"READING GAME DATA"
  229. 2380 INPUT#1,Y:PRINT"Y="Y:PRINT
  230. 2390 FORI=1TO28:INPUT#1,A(I):PRINTA(I);:NEXT:PRINT:PRINT:FORQ=1TO1000:NEXT
  231. 2400 FORI=1TOY:INPUT#1,F(I):PRINTI,"F(I)="F(I)
  232. 2410 INPUT#1,F$(I):PRINT,"F$(I)="F$(I):INPUT#1,O(I):PRINT,"O(I)="O(I)
  233. 2420 INPUT#1,O$(I):PRINT,"O$(I)="O$(I):INPUT#1,T(I):PRINT,"T(I)="T(I)
  234. 2430 INPUT#1,T$(I):PRINT,"T$(I)="T$(I):PRINT
  235. 2440 NEXT:FORQ=1TO1000:NEXT
  236. 2450 INPUT#1,J:PRINT,"J="J;:INPUT#1,F:PRINT"F="F"":CLOSE1
  237. 2460 PRINT"GAME LOADED--THE TITLE IS:"TL$:FORI=1TO5000:NEXT:J=J-1:GOTO430
  238. 2470 GOSUB250:PRINTSPC(13)"ILLEGAL MOVE"
  239. 2480 GOSUB2500
  240. 2490 D$="":FORI=1TO3000:NEXT:J=J-1:GOTO430
  241. 2500 REM***ERROR SOUND***
  242. 2510 POKE54273,8:POKE54278,249:POKE54276,33:FORQ=1TO500:NEXT:POKE54276,16
  243. 2520 RETURN
  244. 2530 REM ***CORRECT ENTRY SOUND***
  245. 2540 POKE54273,60:POKE54278,249:POKE54276,17:FORQ=1TO150:NEXT:POKE54276,16
  246. 2550 RETURN
  247.