Files
matrixmania/apollo.py
T

43 lines
1.1 KiB
Python

import pygame
from Moon import MOON_ANGLE, Moon
from compute import rot_2D
APOLLO_DISTANCE = 40.0
APOLLO_RADIUS = 5
APOLLO_ANGLE = -2 * MOON_ANGLE
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(APOLLO_ANGLE)
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()