home *** CD-ROM | disk | FTP | other *** search
- 5 PRINT CHR$(147)
- 10 PRINT "****************************************"
- 12 PRINT "* *"
- 14 PRINT "* CAYONS OF ZELAZ *"
- 16 PRINT "* *"
- 18 PRINT "* *"
- 20 PRINT "* *"
- 22 PRINT "* WRITTEN BY ERIK MOLDEN[160] *"
- 24 PRINT "* *"
- 26 PRINT "* *"
- 28 PRINT "* *"
- 30 PRINT "****************************************"
- 60 OF=54272:GOSUB500:GOSUB900:TI$="000000":FF=16:Y=71:POKE V+1,Y:GOSUB400
- 97 REM**********************************
- 98 REM* MAIN PROGRAM LOOP *
- 99 REM**********************************
- 100 CS=0:CP=0:POKE V+31,0:J=PEEK(56320)
- 105 IF(JAND16)OR(FU<1)THENC1=-9:POKE AD,0:POKE WA,0:GOTO 150
- 107 POKE54296,15:POKEAD,88:POKESR,240:POKEWA,129:FU=FU-3.5:C1=5.5:POKE2040,14
- 110 IFNOTJAND8THENX1=X1+.25:FU=FU-.5
- 112 IFNOTJAND4THENX1=X1-.25:FU=FU-.5
- 113 IFNOTJAND1THENFU=FU+1.75:C1=32
- 150 POKE55296,2:POKE55326,2:C2=64/C1:V2=V1-.4+.2*C2:A2=A2+.1*(V1+V1):V1=V2
- 155 CP=PEEK(V+31)AND1:IFCP=0THENCR=0
- 176 Y=(222-INT(A2/D)):X=X+X1:IFY<55THENX1=X1*2
- 177 IFX<1ORX>254ORY<45THENGOSUB300
- 178 POKE53279,0:POKEV,X:POKEV+1,Y:IFPEEK(53279)AND1THENCR=CR+1:IFCR>1THENCS=1
- 180 PRINTH$P$P$P$CHR$(17)TAB(32)TI$:PRINTP$TAB(33)STR$(INT(FU))+" "
- 185 PRINTP$TAB(33)STR$(INT(A2))+" ":PRINTTP$TAB(32)"V:"STR$(INT(V2))+"[160]"
- 186 HV$=STR$(X1*3)+" ":PRINTTAB(32)"H:"LEFT$(HV$,5)
- 190 FF=PEEK(V+30)AND30:IFFFTHENGOSUB400
- 195 IF(Y>222ANDV2<-10)ORCSTHENGOSUB300
- 200 POKE55296,7:POKE55326,7:POKE2040,15:GOTO100
- 297 REM ********************************
- 298 REM * MISSION REPORT ROUTINE *
- 299 REM ********************************
- 300 POKENH,2:POKENL,179:POKE54296,15:POKEAD,88:POKESR,240:POKEWA,129:CK=1
- 304 POKE2040,11:POKEV+28,1
- 305 GOSUB380:POKEV+29,31:GOSUB380:POKEV+23,1:GOSUB380:GOSUB390
- 310 POKEAD,00:POKESR,00:POKEWA,00
- 315 GOSUB392:PRINTH$P$:PRINTTAB(32)"CRASHED"
- 317 POKEV+29,30:POKEV+23,0:POKEV+21,30:POKEV+28,30:GOTO 370
- 350 GOSUB392:PRINT H$P$:PRINT TAB(32)"ABORTED":GOTO 370
- 360 GOSUB392:FC=FC-3:IFFC>4THENFC=4
- 362 PRINT H$P$:PRINT TAB(32)" "
- 363 PRINT H$P$:PRINT TAB(32)MR$(FC);TAB(73)"FLIGHT":FORJ=1TO4000:NEXT J
- 370 J=PEEK(56320):IFJAND16THEN370
- 371 IFNOTJAND2THENPOKE V+21,0:CLR:PRINT CHR$(147):END
- 375 GOSUB395:GOSUB900:GOSUB584:FF=PEEK(V+30):FF=0:TI$="000000":RETURN
- 380 FORJ=1TO25:Z=INT(60*RND(1))+1:POKE 705+Z,J:NEXT :RETURN
- 390 FORJ=704TO766:POKEJ,00:NEXT :RETURN
- 392 PRINT H$:PRINT TAB(32)R$"MISSION"TAB(72)R$"REPORT:":RETURN
- 395 PRINT H$P$:PRINT TAB(32)" "TAB(72)" ":RETURN
- 396 REM*********************************
- 397 REM* LANDER SPRITE/PAD ROUTINE *
- 398 REM* COLLISION HANDELER ROUTINE *
- 399 REM*********************************
- 400 IFV2<-10ORABS(X1)>1.5 THENGOTO 300
- 403 IFFF=16ANDX<210THENGOTO 300
- 405 PRINT H$P$:PRINT TAB(32)"LANDED ":POKE 2040,15:POKE AD,0:POKE WA,0
- 410 IFFF=16THENGOSUB495:IFQ=1THEN360
- 415 IFFF=16THENFU=FU+200
- 435 Y=Y-1:POKE V+1,Y
- 440 IFCKTHENPRINT H$P$:PRINT TAB(32)"STANDBY":CK=0
- 450 FORJ=1TO4:IFFF=2^JTHENIFPEEK(V+39+J)AND5THENFU=FU+300:POKE V+39+J,2:FC=FC+1
- 455 POKE (V+43),5
- 460 NEXT J:FORI=1TO1500:NEXT :PRINT H$P$P$:PRINT TAB(34)FC
- 465 PRINT H$P$P$P$;CHR$(17)TAB(32)TI$P$:PRINT TAB(33)STR$(INT(FU))+" "
- 470 PRINT P$TAB(33)STR$(INT(A2))+" ":PRINT P$TAB(32)"V:"STR$(INT(V2))+" "
- 471 HV$=STR$(XI*3)+" ":PRINT TAB(32)"H:"LEFT$(HV$,5)
- 475 IFNOTPEEK(56320)AND2THEN350
- 480 IFPEEK(56320)AND16THEN465
- 485 V1=5:C1=2:X1=0:FF=PEEK(V+30):FF=0:A2=A2+4
- 490 PRINT H$P$:PRINT TAB(32)"ACTIVE!":RETURN
- 495 IF(NOTPEEK(V+40)AND5)AND(NOTPEEK(V+41)AND5)AND(NOTPEEK(V+42)AND5)THENQ=1
- 496 RETURN
- 497 REM*********************************
- 498 REM* SET UP SPRITE DATA AND SCREEN *
- 499 REM*********************************
- 500 FORI=13TO15:FORJ=0TO62:READA:POKE(I*64)+J,A:NEXT J:NEXT I
- 504 DIMMR$(4):MR$(1)="GREAT":MR$(2)="GOOD":MR$(3)="FAIR":MR$(4)="POOR"
- 506 PRINTCHR$(147):POKE53281,11:POKE53280,12:FORJ=55296TO56295:POKEJ,I:NEXT J
- 508 FORJ=1055TO2023STEP40:POKEJ,160:POKEJ+OF,4:POKEJ+8,160:POKEJ+8+OF,4 :NEXTJ
- 510 FORJ=1055TO1062:POKEJ,160:POKEJ+OF,4:POKEJ+960,160:POKEJ+960+OF,4 :NEXTJ
- 512 FORJ=1249TO1252:POKEJ,160:NEXT:FORJ=1289TO1292:POKEJ,160:NEXT:POKE1288,95
- 515 FORJ=1064TO1984STEP40:POKEJ,160:POKEJ+30,160:NEXT
- 516 POKE1105,223:POKE1145,105:POKE1225,223:FORJ=1265TO1245STEP40:POKEJ,160:NEXT
- 517 POKE1024,81:POKE1024+OF,2:POKE1054,81:POKE1054+OF,2
- 518 POKE1105,223:POKE1145,105:POKE1225,223:FORJ=1265TO1425STEP40:POKEJ,160:NEXT
- 520 POKE1465,105:POKE1745,233:POKE1785,160:POKE1825,105:POKE1905,223
- 522 POKE1945,160:POKE1946,223
- 524 FORJ=1984TO2013:POKEJ,160:NEXT
- 526 POKE1093,233:FORJ=1133TO1293STEP40:POKEJ,160:NEXT:POKE1333,95:POKE1413,233
- 530 FORJ=1453TO1893STEP40:POKEJ,160:NEXT:POKE1933,95:POKE1973,233
- 532 POKE1172,223
- 535 POKE1352,223:POKE1353,223:POKE1391,223:POKE1394,105
- 536 FORJ=1392TO1552STEP40:POKEJ,160:NEXT:FORJ=1393TO1953STEP40:POKEJ,160:NEXT
- 538 POKE1431,95:POKE1592,95:POKE1672,95
- 539 POKE1752,233:POKE1792,160:POKE1832,160:POKE1872,95:POKE1791,233:POKE1831,95
- 542 POKE1471,233:POKE1511,160:POKE1551,95:POKE1510,223
- 545 POKE1434,223:POKE1474,160:POKE1514,105:POKE1554,223:POKE1594,160
- 547 POKE1595,223:FORJ=1634TO1954STEP40:POKEJ,160:POKEJ+1,160:NEXT
- 549 POKE1716,223:POKE1717,223:POKE1757,105:POKE1797,223:POKE1837,105
- 550 POKE1876,105:POKE1916,223:POKE1956,105:FORJ=1756TO1836STEP40:POKEJ,160:NEXT
- 554 POKE1442,223:POKE1443,223:POKE1444,223:POKE1445,223:POKE485,105
- 556 POKE1481,95:FORX=1482TO1602STEP40:POKEX,160:NEXT
- 558 FORJ=1483TO1963STEP40:POKEJ,160:POKEJ+1,160:NEXT
- 560 FORJ=1525TO1965STEP40:POKEJ,160:NEXT:FORJ=1526TO1606STEP40:POKEJ,160:NEXT
- 565 FORJ=1766TO1966STEP40:POKEJ,160:NEXT:POKE1646,105:POKE1726,223
- 567 POKE1486,233:POKE1567,105:POKE1807,223
- 570 POKE1967,233:POKE1968,233:POKE1451,95:POKE1452,160:POKE1651,233:POKE1691,95
- 573 POKE1492,233:FORJ=1492TO1812STEP40:POKEJ,160:NEXT:POKE1852,95
- 575 POKE1521,233:POKE1561,95:POKE1642,95:POKE1723,95:POKE1763,32:POKE1803,233
- 577 POKE1842,233:POKE1882,95:POKE1922,233
- 584 P$=CHR$(17)+CHR$(17)+CHR$(17):H$=CHR$(19):R$=CHR$(18)
- 585 PRINTH$;CHR$(5 ):PRINTTAB(32)R$"MISSION"TAB(72)R$"STATUS:"
- 587 PRINTH$P$P$;CHR$(17):PRINTTAB(32)R$" TIME: ":PRINTP$TAB(32)R$" FUEL: "P$
- 591 PRINTTAB(32)R$" ALT: "P$:PRINTTAB(32)R$" VEL: "
- 596 PRINTH$P$P$TAB(32)R$"REFUELS"
- 597 RETURN
- 896 REM*********************************
- 897 REM* DEFINE AND ENABLE SPRITES *
- 898 REM* 1 THRU 5 AND GAME VARIABLES *
- 899 REM*********************************
- 900 V=53248:X=219:Y=70:D=3:CR=0:POKEV+31,0:FU=0:A2=456:V1=0:X1=0
- 910 POKEV+21,31:POKE2040,15:POKEV,X:POKEV+1,Y:POKEV+27,1:CK=1:Q=0:V2=0
- 916 POKE2041,13:POKE2042,13:POKE2043,13:POKE2044,13
- 918 POKEV+2,48:POKEV+3,242:POKEV+4,124:POKEV+5,242:POKEV+6,215:POKEV+7,242
- 919 POKEV+8,210:POKEV+9,90
- 920 POKEV+39,15:POKEV+40,5:POKEV+41,5:POKEV+42,5:POKEV+43,2
- 922 POKEV+29,30:POKEV+37,7:POKEV+38,2
- 930 FORJ=54272TO54296:POKEJ,0:NEXT:WA=54276:AD=54277:SR=54278:NL=54272:NH=54273
- 940 POKENL,216:POKENH,12:FC=0
- 950 RETURN
- 996 REM*********************************
- 997 REM* DATA FOR SPRITE DATA BLOCK *
- 998 REM* 13, 14, AND 15 *
- 999 REM*********************************
- 1000 DATA255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
- 1002 DATA255,255,255,255,255,255,255
- 1003 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 1004 DATA0,0,0,0,0,0,32,254,24,35,255,160,31,255,216,15,255,192,31,255,192
- 1006 DATA63,255,248,127,255,252,127,255,252,127,255,248,63,255,240,15,255,240
- 1008 DATA19,255,152,38,56,68,120,124,62,64,254,2,64,210,2,64,169,2
- 1010 DATA65,85,2,194,51,131,0,0,0
- 1012 DATA0,0,0,32,254,24,35,255,160,31,255,216,15,255,192,31,255,192
- 1014 DATA63,255,248,127,255,252,127,255,252,127,255,248,63,255,240,15,255,240
- 1016 DATA19,255,152,38,56,68,120,124,62,64,254,2,64,0,2,64,0,2
- 1018 DATA64,0,2,192,0,3,0,0,0
-