100 GRAPHICS 0:POKE 82,5:POSITION 9,2:? "*** THE PYRAMID ***":PRINT ›112 ? "ADJUST TV CONTRAST AND"›113 ? "BRIGHTNESS TO MINIMUM."›114 ? "ADJUST TV COLOR AND TINT"›115 ? "TO SUIT INDIVIDUAL TASTE.":? ›120 ? "YOUR CHOICE:"›130 ? " (0) RANDOM PARAMETERS"›140 ? " (1) USER CONTROLLED PARAMETERS"›150 TRAP 150:INPUT CHOICE:IF CHOICE=0 THEN GRAPHICS 24:GOTO 500›160 IF CHOICE<>1 THEN 150›170 ? :? "DRAW BACKGROUND OF VERTICAL LINES?"›180 ? " (0) EVEN LINES"›190 ? " (1) ODD LINES"›200 ? " (2) NO BACKGROUND"›210 TRAP 210:INPUT LIGHT:IF LIGHT=2 THEN 230›220 IF LIGHT<>0 AND LIGHT<>1 THEN 210›230 ? :? "DRAW PYRAMID IN MODE"›240 ? " (0) FROM CENTER OUTWARD"›250 ? " (1) FROM LEFT TO RIGHT"›260 TRAP 260:INPUT MODE›270 IF MODE<>0 AND MODE<>1 THEN 260›280 ? :? "FOR APEX OF PYRAMID USE"›290 ? " (0) ONE POINT"›300 ? " (1) TWO POINTS"›310 TRAP 310:INPUT APEX›320 IF APEX<>0 AND APEX<>1 THEN 310›330 ? :? "SPACING OF RAYS FROM APEX?"›340 ? "(USUALLY AN INTEGER: 2 TO 6)"›350 TRAP 350:INPUT SPACE:IF SPACE<1 THEN 350›360 ? :? "DRAW DARK VERTICAL LINES?"›370 ? " (0) EVEN LINES"›380 ? " (1) ODD LINES"›390 ? " (2) NO LINES"›400 TRAP 400:INPUT DARK:IF DARK=2 THEN 420›410 IF DARP<>0 AND DARK<>1 THEN 400›420 ? :? "WHEN FINISHED"›430 ? " (0) GOTO RANDOM PARAMETERS"›440 ? " (1) HOLD THE PATTERN"›450 TRAP 450:INPUT HOLD›455 IF HOLD=0 THEN GRAPHICS 24:GOTO 600›460 IF HOLD<>0 AND HOLD<>1 THEN 450›470 POKE 82,2:? :? "WHEN PATTERN IS FINISHED"›475 ? "HIT Θ ΛΕΩ TO CHANGE HUE."›480 ? :? "READY? HIT START KEY."›490 IF PEEK(53279)<>6 THEN 490›495 TRAP 40000:GRAPHICS 24:GOTO 600›497 REM ›498 REM *** RANDOM PARAMETERS***›499 REM ›500 LIGHT=INT(RND(0)*8)›510 MODE=INT(RND(0)*2)›520 APEX=INT(RND(0)*2)›530 SPACE=2+INT(RND(0)*5)›535 IF MODE=M AND APEK=A AND SPACE=S THEN 510›540 DARK=INT(RND(0)*8)›545 HUE=INT(RND(0)*16)›550 POKE 77,0:REM RESET ATTRACT MODE›597 REM ›598 REM *** PROGRAM EXECUTION ***›599 REM ›600 SETCOLOR 2,HUE,0:SETCOLOR 1,0,14›620 IF LIGHT>1 THEN 640›630 COLOR 1:B=LIGHT:GOSUB 1000›640 IF MODE=0 THEN GOSUB 2000›650 IF MODE=1 THEN GOSUB 3000›660 REM *** DRAWTO SIDES ***›670 FOR K=191 TO 1 STEP -SPACE›680 COLOR 1:PLOT 159,APEX:DRAWTO 318,K:PLOT 159,APEX:DRAWTO 0,K›690 COLOR 0:PLOT 159,0:DRAWTO 318,K-1:PLOT 159,0:DRAWTO 0,K-1:NEXT K›700 IF DARK>1 THEN 720›710 COLOR 0:B=DARK:GOSUB 1000›720 IF HOLD=1 THEN 4000›730 IF RND(0)<0.2 THEN GRAPHICS 24›740 M=MODE:A=APEX:S=SPACE›750 GOTO 500›998 REM ›999 REM *** SUBROUTINE VERTICAL LINES›1000 FOR K=B TO 319 STEP 2›1010 PLOT K,0:DRAWTO K,191:NEXT K›1020 RETURN ›1998 REM ›1999 REM *** SUB STARTS FROM CENTER›2000 FOR K=0 TO 158 STEP SPACE›2010 COLOR 1:PLOT 159,0:DRAWTO 159+K,191:PLOT 159,0:DRAWTO 159-K,191›2020 COLOR 0:PLOT 159,APEX:DRAWTO 160+K,191:PLOT 159,APEX:DRAWTO 158-K,191›2030 NEXT K:RETURN ›2998 REM ›2999 REM *** SUB DRAWS LEFT TO RIGHT›3000 FOR K=0 TO 318 STEP SPACE›3010 COLOR 1:PLOT 159,APEX:DRAWTO K,191›3020 COLOR 0:PLOT 159,0:DRAWTO K+1,191:NEXT K:RETURN ›4000 REM ›4001 REM *** ALLOWS USER TO CHANGE›4002 REM *** HUE WHEN PATTERN IS ON›4003 REM *** HOLD BY HITTING H KEY.›4010 OPEN #1,4,0,"K:"›4020 GET #1,X:IF X=72 THEN HUE=HUE+1›4030 IF HUE=16 THEN HUE=0›4040 SETCOLOR 2,HUE,0:GOTO 4020›