100 SCREEN 1 :REM GRAFIK BILDSCHIRM EIN 110 KEY OFF :REM FUNKTIONS TASTEN NICHT ZEIGEN 120 CLS :REM BILDSCHIRM LOESCHEN + NEU EINSTIEG 150 RK=60 :REM R KREIS 160 XK=RK+10 :REM X KREIS 170 YK=RK+10 :REM Y KREIS 180 EX=RND(1) :REM WAAGRECHTE GESCHWINDIGKEIT ZUFAELLIG 190 EY=RND(1) :REM SENKRECHTE GESCHWINDIGKEIT ZUFAELLIG 192 XE=RK*.5 :REM X ECKE 194 YE=199 :REM Y ECKE 196 FX=1 :REM WAAGRECHTE GESCHWINDIGKEIT ECKE 200 XL=XK :REM X FUER LOESCHEN 210 YL=YK :REM Y FUER LOESCHEN 212 FL=XE :REM X FUER LOESCHEN ECKE 220 LINE( 0, 0)-(319,199),3,B :REM BILD RAND WEISS + SCHLEIFEN EINSTIEG 230 CIRCLE(FL,YE),RK*.5,0,0,4*ATN(1),1 :REM ALTE ECKE SCHWARZ 240 CIRCLE(XE,YE),RK*.5,1,0,4*ATN(1),1 :REM NEUE ECKE GRUEN 280 CIRCLE(XL,YL),RK*.5,0, , ,1 :REM ALTER BALL SCHWARZ 310 CIRCLE(XK,YK),RK*.5,2, , ,1 :REM NEUER BALL VIOLETT 320 LINE(XL,YL)-(XK,YK),1 :REM BALL SPUR GRUEN 330 XL=XK :REM NEUES X IN ALTES X 340 YL=YK :REM NEUES Y IN ALTES Y 342 FL=XE :REM NEUES X IN ALTES X 350 IF XK<( RK*.5) THEN EX = ABS(EX) :REM ABPRALL LINKS 360 IF XK>(319-RK*.5) THEN EX = -ABS(EX) :REM ABPRALL RECHTS 370 IF YK<( RK*.5) THEN EY = ABS(EY) :REM ABPRALL OBEN 380 IF YK>(199-RK*.5) THEN EY = -ABS(EY) :REM ABPRALL UNTEN 382 IF XE<( RK*.5) THEN FX = ABS(FX) :REM ABPRALL LINKS ECKE 384 IF XE>(319-RK*.5) THEN FX = -ABS(FX) :REM ABPRALL RECHTS ECKE 386 EX = EX * .9995 :REM ABBREMSUNG 388 EY = EY * .9995 + .005 :REM ABBREMSUNG + SCHWERKRAFT 390 ZZ = ZZ + 1 :REM ZYKLUS ZAEHLER + ABPRALL ECKE 400 IF ( ( SQR((XE-XK)^2+(YE-YK)^2) > RK ) OR ( ZZ < 30 ) ) THEN 600 410 ZZ = 0 :REM ZYKLUS ZAEHLER RESET 420 X=(XE-XK)/SQR((XE-XK)^2+(YE-YK)^2):REM X BERUEHRUNG 430 IF ABS(X)>.999999 THEN X=.999999 :REM KEINE NEGATIVE WURZEL 440 BN = 2*ATN(1)-ATN(X/SQR(1-X^2)) :REM ARCUS COSINUS 450 IF ( YE - YK ) < 0 THEN BN = -BN :REM UNTERE HAELFTE 460 BT = BN + 2 * ATN(1) :REM TANGENTE 465 V = EX - FX :REM RELATIVE X GESCHWINDIGKEIT 470 IF ABS(V)<.000001 THEN V=.000001 :REM NICHT DURCH NULL 480 EW = ATN( EY / V ) :REM EINFALL WINKEL 490 IF V < 0 THEN EW = EW + 4*ATN(1) :REM LINKE HAELFTE 500 AW = 2 * BT - EW :REM ABPRALL WINKEL 510 EV = SQR( V^2 + EY^2 ) :REM EINFALL GESCHWINDIGKEIT 520 EX = EV * COS( AW ) + FX :REM X ANTEIL NEU + GESCHWIND.ECKE 530 EY = EV * SIN( AW ) :REM Y ANTEIL NEU 600 XK = XK + EX :REM WAAGRECHTE GESCHWIND. ZU X POSITION 610 YK = YK + EY :REM SENKRECHTE GESCHWIND. ZU Y POSITION 620 XE = XE + FX :REM WAAGRECHTE GESCHWIND. ZU X POSITION 640 A$=INKEY$ :REM TASTATUR ABFRAGEN 650 IF A$= "" THEN 220 :REM WENN NICHTS DANN SCHLEIFEN EINSTIEG 660 IF A$="n" THEN 120 :REM WENN n DANN NEU EINSTIEG 670 SCREEN 0 :REM WENN SONST WAS DANN TEXT BILDSCHIRM 680 WIDTH 80 :REM ZEILEN LAENGE 80 ZEICHEN 690 CLS :REM BILDSCHIRM LOESCHEN 700 KEY OFF :REM FUNKTIONS TASTEN NICHT ZEIGEN 710 END :REM PROGRAMM ENDE 720 REM SAVE"C:BALLI-7.BAS",A :REM PROGRAMM NAME