DECLARE FUNCTION reverse$ (a$) DECLARE FUNCTION randomkjoeps$ (size!) DECLARE SUB update.stars (txt1$) CLS : WIDTH , 50: SCREEN 0, 0, 1, 0 DIM SHARED stars(1000, 3) RANDOMIZE TIMER ' 100 sterren , 3 locaties (1 = x , 2 = y , 3 = z) FOR i = 1 TO 100 uc2ins: a = INT(RND * 80) + 1 b = INT(RND * 35) + 7.5 IF a > 40 THEN c = a - 40 ELSE c = 40 - a IF b > 25 THEN d = b - 25 ELSE d = 25 - b ' stelling van piet hazegras e = SQR(c ^ 2 + d ^ 2) IF e > 35 THEN GOTO uc2ins: stars(i, 1) = a stars(i, 2) = b stars(i, 3) = RND / 4 NEXT zippy: READ z$ IF z$ = "|" THEN GOTO flip: a$ = a$ + z$ GOTO zippy: DATA "c o d e b y e d y o , b u z z " DATA " " DATA "g f x b y e d y o , b u z z " DATA " " DATA "d e m o m u s i c b y e d y o " DATA " " DATA "c r e d i t m u s i c b y b u z z " DATA " " DATA "i d e a s b y e d y o , b u z z " DATA " " DATA "g r e e t i n g s ( l e v e l o n e ) " DATA " " DATA "o m e g a / i n t r a" DATA " " DATA "b a n j o m a n i a / n o n e" DATA " " DATA "s a n d r o i d / n o n e" DATA " " DATA "d a r k g a b b e r / d a r k g r o u p" DATA " " DATA "g r e e t i n g s ( l e v e l t w o ) " DATA " " DATA "f a s t c h i c k e n / m y s t i c m i g h t" DATA " " DATA "t a s z / t h e c h a l l e n g e" DATA " " DATA "g r e e t i n g s ( l e v e l t h r e e ) " DATA " " DATA "d a r k g r o u p" DATA " " DATA "i n t r a" DATA " " DATA "g o t o 1 0" DATA " " DATA "a l l t e x t m o d e g r o u p s" DATA " " DATA "a l l b a s i c g r o u p s" DATA "|" flip: a$ = SPACE$(40) + a$ + " " tempy$ = randomkjoeps$(LEN(a$)) position = 1 pos2 = LEN(a$) + (40 + 30) DO update.stars t1$ PCOPY 1, 0 WAIT &H3DA, 8, 8 WAIT &H3DA, 8, 0 COLOR 4, 0 LOCATE 47, 40 PRINT MID$(a$, position, 40); IF position - 36 > 1 THEN t1$ = MID$(a$, position - 36, 37) ELSE t1$ = SPACE$(37) position = position + 1 IF position - 36 - 40 > LEN(a$) THEN position = 1 LOCATE 3, 40 IF position - 36 - 40 > 1 THEN PRINT reverse$(MID$(a$, position - 36 - 40, 40)); LOOP UNTIL INKEY$ <> "" FUNCTION randomkjoeps$ (size) temp$ = "" FOR i = 1 TO size a = RND IF a > .5 THEN b = 254 ELSE b = 32 END IF temp$ = temp$ + CHR$(b) NEXT i randomkjoeps$ = temp$ END FUNCTION FUNCTION reverse$ (a$) FOR i = LEN(a$) TO 1 STEP -1 r$ = r$ + MID$(a$, i, 1) NEXT i reverse$ = r$ END FUNCTION SUB update.stars (txt1$) LOCATE 26, 26 COLOR 1, 0 PRINT "c r e d i t ' n ' g r e e t z"; FOR i = 1 TO 100 IF INT(stars(i, 2)) > 0 AND INT(stars(i, 1)) > 0 AND stars(i, 2) < 50 AND stars(i, 1) < 80 THEN LOCATE stars(i, 2), stars(i, 1) PRINT " "; END IF xt = stars(i, 1) yt = stars(i, 2) xt = xt - 40 yt = yt - 25 stars(i, 1) = (xt * COS(stars(i, 3))) - (yt * SIN(stars(i, 3))) stars(i, 2) = (xt * SIN(stars(i, 3))) + (yt * COS(stars(i, 3))) stars(i, 1) = stars(i, 1) + 40 stars(i, 2) = stars(i, 2) + 25 SELECT CASE stars(i, 3) CASE 0 TO .05 COLOR 8, 0 CASE .05 TO .2 COLOR 7 CASE .2 TO 2 COLOR 15 END SELECT IF INT(stars(i, 2)) > 0 AND INT(stars(i, 1)) > 0 AND stars(i, 2) < 50 AND stars(i, 1) < 80 THEN LOCATE stars(i, 2), stars(i, 1) PRINT "ù"; END IF NEXT i COLOR 4, 0 FOR i = 0 TO 180 STEP 5 a$ = MID$(txt1$, INT((180 - i) / 5) + 1, 1) x = (-22 * SIN(i / 57.2)) + 40 y = (22 * COS(i / 57.2)) + 25 LOCATE y, x: PRINT a$; NEXT END SUB