import pygame from engineevents import EngineEvent from constants import ROT, IROT, OFFSET, I from gyro import GyroVector from levels import open_level, save_level, make_wall from alert import Alert def defaultcontrols(): aoEngineEvents = list() for event in pygame.event.get(): if event.type == pygame.QUIT: aoEngineEvents.append(EngineEvent("bCont", lambda _: False)) if event.type == pygame.KEYDOWN: if event.key == pygame.K_r: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].rotate(-1), tsArguments=("gPlayer",))) if event.key == pygame.K_F3: aoEngineEvents.append(EngineEvent("debugInfo", lambda args: not args[0])) if event.key == pygame.K_F1: aoEngineEvents.append(EngineEvent("bCap", lambda args: not args[0])) if event.key == pygame.K_F2: def fX(args): #0: wall_buffer #1: gPlayer #2: level if (len(args[0]) == 1): args[0].append(args[1].cPos) make_wall(args[0], args[2]) args[0].clear() else: args[0].append(args[1].cPos) aoEngineEvents.append(EngineEvent(None, fX, tsArguments=("wall_buffer", "gPlayer", "level") )) if event.key == pygame.K_F5: #0: level #1: alert_append #2: display def fX(args): filename = save_level(args[0]) alert = Alert(f"File saved as {filename}", args[2]) args[1](alert, 5) aoEngineEvents.append(EngineEvent(None, fX, tsArguments=("level", "alert_append", "display") )) if event.key == pygame.K_F4: aoEngineEvents.append(EngineEvent(None, lambda args: print(args[0].cPos), tsArguments=("gPlayer",))) keys = pygame.key.get_pressed() if keys[pygame.K_d]: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].rotate( ROT), tsArguments=("gPlayer",))) if keys[pygame.K_a]: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].rotate(IROT), tsArguments=("gPlayer",))) if keys[pygame.K_q]: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].__iadd__(GyroVector(OFFSET * args[0].cRot*I, 1)), tsArguments=("gPlayer",))) if keys[pygame.K_e]: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].__isub__(GyroVector(OFFSET * args[0].cRot*I, 1)), tsArguments=("gPlayer",))) if keys[pygame.K_w]: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].__isub__(GyroVector(OFFSET * args[0].cRot , 1)), tsArguments=("gPlayer",))) if keys[pygame.K_s]: aoEngineEvents.append(EngineEvent(None, lambda args: args[0].__iadd__(GyroVector(OFFSET * args[0].cRot , 1)), tsArguments=("gPlayer",))) return aoEngineEvents