from . import map import pygame as pg import numpy as np class App: def __init__(self, world): pg.init() self.screen = pg.display.set_mode((800, 600)) self.clock = pg.time.Clock() self.running = True self.world = world self.map = map.Map(self.world) def start(self): dt = 0.0 while self.running: start = pg.time.get_ticks() for event in pg.event.get(): if event.type == pg.QUIT: self.running = False # EVENTS # ====== keys = pg.key.get_pressed() delta = np.array([0.0, 0.0]) if keys[pg.K_UP]: delta[1] -= 1.0 if keys[pg.K_DOWN]: delta[1] += 1.0 if keys[pg.K_LEFT]: delta[0] -= 1.0 if keys[pg.K_RIGHT]: delta[0] += 1.0 player = self.world.get_player() norm = np.linalg.norm(delta) if norm > 0: delta /= norm delta *= player.speed player.pos += delta * dt self.screen.fill('black') self.map.draw(self.screen) pg.display.flip() self.clock.tick(60) dt = (pg.time.get_ticks() - start)/1000.0 pg.quit()