10 REM Christmas tree plot Dec 2024 20 INPUT "Colour? (Y/N) ";C$ 30 IF C$<>"Y" AND C$<>"N" THEN 20 40 C=C$="Y" 50 WAIT 0: PRINT "Merry Christmas!": WAIT 100 GRAPH 110 CSIZE 7 120 GLCURSOR (0,-42): SORGN : COLOR 3*C: LPRINT "M r y" 130 GLCURSOR (0,0): COLOR 2*C: LPRINT " e r" 140 CSIZE 4 150 GLCURSOR (0,-42): SORGN : LPRINT "C r s m s" 160 GLCURSOR (0,0): COLOR 3*C: LPRINT " h i t a" 200 REM Tree 210 GLCURSOR (108,-320): SORGN 220 REM Pot 230 COLOR 0*C 240 LINE (-20,25)-(20,25)-(20,30)-(-20,30)-(-20,25) 250 LINE -(-15,0)-(15,0)-(20,25) 260 REM Main trunk 270 X=0:Y=30:A=0:L=270:W=3:O=0 280 GOSUB "BRANCH" 290 REM Layered branches 300 FOR I=0 TO 6 310 Y=52+I*34 320 L=(7-I)*17 330 W=L/50+2 340 O=INT ((8-I)/2) 350 FOR J=-1 TO 1 STEP 2 360 A=65*J 370 GOSUB "BRANCH" 380 NEXT J 390 NEXT I 400 REM Message 410 GLCURSOR (-108,-24): SORGN : TEXT : COLOR 0*C 420 CSIZE 2: LPRINT " Best wishes from": LF 1 430 CSIZE 4: LPRINT "Ben Ryves": LF 1 440 END 1000 "BRANCH" 1010 REM Branch 1020 COLOR 0*C 1030 LINE (X,Y)-(X+SIN (A)*L,Y+COS (A)*L) 1040 REM Leaves 1050 COLOR 2*C 1060 FOR B=0 TO L STEP 4 1070 LB=((L-B)/L*2+1)*W 1080 XB=X+SIN (A)*B 1090 YB=Y+COS (A)*B 1100 FOR S=-1 TO 1 STEP 2 1110 LINE (XB,YB)-(XB+SIN (A+60*S)*LB,YB+COS (A+60*S)*LB) 1120 NEXT S 1130 NEXT B 1140 REM Ornaments 1150 IF O=0 RETURN 1160 FOR B=0 TO O-1 1170 V=(.9-(B/O)*.9)*L 1180 XO=X+SIN (A)*V 1190 YO=Y+COS (A)*V 1200 GLCURSOR (XO,YO) 1210 YO=YO-18 1220 FOR BO=1 TO 2 1230 COLOR (BO*2-1)*C 1240 FOR BA=0 TO 360*BO STEP 121.5*BO-99 1250 LINE -(XO+SIN (BA)*7,YO+COS (BA)*7) 1260 NEXT BA 1270 NEXT BO 1280 NEXT B 1290 RETURN