Listing of file='EASTER' on disk='vmedia/2282_graphics_crt_demos.wvd.zip'
# Sector 190, program filename = 'EASTER' 0001 REM %HOLIDAY GREETING PROGRAM - 04/16/81 - by R.L. Droz 0002 COM P$3 0003 DIM S1$64,L(5,3),E(5),E$(5),E1$(7),D1$1 0005 PRINT HEX(0D03),,HEX(020400020F0E);" EASTER GREETING PROGRAM " : PRINT 0006 LINPUT "GRAPHICS CRT IS AT WHICH ADDRESS?" -P$ 0007 MAT SEARCH "13151604", = STR(P$,2,2) TO L$ : IF STR(L$,,2)=HEX(0000) THEN 5 0008 SELECT PLOT <P$> 0015 SELECT D 0017 PLOT <,,HEX(03E5)> 0020 GOSUB '60(999,"HAPPY EASTER ") 0022 PRINT "ENTER '$RELEASE TERMINAL TO";#PART;"' TO HALT THIS PROGRAM." 0023 $PSTAT="GREETING" : $RELEASE TERMINAL 0030 RESTORE : MAT READ L 0031 DATA 400,250,150, 100,350,25, 100,120,25, 700,350,25, 700,120,25 0032 MAT READ E1$ 0033 DATA "@","#","%","*","+","-","=" 0034 MAT READ E 0035 DATA 400,240,80,560,720 0036 PLOT <1,,C>,<10,,S> 0038 I=MOD(5*RND(1),5)+1 0039 IF RND(1)>.4 THEN PLOT <,,HEX(E1)> : ELSE PLOT <,,HEX(E2)> 0040 GOSUB '63(L(I,1),L(I,2),L(I,3)) 0042 GOSUB '64(INT(5*RND(1)+1)) 0045 $BREAK 20 : GOTO 38 0099 REM % CENTER WORDS 0100 DEFFN'60(Y9,S1$) : C=MIN(INT(80/LEN(S1$)),4) : S=MAX(10*C,800/LEN(S1$)) 0110 $TRAN (S1$, " ] ") R : PLOT <,,R>,<C,,C>,<S,,S>,<S/2,MIN(512-S,Y9),S1$> 0120 Y9=MIN(Y9,512)-2.5*S : RETURN 0199 REM % PLOT ABSOLUTE 0200 DEFFN'61(X,Y,P1$) : X=ROUND((X,0) : Y=ROUND((Y,0) 0205 IF P1$="U" THEN PLOT <X-X1,Y-Y1,U> : ELSE PLOT <X-X1,Y-Y1,D> 0210 X1=X : Y1=Y : RETURN 0220 DEFFN'62 : X1,Y1=0 : PLOT <,,R> : RETURN 0300 REM % DRAW FLOWER 0305 DEFFN'63(X2,Y2,M) : PLOT <,,R>,<X2-X3,Y2-Y3,HEX(E4)> 0307 GOSUB '62 0308 GOSUB '61(0,M*COS(0),"U") 0310 S=1 : E=1.25 : X3=X2 : Y3=Y2 0320 FOR T=0 TO 360 STEP 5 0325 R=M*COS(4*T) 0330 GOSUB '61(R*SIN(T),R*COS(T),"D") 0335 NEXT T 0336 GOSUB '61(0,0,"U") 0337 GOTO 340 0338 FOR T=0 TO 45 STEP 5 : R=M*T*#PI/180 : GOSUB '61(-R*SIN(T),-R*COS(T),"D") : NEXT T 0340 RETURN 0399 REM % DRAW & DECORATE EGG 0400 DEFFN'64(E) : R=40 : O=.7 : PLOT <,,R>,<E(E)-X3,R+3-Y3,HEX(E4)> : GOSUB '62 0402 X3=E(E) : Y3=R+3 0405 IF E$(E)=" " THEN 410 : PLOT <,,HEX(E2)> : D1$=E$(E) : E$(E)=" " : GOTO 415 0410 PLOT <,,HEX(E1)> : E$(E)=E1$(7*RND(1)+1) : D1$=E$(E) 0415 GOSUB '61(0,-R,"U") 0420 FOR T=-90 TO 270 STEP 20 0425 GOSUB '61(O*R*COS(T),R*SIN(T),"D") 0430 NEXT T 0440 GOSUB '61(-.4*R,R-15,"U") : GOSUB 500 0442 GOSUB '61(0,0,"U") : PLOT <,,R> 0445 GOSUB '61(-.4*R,15-R,"U") : GOSUB 500 0447 GOSUB '61(0,0,"U") : PLOT <,,R> 0450 RETURN 0500 FOR T=-.4*R TO +.4*R STEP 10 : PLOT <,,D1$> : NEXT T : RETURN 1000 DEFFN'31 : COM CLEAR P$ : LOAD DC T "!" 9999 DEFFN'20 : PLOT <,,HEX(03)> : RETURN