'Example 3d image movements 'm-aydin@usa.net SCREEN 12: C = 57.29577951#: X1 = 45: Y1 = 120 FOR I = 1 TO 7 STEP 2: Z(I) = 50: Z(I + 1) = -50: NEXT I FOR I = 1 TO 5 STEP 4: FOR J = 0 TO 1 Y(I + J) = 50: Y(I + J + 2) = -50: NEXT J, I FOR I = 1 TO 4: X(I) = -50: X(I + 4) = 50: NEXT I DO: ROTATE: R = X1 / C: T = Y1 / C: FOR I = 1 TO 8 A(I) = 300 + X(I) * COS(R) - Y(I) * SIN(R) B(I) = 250 + Z(I) * COS(T) - (X(I) * SIN(R) + Y(I) * COS(R)) * SIN(T) NEXT I: CLS : PRINT "Print x or y or q" FOR I = 1 TO 7 STEP 2: LINE (A(I), B(I))-(A(I + 1), B(I + 1)): NEXT I FOR I = 0 TO 1: LINE (A(1 + I), B(1 + I))-(A(3 + I), B(3 + I)) LINE (A(3 + I), B(3 + I))-(A(7 + I), B(7 + I)) LINE (A(5 + I), B(5 + I))-(A(1 + I), B(1 + I)) LINE (A(7 + I), B(7 + I))-(A(5 + I), B(5 + I)): NEXT I getkey: Z$ = UCASE$(INKEY$): IF Z$ = "" THEN GOTO getkey IF Z$ = "X" THEN X1 = X1 + 1: GOTO ROTATE IF Z$ = "Y" THEN Y1 = Y1 + 1: GOTO ROTATE IF Z$ = "Q" THEN END LOOP UNTIL getkey$ = "Q" SUB sparklepause COLOR 4, 0 A$ = "* * * * * * * * * * * * * * * * * " WHILE INKEY$ <> "": WEND 'Clear keyboard buffer WHILE INKEY$ = "" FOR A = 1 TO 5 LOCATE 1, 1 'print horizontal sparkles PRINT MID$(A$, A, 80); LOCATE 22, 1 PRINT MID$(A$, 6 - A, 80); FOR B = 2 TO 21 'Print Vertical sparkles C = (A + B) MOD 5 IF C = 1 THEN LOCATE B, 80 PRINT "*"; LOCATE 23 - B, 1 PRINT "*"; ELSE LOCATE B, 80 PRINT " "; LOCATE 23 - B, 1 PRINT " "; END IF NEXT B NEXT A WEND END SUB