import math
import os
import time
# Terminál törlése (hogy folyamatos legyen az animáció)
def clear_screen():
# Online-python-on ez a leghatékonyabb üres sorok nyomtatása
print("\n" * 40)
# Pálya adatok (kisebb sugarak, hogy beférjen a szöveges képernyőre)
planets_data = [
{"name": "M", "orbit": 4, "speed": 1.2, "fullname": "Merkur"},
{"name": "V", "orbit": 7, "speed": 0.8, "fullname": "Venusz"},
{"name": "F", "orbit": 11, "speed": 0.6, "fullname": "Fold"},
{"name": "MA", "orbit": 15, "speed": 0.4, "fullname": "Mars"},
]
angle = 0.0
print("Szimulacio inditasa...")
time.sleep(1)
# Animacios ciklus (50 lepes erejeig, hogy ne fusson orokke)
for step in range(100):
clear_screen()
# Egy 35x35-�s sz�veges r�cs l�trehoz�sa (�r)
grid_size = 35
grid = [[" " for _ in range(grid_size)] for _ in range(grid_size)]
# Nap elhelyez�se a k�zep�re
center = grid_size // 2
grid[center][center] = "??"
# Bolyg�k poz�ci�j�nak kisz�m�t�sa �s r�csra helyez�se
for p in planets_data:
# Trigonometria a koordin�t�khoz
current_angle = angle * p["speed"]
# Az Y tengelyt elosztjuk 1.8-cal, mert a sz�veges karakterek magasabbak, mint amilyen sz�lesek
x = int(center + p["orbit"] * math.cos(current_angle))
y = int(center + (p["orbit"] * math.sin(current_angle)) / 1.5)
# Ha a bolyg� a p�ly�n bel�l van, berajzoljuk
if 0 <= x < grid_size and 0 <= y < grid_size:
# Ha k�tkarakteres a n�v (pl. MA), kicsit igaz�tunk
grid[y][x] = p["name"]
# Rács kirajzolása a konzolra
print("=" * 50)
print(" NAPRENDSZER SZIMULÁCIÓ A KONZOLBAN")
print("=" * 50)
for row in grid:
print(" ".join(row))
print("\nJelmagyar�zat: ??=Nap, M=Merk�r, V=V�nusz, F=F�ld, MA=Mars")
print(f"Id�l�p�s: {step}")
angle += 0.3
time.sleep(0.2) # Lass�t�s, hogy l�that� legyen a mozg�s

Nincsenek megjegyzések:
Megjegyzés küldése