diff --git a/wheels.py b/wheels.py new file mode 100644 index 0000000..b002cd4 --- /dev/null +++ b/wheels.py @@ -0,0 +1,59 @@ +# Import the pygame library and initialise the game engine +import pygame +import numpy as np +pygame.init() + +# Initialize Pygame +size = (800, 800) +CENTER = np.array(size) / 2 +WHITE = (255, 255, 255) +screen = pygame.display.set_mode(size) +pygame.display.set_caption("Patrick") +running = True +clock = pygame.time.Clock() + + +class Ball(object): + def __init__(self, x, y, radius=10, mass=1): + self.pos = np.array([x, y]) + self.radius = radius + self.mass = mass + + def render(self, screen): + x, y = self.pos + CENTER + pygame.draw.circle(screen, WHITE, [int(x), int(y)], self.radius, 2) + + +class Spring(object): + def __init__(self, a, b, k=0.1): + self.a = a + self.b = b + self.k = k + + def render(self, screen): + x1, y1 = self.a.pos + CENTER + x2, y2 = self.b.pos + CENTER + pygame.draw.line(screen, WHITE, [x1, y1], [x2, y2]) + + +if __name__ == '__main__': + balls = [Ball(0, 0), Ball(100, 1)] + springs = [Spring(balls[0], balls[1])] + + while running: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + screen.fill((0, 0, 0)) + + for ball in balls: + ball.render(screen) + + for spring in springs: + spring.render(screen) + + pygame.display.flip() + clock.tick(60) + + pygame.quit()