DEFINT A-Z DIM l(3, 4) z = 10 'Wartezeit in sec SCREEN 0: PRINT : COLOR 15 PRINT " Dies ist ein Beispiel wie ein Bildschirmschoner in" PRINT " Quickbasic"; : COLOR 14: PRINT " und in PowerBasic"; COLOR 15: PRINT " verwendet werden koennte." PRINT " In dieser Einstellung aktiviert er sich nach"; z; PRINT "Sekunden ohne Tastendruck" ON TIMER(z) GOSUB save TIMER ON DO c$ = INKEY$ IF c$ <> "" THEN 'Nach jedem Tastendruck: ON TIMER(z) GOSUB save ' Wartezeit auf 10 sec ruecksetzen END IF LOOP save: TIMER OFF b1 = 0: b2 = 1 DEF SEG = &HB800 BSAVE "screen.dat", 0, 4000 SCREEN 12 FOR ji = 0 TO 15 IF ji > 12 THEN PALETTE ji, (ji + 20) ELSE PALETTE ji, 0 END IF NEXT PALETTE 15, 63 PALETTE 14, 63 * (256) FOR ji = 0 TO 3 l(ji, 0) = RND * 640 l(ji, 1) = RND * 480 l(ji, 4) = RND * 14 + 1 w1: l(ji, 2) = RND * 6 - 3 IF l(ji, 2) = 0 THEN GOTO w1 w2: l(ji, 3) = RND * 6 - 3 IF l(ji, 3) = 0 THEN GOTO w2 NEXT DO FOR ji = 0 TO 3 l(ji, 0) = l(ji, 0) + l(ji, 2) l(ji, 1) = l(ji, 1) + l(ji, 3) IF l(ji, 0) > 640 THEN l(ji, 2) = RND * 3 - 4: l(ji, 4) = RND * 6 + 9 IF l(ji, 1) > 480 THEN l(ji, 3) = RND * 3 - 4: l(ji, 4) = RND * 6 + 9 IF l(ji, 0) < 0 THEN l(ji, 2) = RND * 3 + 1: l(ji, 4) = RND * 6 + 9 IF l(ji, 1) < 0 THEN l(ji, 3) = RND * 3 + 1: l(ji, 4) = RND * 14 + 1 NEXT LINE (l(0, 0), l(0, 1))-(l(1, 0), l(1, 1)), l(0, 4) LINE (l(1, 0), l(1, 1))-(l(2, 0), l(2, 1)), l(1, 4) LINE (l(2, 0), l(2, 1))-(l(3, 0), l(3, 1)), l(2, 4) LINE (l(3, 0), l(3, 1))-(l(0, 0), l(0, 1)), l(3, 4) GOSUB frag IF a = 1 THEN EXIT DO LOOP SCREEN 0, , 0, 0 BLOAD "screen.dat", 0 a = 0 TIMER ON RETURN frag: 'hier kann nach tasten gefragt werden c$ = INKEY$ IF c$ <> "" THEN a = 1 RETURN END