SCREEN 9 RANDOMIZE TIMER eleje: CLS dt = .005 x0 = 300: y0 = 250 r = 100 r2 = 50 m = (RND + 1) * 10 n = (RND + 1) * 10 d = (RND + 1) * 40 e = (RND + 1) * 40 bigyo = m / 3 bigyo2 = n / 3 xx = x0 x = x0 yy = y0 y = y0 vx = (RND - .5) * 100 vy = (RND - .5) * 100 wx = (RND - .5) * 100 wy = (RND - .5) * 100 g = 20 ujra: tav = SQR((xx - x0) ^ 2 + (yy - y0) ^ 2) taw = SQR((xx - x) ^ 2 + (yy - y) ^ 2) IF tav < r THEN szorzo = 0 ELSE szorzo = 1 IF tav = 0 THEN fy = -m * g: GOTO tovabb IF taw < r2 THEN szorzo2 = 0 ELSE szorzo2 = 1 IF taw = 0 THEN gy = -n * g: GOTO tovabb gx = -e * (x - xx) / taw * (taw - r2) * szorzo2 gy = -e * (y - yy) / taw * (taw - r2) * szorzo2 - n * g fx = -d * (xx - x0) / tav * (tav - r) * szorzo - gx fy = -d * (yy - y0) / tav * (tav - r) * szorzo - m * g - gy RugEa = d * szorzo * (tav - r) ^ 2 / 2 + e * szorzo2 * (taw - r2) ^ 2 / 2 PotEa = (m * y + n * yy) * g Ea = RugEa + PotEa LOCATE 1, 1: PRINT "Energia:"; INT(Ea); " " tovabb: vx = vx + fx * dt / m vy = vy + fy * dt / m xx = xx + vx * dt yy = yy + vy * dt wx = wx + gx * dt / n wy = wy + gy * dt / n x = x + wx * dt y = y + wy * dt a$ = INKEY$ IF a$ = CHR$(13) THEN GOTO eleje CIRCLE (xe, 400 - ye), bigyo, 0 LINE (x0, 400 - y0)-(xe, 400 - ye), 0 CIRCLE (xe2, 400 - ye2), bigyo2, 0 LINE (xe, 400 - ye)-(xe2, 400 - ye2), 0 CIRCLE (xx, 400 - yy), bigyo, 14 LINE (x0, 400 - y0)-(xx, 400 - yy), 9 - szorzo * 3 CIRCLE (x, 400 - y), bigyo2, 11 LINE (x, 400 - y)-(xx, 400 - yy), 9 - szorzo2 * 3 xe = xx: ye = yy xe2 = x: ye2 = y GOTO ujra