import turtle
import math
# Ablak beállítása
ablak = turtle.Screen()
ablak.bgcolor("black")
ablak.title("Naprendszer szimuláció")
# A Nap
nap = turtle.Turtle()
nap.shape("circle")
nap.color("yellow")
nap.shapesize(3, 3)
nap.up()
nap.goto(0, 0)
# Bolygók adatai: név, szín, méret, távolság a Naptól, keringési sebesség
bolygok_adatok = [
("Merkúr", "gray", 0.3, 50, 4.7),
("Vénusz", "orange", 0.7, 80, 3.5),
("Föld", "blue", 0.8, 120, 3),
("Mars", "red", 0.5, 160, 2.4),
("Jupiter", "brown", 1.5, 220, 1.3),
("Szaturnusz", "yellow", 1.2, 280, 1),
("Uránusz", "light blue", 1.1, 340, 0.7),
("Neptunusz", "blue", 1.1, 400, 0.5)
]
bolygok = []
szogok = []
for nev, szin, meret, tav, seb in bolygok_adatok:
bolygo = turtle.Turtle()
bolygo.shape("circle")
bolygo.color(szin)
bolygo.shapesize(meret, meret)
bolygo.up()
bolygok.append((bolygo, tav, seb))
szogok.append(0)
# Hold a Föld körül
hold = turtle.Turtle()
hold.shape("circle")
hold.color("white")
hold.shapesize(0.3, 0.3)
hold.up()
hold_szog = 0
while True:
for i, (bolygo, tav, seb) in enumerate(bolygok):
# Bolygók keringése a Nap körül
x = tav * math.cos(math.radians(szogok[i]))
y = tav * math.sin(math.radians(szogok[i]))
bolygo.goto(x, y)
szogok[i] += seb
# A Hold csak a Földhöz kapcsolódik (a lista harmadik eleme, index 2)
if i == 2: # Föld
x_hold = x + 30 * math.cos(math.radians(hold_szog))
y_hold = y + 30 * math.sin(math.radians(hold_szog))
hold.goto(x_hold, y_hold)
hold_szog += 5
--------------
Nincsenek megjegyzések:
Megjegyzés küldése