Prog3A-Moon/apollo/apollo.py

40 lines
1.2 KiB
Python

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()