' Golyo porog a sikon. Rola veletlenszeru magassagban sardarabok ' valnak le (elhany. tomeguek stb.) Felulnezete't latod a kepernyon. ' Az ures gyuruk a lepeskoz (0,05) miatt jonnek letre. SCREEN 9 RANDOMIZE TIMER pi = 3.1415926# dt = .01 n = 20 hossz = 4000 finomsag = 100 torzitas = .75 DIM x(n) DIM y(n) DIM z(n) DIM vx(n) DIM vy(n) DIM vz(n) DIM gyuru(200) r = 25 omega = 2 g = 10 CIRCLE (400, 200), 25 CIRCLE (400, 200), 150, 12 elore: FOR i = 1 TO n IF z(i) > 0 THEN GOTO rendes osszes = osszes + 1 tavolsag = SQR((400 - x(i)) ^ 2 + ((200 - y(i)) / torzitas) ^ 2) IF tavolsag < 200 THEN gyuru(INT(tavolsag / 2)) = gyuru(INT(tavolsag / 2)) + 1 IF INT(osszes / 20) < osszes / 20 OR osszes = 0 THEN GOTO ide SOUND 2000, .1 FOR j = 1 TO 100 f = 300 / finomsag * j h = hossz * gyuru(j) / osszes LINE (1, f)-(h, f), 10 + SGN(j / 10 - INT(j / 10)) LINE (h, f)-(240, f), 0 NEXT j CIRCLE (400, 200), 25 LOCATE 2, 50: PRINT osszes ide: z(i) = RND * 2 * r vz(i) = 0 sugar = SQR(r ^ 2 - (r - z(i)) ^ 2) szog = RND * 2 * pi x(i) = 400 + sugar * COS(szog) y(i) = 200 - sugar * SIN(szog) * torzitas vx(i) = -r * omega * SIN(szog) vy(i) = -r * omega * COS(szog) * torzitas rendes: PRESET (x(i), y(i)) x(i) = x(i) + vx(i) * dt y(i) = y(i) + vy(i) * dt z(i) = z(i) + vz(i) * dt - g / 2 * dt ^ 2 vz(i) = vz(i) - g * dt PSET (x(i), y(i)), 9 + 5 * SGN(z(i) + ABS(z(i))) NEXT i a$ = INKEY$ IF a$ = CHR$(13) THEN END GOTO elore