from game import Game from moon import Moon from compute import * import pygame WHITE = (255, 255, 255) BLACK = (0,0,0) RED = (255,0,0) BLUE = (0,0, 255) EARTH_RADIUS = 100 MOON_RADIUS = 20 AP_RADIUS = 5 class Apollo(Moon): def __init__(self, title="Apollo", fps=60, size=(640, 400), position_moon=(0, -150), theta=0.01): super().__init__(title, fps, size) self.position_moon = position_moon self.position_ap = (0, 50) self.theta = theta self.theta_2 = -0.02 self.rot_moon = rot_2D(self.theta) self.rot_ap = rot_2D(self.theta_2) self.rel_position_ap = (0,30) self.position_ap = (self.position_moon[0] + self.rel_position_ap[0], self.position_moon[1] + self.rel_position_ap[1]) def update_game(self): super().update_game() new_rel_ap = matmul(self.rot_ap, transpose([list(self.rel_position_ap)])) self.rel_position_ap = (new_rel_ap[0][0], new_rel_ap[1][0]) self.position_ap = (self.position_moon[0] + self.rel_position_ap[0], self.position_moon[1] + self.rel_position_ap[1]) return True def draw_game(self): super().draw_game() def draw_circles(self): super().draw_circles() self.draw_circle(self.position_ap, AP_RADIUS, RED) def draw_circle(self, position, radius, color): super().draw_circle(position, radius, color) if __name__ == "__main__": # created by Chattig game = Apollo() game.run()