0 V=PEEK(186) 1 IFX=0THENX=1:PRINT"[147][144][194]UILDING THE [208]YRAMID...":LOAD"UNPACKER",V,1 2 IFX=1THENX=2:LOAD"PYRAMID.SHPS.LNK",V,1 3 IFX=2THENX=3:LOAD"LINEPLOT.O",V,1 4 IFX=3THENX=4:LOAD"JOEPLAY",V,1 5 IFX=4THENX=5:LOAD"TAPS",V,1 6 IFX=5THENX=6:LOAD"VICTORY",V,1 7 TEXT=50759:PLOT=51462:HI=51459 10 PRINT"[147]":POKE53280,0:POKE53281,0 70 DIMX(15),Y(15),P(15):N=15:S=1:B=0 72 SS$=" " 170 GOTO280 180 REM ERASE BOTTOM 182 FORLL=21TO23:SYSTEXT,SS$,0,LL*8:NEXT:RETURN 184 : 210 REMSETALLPIECESINHOLES 220 FORI=1TO15:AG=1:P(I)=AG:NEXT:KI=INT(RND(1)*15)+1:RETURN 230 REMINITIALIZATION 280 FORI=1TO15:READX(I),Y(I):NEXTI 290 GOSUB220 350 PRINT"[147]"SPC(11)"[204][207][193][196][211][212][193][210] [208][210][197][211][197][206][212][211]" 352 PRINT""SPC(16)"[208][217][210][193][205][201][196]" 354 PRINT""SPC(15)"[208][160][207][160][215][160][197][160][210]" 356 PRINT""SPC(12)"[211][160][212][160][210][160][213][160][199][160][199][160][204][160][197]" 380 PRINT""SPC(12)"[194][217][160][193][204][193][206][160][199][193][210][196][206][197][210]" 381 PRINTSPC(13)"[195][207][208][217][210][201][199][200][212] 1986" 382 PRINT""SPC(12)"[198][210][207][205][160][193][206][160][201][196][197][193] [194][217]" 384 PRINTSPC(14)"[211][193][206][196][217][160][211][205][201][212][200]" 390 PRINT" [204][207][193][196][211][212][193][210] [201][211] [206][207][212] [208][213][194][204][201][195] [196][207][205][193][201][206]." 392 PRINT" [208][204][197][193][211][197] [210][197][211][208][197][195][212] [212][200][197] [193][213][212][200][207][210]'[211] [210][201][199][200][212][211]." 400 IFB=1THEN450 410 PRINT" [196][207] [217][207][213] [215][193][206][212] [201][206][211][212][210][213][195][212][201][207][206][211]? ([217]/[206])"; 412 POKE198,0:WAIT198,1:GETQ$:IFQ$="Y"THEN1080 420 IFQ$<>"N"THEN412 450 REMSHOWGAMEBOARD 455 X=0:Y=0:SH=0:GOSUB20000:SYS51459 456 FORZ=1TO15:SH=3:IFZ=KITHENSH=2 457 X=X(Z):Y=Y(Z):GOSUB20000:NEXT 460 GOSUB180 471 SYSTEXT,"WHICH PIECE DO YOU WANT TO REMOVE FIRST? (A-O)",0,176 472 POKE198,0:WAIT198,1:GETQ$:Q=ASC(Q$)-64:IFQ<1ORQ>15THEN460 473 SYSTEXT,Q$,14*8,176+8:GOSUB180 474 GL=0:IFQ=KITHENSYSTEXT,"NOT THE PHARAOH...",0,176:GL=1 475 IFGL=1THENFORDL=1TO1000:NEXT:GOTO471 481 P(Q)=0:N=N-1:SH=3:X=X(Q):Y=Y(Q):SO=3:GOSUB30000 483 SH=1:GOSUB20000 490 SYSTEXT,"PRESS 'Q' TO QUIT",0,21*8 492 SYSTEXT,"PIECES LEFT",22*8,21*8 493 SYSTEXT,"PIECES REMOVED",22*8,22*8 500 REMMAINPROGRAM 510 N$=MID$(STR$(N),2):IFN<10THENN$=" "+N$ 520 SYSTEXT,N$,37*8,21*8 530 R=15-N:R$=MID$(STR$(R),2):IFR<10THENR$=" "+R$ 540 SYSTEXT,R$,37*8,22*8 550 REMPLAYERINPUT 560 OT$="OVERTHROWS:"+STR$(OT)+" ":SYSTEXT,OT$,178,1 561 SYSTEXT,SS$,0,23*8 562 SYSTEXT,"FROM: ",0,23*8 563 POKE198,0:WAIT198,1:GETQ$:IFQ$="Q"THEN960 564 IFQ$="W"THENN=2:GOTO560 570 REM 580 F=ASC(Q$+CHR$(0))-64:IFF<1ORF>15THEN560 590 IFP(F)=0THEN560:REMNOPIECEIN"[198][210][207][205]" 592 SYSTEXT,Q$,7*8,23*8 600 SYSTEXT," ",12*8,23*8 601 SYSTEXT,"TO: ",12*8,23*8 602 POKE198,0:WAIT198,1:GETQ$:PRINTQ$;:IFQ$="Q"THEN960 610 REM 620 T=ASC(Q$+CHR$(0))-64:IFT<1ORT>15THEN600 630 IFP(T)=1THEN560:REMPIECEIN"[212][207]" 635 SYSTEXT,Q$,16*8,23*8 637 REM ************** 640 REMCHECKFORRIGHTROW/COLUMN 650 IFY(T)<>Y(F)THEN690:REMNOTINSAMEROW 660 YY=Y(T):IFABS(X(T)-X(F))=12THENXX=(X(T)+X(F))/2:GOTO770 680 GOTO560 690 IFY(F)>Y(T)THEN730 700 YY=Y(F)+4:IFX(F)-6=X(T)THENXX=X(F)-3:GOTO770 710 IFX(F)+6=X(T)THENXX=X(F)+3:GOTO770 720 GOTO560 730 YY=Y(T)+4:IFX(T)+6=X(F)THENXX=X(T)+3:GOTO770 740 IFX(F)+6=X(T)THENXX=X(F)+3:GOTO770 750 GOTO560 760 REMMAKESURETHEREISAPEGTOJUMP 770 FORI=1TO15:IFXX=X(I)ANDYY=Y(I)THENPN=I:I=15:GOTO790 780 IFXX-2=X(I)ANDYY=Y(I)THENPN=I:I=15 790 NEXTI 800 IFP(PN)=0THEN560:REMNOPIECETOJUMP 810 P(PN)=0:P(F)=0:P(T)=1 815 REM ************* 816 REM ************* 820 REMMOVEPIECE 830 REM ERASE PIECE IN FROM 832 SH=3:IFKI=FTHENSH=2 834 X=X(F):Y=Y(F):SO=1:GOSUB30000 835 SH=1:GOSUB20000 840 : 860 REM DRAW PIECE IN TO 872 SH=3:IFKI=FTHENSH=2 873 X=X(T):Y=Y(T):SO=2:GOSUB30000 874 SH=3:IFKI=FTHENSH=2:KI=T 875 GOSUB20000 876 : 880 REM REMOVE JUMPED PIECE 890 N=N-1 892 SH=3:IFPN=KITHENSH=2 893 X=X(PN):Y=Y(PN):SO=3:GOSUB30000 894 SH=1:GOSUB20000 895 : 896 IFKI=PNTHENX=X(T):Y=Y(T):SH=2:SO=1:GOSUB30000:OT=OT+1:SH=2:GOSUB20000:KI=T 900 IFN>1THEN510 910 REM WIN IF 1 PIECE LEFT 920 GOSUB180:SYSTEXT,"CONGRATULATIONS! YOU WON!!",24,21*8 940 GOTO1000 950 REMPLAYERQUIT-GIVESCORE 960 GOSUB180:N$="PIECES LEFT:"+STR$(N)+" ":SYSTEXT,N$,0,21*8 961 SYSTEXT,"SCORE:",0*8,22*8:X=9*8:Y=22*8 962 IFN=2THENSYSTEXT,"ABOVE AVERAGE",X,Y:GOTO1000 970 IFN=3THENSYSTEXT,"AVERAGE",X,Y:GOTO1000 980 IFN=4THENSYSTEXT,"FAIR",X,Y:GOTO1000 982 SYSTEXT,"PRETTY ROTTEN",X,Y 983 POKE252,161:POKE251,0:SYS49152 984 IFPEEK(788)<>49THEN984 990 REMEND 1000 IFN<>1THEN1005 1003 SYSTEXT,"PRESS A KEY TO SEE YOUR RATING...",2*8,23*8:POKE198,0:WAIT198,1 1004 GOSUB40000 1005 SYSTEXT," PLAY AGAIN? (Y/N) ",3*8,23*8 1006 POKE198,0:WAIT198,1:GETQ$:IFQ$="N"THEN1030 1010 IFQ$<>"Y"THEN1006 1020 GOSUB220:N=15:OT=0:GOTO456 1030 SYS51459:PRINT"[147] [212]HANK YOU FOR PLAYING" 1032 PRINT""SPC(16)"[208][217][210][193][205][201][196]" 1034 PRINT""SPC(15)"[208][160][207][160][215][160][197][160][210]" 1036 PRINT""SPC(12)"[211][160][212][160][210][160][213][160][199][160][199][160][204][160][197]" 1040 REM 1050 GOTO41000 1060 END 1070 REMINSTRUCTIONS 1080 PRINT"[147] [208][217][210][193][205][201][196][160][208][207][215][197][210][160][211][212][210][213][199][199][204][197]" 1090 PRINT" [217][207][213][210] [199][207][193][204] [201][211] [212][207] [210][197][205][207][214][197] [193][211] [205][193][206][217] [211][195][210][201][194][197][211]":PRINT 1092 PRINT"[193][211] [208][207][211][211][201][194][204][197] [198][210][207][205] [212][200][197] [194][207][193][210][196] [194][217] [202][213][205][208][201][206][199]":PRINT 1100 PRINT"[207][214][197][210] [207][206][197] [211][195][210][201][194][197] [193][212] [193] [212][201][205][197] [201][206][212][207] [193][206]":PRINT:PRINT"[197][205][208][212][217] [211][208][193][195][197].":PRINT 1108 PRINT" [201][198][160][193][160][208][200][193][210][207][193][200][160][201][211][160][202][213][205][208][197][196], [212][200][193][212][160][201][211]":PRINT 1109 PRINT"[195][207][206][211][201][196][197][210][197][196][160][193][206][160][207][214][197][210][212][200][210][207][215]. [203][197][197][208][160][201][206][160][205][201][206][196]":PRINT 1110 PRINT"[212][200][193][212] [212][200][197][160][198][197][215][197][210][160][207][214][197][210][212][200][210][207][215][211][160][217][207][213] [200][193][214][197], [212][200][197]":PRINT 1112 PRINT"[194][197][212][212][197][210][160][217][207][213][210] [210][193][212][201][206][199][160][215][201][204][204] [194][197], [201][198][160][217][207][213][160][215][201][206]":PRINT"[212][200][197][160][199][193][205][197].":PRINT 1120 PRINT" [201][198] [217][207][213] [200][193][214][197] [205][207][210][197] [212][200][193][206] [207][206][197] [208][201][197][195][197] [204][197][198][212]" 1122 PRINT"[215][201][212][200][207][213][212] [193][206][217] [204][197][199][193][204] [205][207][214][197][211] [193][214][193][201][204][193][194][204][197], [208][210][197][211][211] "; 1123 PRINTCHR$(34)"[209]"CHR$(34)" [212][207][160][209][213][201][212][160][193][206][196][160][199][197][212][160][217][207][213][210][160][210][193][212][201][206][199]." 1130 PRINT" [208][210][197][211][211] [193] [203][197][217] [212][207][160][194][197][199][201][206]";:POKE198,0:WAIT198,1 1140 GETQ$:B=1:GOTO350 1150 REMPIECELOCATIONS 1160 DATA17,0,14,4,20,4,11,8,17,8,23,8,8,12,14,12,20,12,26,12,5,16,11,16 1170 DATA17,16,23,16,29,16 10000 D=PEEK(186):N$="PYRAMID":OPEN15,D,15,"S0:"+N$:CLOSE15:SAVEN$,D:END 20000 REM SHAPE STUFF 20010 POKE249,224:POKE250,204:POKE251,0:POKE252,64:POKE253,X:POKE254,Y 20020 POKE255,SH:SYSPLOT 20030 RETURN 30000 REM SOUND ROUTINES 30005 SS=SH:SI=54272 30010 IFSO=1ORSO=2THENGOSUB31000:RETURN 30030 GOSUB33000:RETURN 30040 : 31000 REM SOUND T 31010 POKESI+1,14:POKESI+5,3:POKESI+6,255-15:POKESI+24,15:POKESI+4,17 31020 FORD=11TO110STEP10 31030 POKESI+1,D:POKESI+4,63:POKESI+1,255-D:POKESI+4,17 31040 GOSUB35000 31060 NEXT:POKESI+4,16:RETURN 31080 : 33000 REM SOUND Z 33010 POKESI+1,14:POKESI+5,3:POKESI+6,240:POKESI+24,15:POKESI+4,17 33020 FORD=6TO7 33030 FORD1=1TO12STEPLOG(D) 33040 POKESI+1,4*D1:POKESI+4,17 33050 GOSUB35000 33070 NEXT:NEXTD 33080 POKESI+4,16:RETURN 33090 : 35000 REM DO THE SHAPE FLIPPING 35010 IFSH=SSTHENSH=1:GOSUB20000:GOTO35030 35020 SH=SS:GOSUB20000 35030 RETURN 40000 REM SHOW RATING 40010 SH=0:X=0:Y=0:GOSUB20000 40020 NP=1+OT:IFNP>15THENNP=15 40022 FORZ=15TONPSTEP-1 40030 X=X(Z):Y=Y(Z):SH=2:GOSUB20000:NEXT:NP=16-NP 40040 NP$="POLITICAL SCORE:"+STR$(NP)+" OUT OF 15.":SYSTE,NP$,0,22*8 40050 IFNP>12THENPOKE252,160:POKE251,0:GOTO40070 40052 POKE252,161:POKE251,0 40070 SYS49152:POKE198,0: REM MUSIC ON 40090 IFPEEK(788)=49THEN RETURN 40092 IFPEEK(198)=0THEN40090 40094 SYS49155: REM OFF MUSIC 40096 RETURN 41000 FORI=0TO21:POKE828+I,8+I:NEXT 41010 IFDV<8ORDV>29ORDV=8THEN41030 41020 A=PEEK(828):B=PEEK(828+DV-8):POKE828,B:POKE828+DV-8,A 41030 A$="HELLO CONNECT":FORJ=8TO29:I=PEEK(828+J-8):IFI=14THENNEXT 41040 CLOSE2:OPEN2,I,2:CLOSE2:IFSTTHEN41060 41050 CLOSE15:OPEN15,I,15,"R0:"+A$+"="+A$:INPUT#15,ER:CLOSE15:IFER=63THEN41070 41060 NEXT:PRINT"[147]":POKE53272,23:POKE186,8:END 41070 Q$=CHR$(34):POKE646,PEEK(53281):PRINT"[147]":POKE53272,23 41080 PRINT"[147]P[207]2048,0:P[207]44,8:P[207]43,1:P[207]56,160:P[207]55,0:CLR:L[207]"Q$A$Q$","I 41090 PRINT"RUN:":POKE631,13:POKE632,13:POKE198,2:END