43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
import pygame
|
|
|
|
from Moon import Moon
|
|
from compute import rot_2D
|
|
|
|
APOLLO_DISTANCE = 40.0
|
|
APOLLO_RADIUS = 5
|
|
theta = -0.02
|
|
RED = (255, 0, 0)
|
|
|
|
|
|
class Apollo(Moon):
|
|
"""Apollo kreist gegenläufig mit doppelter Winkelgeschwindigkeit um den Mond."""
|
|
|
|
def __init__(self, title="Apollo", fps=60, size=(640, 400)):
|
|
super().__init__(title, fps, size)
|
|
|
|
def init_positions(self):
|
|
super().init_positions()
|
|
self.position_apollo = (APOLLO_DISTANCE, 0.0)
|
|
self.rot_apollo = rot_2D(theta)
|
|
|
|
def update_positions(self):
|
|
super().update_positions()
|
|
self.position_apollo = self.rotate_point(self.position_apollo, self.rot_apollo)
|
|
|
|
def draw_scene(self):
|
|
super().draw_scene()
|
|
self.draw_apollo()
|
|
|
|
def draw_apollo(self):
|
|
position = (
|
|
self.position_moon[0] + self.position_apollo[0],
|
|
self.position_moon[1] + self.position_apollo[1],
|
|
)
|
|
pygame.draw.circle(
|
|
self.screen, RED, self.to_screen(position), APOLLO_RADIUS
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
Apollo().run()
|