import os import pygame from moon.moon import Moon from numeric.compute import rot_2D, matmul class Apollo(Moon): def __init__(self, orbiter_size: int=None, orbiter_distance:int=None, orbiter_speed:float=None): super().__init__() if orbiter_size is None: self.orbiter_size = int(os.getenv("ORBITER_SIZE", "4")) else: self.orbiter_size = orbiter_size if orbiter_distance is None: self.orbiter_distance = int(os.getenv("ORBITER_DISTANCE", "50")) else: self.orbiter_distance = orbiter_distance if orbiter_speed is None: self.orbiter_speed = float(os.getenv("ORBITER_SPEED", "1")) else: self.orbiter_speed = orbiter_speed self.orbiter_position = None def update_game(self): super().update_game() self.orbiter_position = self.get_orbit_position( self.orbiter_distance, bary_center=self.moon_position, angle=-self.angle ) return True def draw_game(self): super().draw_game() pygame.draw.circle(self.screen, (255,0,0), self.orbiter_position, self.orbiter_size) pygame.display.flip()