def nodeInit(self): self.sg = self.view.getSceneGraph() self.coord = CoinNodes.coordinate3Node([(0, 0, 0)]) self.markers = CoinNodes.markerSetNode((1, 0.35, 0.8), 70) self.polygon = coin.SoLineSet( ) #CoinNodes.sensorPolyNode((0.0,0.5,0.0),1) #self.polygon.transparency = 0.7 #self.polygon.linkTo(self.coord) self.switch = coin.SoSwitch() self.empty = coin.SoSeparator() self.sepa = coin.SoSeparator() self.switch.addChild(self.sepa) self.switch.addChild(self.empty) self.switch.whichChild = 0 self.sepa.addChild(self.coord) self.sepa.addChild(self.markers) self.sg.addChild(self.switch) self.info = [ "LMB : add pole", "Del : remove last pole", "I / D : Increase / Decrease degree", "Left CTRL : snap", "Enter : Accept", "Esc : Abort" ] self.Block1 = HUD.textArea() self.Block1.setFont("Sans", 12.0, (0., 0., 0.)) self.Block1.text = self.info + ["Degree : %s" % self.curve.Degree] self.myHud = HUD.HUD() self.myHud.addBlock(self.Block1) self.myHud.add()
def get_newgame(): '''returns the game scene''' scene = Scene() # model model = GameModel() # controller ctrl = GameCtrl(model) # view hud = HUD() view = GameView(model, hud) # set controller in model model.set_controller(ctrl) # add controller scene.add(ctrl, z=1, name="controller") # add view scene.add(hud, z=3, name="hud") scene.add(BackgroundLayer(), z=0, name="background") scene.add(view, z=2, name="view") return scene
def __init__(self, **kwargs): super(TestApp, self).__init__(**kwargs) Window.bind(on_key_down=self.onKeyDown) self.key_label = CoreLabel(text='', font_size=15) self.hud = HUD(self.canvas) self.gps_status_label = CoreLabel(text='', font_size=12) self.gps_location_label = CoreLabel(text='', font_size=12) self.uid_label = CoreLabel(text='UID: ', font_size=12) self.my_lat = 0 self.my_lon = 0 self.my_heading = 0
def __init__(self): super(Scene, self).__init__() self.all_object_list = pygame.sprite.Group() self.troll_list = pygame.sprite.Group() self.bullet_list = pygame.sprite.Group() self.player = Player() self.background = Object() self.hud = HUD() self.score = 0 self.game_over = False
def __init__(self): pygame.init() # Initializing file manager and loading icon self.fileManager = FileManager.FileManager('Textures', 'Sounds') # Display properties pygame.display.set_icon(self.fileManager.icon) self.screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption('Pulse') # Setting background self.fileManager.loadBackground() self.background = self.fileManager.backgroundTexture # Display update self.cleanWindow() pygame.display.flip() # Initializing game files self.fileManager.loadGameFiles() # Initializing game objects self.gameObjects = GameObjects.GameObjects() # Initializing level manager self.levelManager = LevelManager.LevelManager(self.fileManager, self.gameObjects) # Initializing menues self.menues = Menues.Menues(self.fileManager, self.levelManager) # Initializing HUD self.HUD = pygame.sprite.RenderPlain() self.HUDObject = HUD.HUD(self.levelManager.currentLevel(), True) self.HUD.add(self.HUDObject) # Adding notifieras to gameObjects self.gameObjects.addNotifier(self.HUDObject) self.gameObjects.addNotifier(self.levelManager) # Initializing clock self.clock = pygame.time.Clock() # Game running. Showing nenu on False. self.gameRunning = False # Starting music pygame.mixer.music.play(-1) # Showing main menu self.menues.main()
def __init__(self, **kwargs): super(TestApp, self).__init__(**kwargs) Window.bind(on_key_down=self.onKeyDown) Window.bind(on_touch_down=self.onTouch) #TOUCH CAPABILITY self.touch_count = 0 #TOUCH CAPABILITY DEBUGGING COUNTER self.touch_count_label = CoreLabel( text='', font_size=15) #TOUCH CAPABILITY DEBUGGING COUNTER self.key_label = CoreLabel(text='', font_size=15) self.hud = HUD(self.canvas) self.gps_status_label = CoreLabel(text='', font_size=12) self.gps_location_label = CoreLabel(text='', font_size=12) self.uid_label = CoreLabel(text='UID: ', font_size=12) self.my_lat = 0 self.my_lon = 0 self.my_heading = 0 self.my_accuracy = 0 self.DEBUG = True
def __init__(self, main): #print 'In HUDWindow() __init__' #Create HUD background screen self.hud = HUD() self.main = main #Create canvas on which HUD image will be drawn and load basic image self.canvas = Canvas(self.main, width=HUD_WIDTH, height=HUD_HEIGHT) self.canvas.grid(row=0, column=0) self.image = ImageTk.PhotoImage(self.hud.scope_canvas.display_image) self.canvas_image = self.canvas.create_image(0, 0, anchor=NW, image=self.image) #Call redraw initially self.main.after(1000, self.redraw)
def main(): from Mediator import Mediator pygame.init() WINDOW_SIZE = (1024, 768) clock = pygame.time.Clock() screen = pygame.display.set_mode(WINDOW_SIZE, 0, 32) display = pygame.Surface((256, 192)) player = Player(display, 'player', Mediator) print(Mediator.i) Mediator.all_game_entities.append(player) gameMap = GameMap(display, 'tiles', Mediator, player) hud = HUD(display, player) while True: display.fill((57, 138, 215)) Mediator.all_game_tiles.clear() gameMap.draw_map() hud.draw_overlay() for object in Mediator.all_game_entities: object.loop() object.draw() Mediator.all_game_entities = [ object for object in Mediator.all_game_entities if object not in Mediator.to_be_removed ] Mediator.to_be_removed.clear() for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit( 0 ) #TODO remember to exit with a code so we dont throw an exception i think surf = pygame.transform.scale(display, WINDOW_SIZE) screen.blit(surf, (0, 0)) pygame.display.update() clock.tick(60)
def Debug_modeINIT(self): self.zombies = [] self.level_cam() self.pistol = gc.Gun(self.screen, self.mouse, 'pistol', -1) self.AR = gc.Gun(self.screen, self.mouse, 'AR', 50) self.SG = gc.Gun(self.screen, self.mouse, 'shootgun', 25) self.pistol.InHands = True self.guns = [self.pistol, self.AR, self.SG] self.player = hc.Players_Hero('Синий', self.screen, self.guns) self.hud = HUD.HUD(self.screen, self.hud_sprites, 100, self.player.GunType) self.pistol.Taken = True
def nodeInit(self): self.sg = self.view.getSceneGraph() self.coord = CoinNodes.coordinate3Node([(0, 0, 0)]) self.markers = CoinNodes.markerSetNode((1, 0.35, 0.8), 70) self.polygon = CoinNodes.sensorPolyNode((0.0, 0.5, 0.0), 1) self.polygon.transparency = 0.7 self.polygon.linkTo(self.coord) self.sg.addChild(self.coord) self.sg.addChild(self.markers) self.info = [ "LMB : add pole", "Del : remove last pole", "Page Up / Down : degree", "Left CTRL : snap", "Enter : Accept", "Esc : Abort" ] self.Block1 = HUD.textArea() self.Block1.setFont("Sans", 10.0, (0., 0., 0.)) self.Block1.text = self.info + ["Degree : %s" % self.curve.Degree] self.myHud = HUD.HUD() self.myHud.addBlock(self.Block1) self.myHud.add()
def main(): pygame.init() # Constant variables SCREEN_SIZE = (600, 800) DISPLAY_SIZE = (300, 400) DARK_GREY = (50, 50, 50) RUNNING = True FPS = 60 timer = 0 fpsClock = pygame.time.Clock() #The real screen screen = pygame.display.set_mode(SCREEN_SIZE) #To cast to display = pygame.Surface((DISPLAY_SIZE)) player = Player(display, 'player') generator = Generator(display) Soundplayer.load_music(Soundplayer()) Soundplayer.play_music(Soundplayer()) hud = HUD(display, player, DISPLAY_SIZE, generator) menu = Menu(display, DISPLAY_SIZE) # Title and Icon pygame.display.set_caption("The Falcon") icon = pygame.image.load( menu.resource_path('Game/sprites/playerLV1.png')) pygame.display.set_icon(icon) ## git ignore while RUNNING: ## Draw Menu ## if menu.get_menu: menu.draw_background() menu.draw_menu() for event in pygame.event.get(): if event.type == pygame.QUIT: RUNNING = False pygame.quit() sys.exit() menu.menu_input(event) if not menu.get_menu: Mediator.all_game_objects.append(player) surf = pygame.transform.scale(display, SCREEN_SIZE) screen.blit(surf, (0, 0)) pygame.display.update() else: ## Game loop ## for event in pygame.event.get(): if event.type == pygame.QUIT: RUNNING = False menu.draw_background_scrolling(display, DISPLAY_SIZE) for object in Mediator.all_game_objects: object.loop() object.draw() generator.generate() Mediator.all_game_objects = [ i for i in Mediator.all_game_objects if i not in Mediator.to_be_removed ] hud.draw_HUD() Mediator.to_be_removed.clear() ## Check if player is dead or game is completed if player.player_dead() or generator.get_game_complete(): generator = Generator(display) hud = HUD(display, player, DISPLAY_SIZE, generator) Mediator.all_game_objects.clear() menu.player_dead() player.reset_player() surf = pygame.transform.scale(display, SCREEN_SIZE) screen.blit(surf, (0, 0)) pygame.display.update() fpsClock.tick(FPS)
from HUD import * pygame.init() WINDOW_SIZE = (1024,768) clock = pygame.time.Clock() screen = pygame.display.set_mode(WINDOW_SIZE,0,32) display = pygame.Surface((256,192)) mediator = Mediator() player = Player(display, 'player', mediator) mediator.all_game_entities.append(player) gameMap = GameMap(display, 'tiles', mediator, player) hud = HUD(display,player) while True: display.fill((57, 138, 215)) mediator.all_game_tiles.clear() gameMap.draw_map() hud.draw_overlay() for object in mediator.all_game_entities: object.loop() object.draw() mediator.all_game_entities = [object for object in mediator.all_game_entities if object not in mediator.to_be_removed] mediator.to_be_removed.clear()
def Level(levelName, saveName): """ \"Level\" type constructor @param levelName: levelName containing all informations about the level @type levelName: str @param saveName: Path to save levelName of current player @type saveName: str @return: Dictionnary containing all informations about level @rtype: dict """ assert type("Levels/" + levelName) is str lsFiles = os.listdir("Levels/" + levelName) assert "background.pic" in lsFiles, "Load level from %r failed : missing file : background.pic" % levelName assert "foreground.pic" in lsFiles, "Load level from %r failed : missing file : foreground.pic" % levelName bgItem0 = Item.Item( Tools.createDatasFromPic("Levels/" + levelName + "/background.pic", True), 0, 0, [70, 70, 70], fgSpeed + 30) bgItem1 = Item.Item( Tools.createDatasFromPic("Levels/" + levelName + "/background.pic", True), Item.getBaseWidth(bgItem0), 0, [70, 70, 70], fgSpeed + 30) fgItem0 = Item.Item( Tools.createDatasFromPic("Levels/" + levelName + "/foreground.pic"), 0, 0, [0, 170, 0], fgSpeed) fgItem1 = Item.Item( Tools.createDatasFromPic("Levels/" + levelName + "/foreground.pic"), Item.getBaseWidth(fgItem0) - 1, 0, [0, 170, 0], fgSpeed) playerItem = loadPlayer(saveName) object = { "levelName": levelName, "bgItem0": bgItem0, "bgItem1": bgItem1, "fgItem0": fgItem0, "fgItem1": fgItem1, "playerItem": playerItem, "keyBinder": None, "enemyList": [], "playerScore": 0 } kb = KeyBinder.KeyBinder(levelName[levelName.rfind("/") + 1:]) KeyBinder.addAction(kb, "z", movePlayerUp, object) KeyBinder.addAction(kb, "q", movePlayerLeft, object) KeyBinder.addAction(kb, "s", movePlayerDown, object) KeyBinder.addAction(kb, "d", movePlayerRight, object) object["keyBinder"] = kb Item.setVX(object["playerItem"], 2.) Item.setVY(object["playerItem"], 1.) #load datas from config file : file = open("Levels/" + levelName + "/config", "r") content = file.read() file.close() exec(content) object["scoreObjective"] = scoreObjective object["maxEnemysNumber"] = maxEnemysNumber object["availableEnemys"] = availableEnemys hud = HUD.HUD(scoreObjective, Player.getMaxLife(playerItem)) object["HUD"] = hud #print start screen Tools.sysExec("clear") startText = "\033[18;" + str( int(round((Object.SCREEN_WIDTH / 2) + (len(str(scoreObjective)) / 2))) ) + "H\033[4;1m\033[38;2;200;0;0m" + str(scoreObjective) + "\033[0m" Menu.printScreen("Pictures/startLevelScreen.pic", 110) sys.stdout.write(startText) print("") KeyBinder.waitForKeyPressed() for i in range(0, maxEnemysNumber): addEnemy(object) return object
def playGame(screen, character, currentInfoText): screen_rect = screen.get_rect() level = LevelTutorial("level/tutorial/tutorial.txt", character, currentInfoText) world = level.world crashman = level.crashman pygame.mouse.set_visible(True) camera = Camera(screen, crashman.rect, level) all_sprite = level.all_sprite clock = pygame.time.Clock() up = down = left = right = False x, y = 0, 0 #randomly selects an enemy port enemy_list=[] activePortIndex=random.randrange(len(level.enemy_ports)) activePort=level.enemy_ports[activePortIndex] #untilNextSpawn=level.spawn_delay untilNextSpawn=0 totalTime=0 enemyCount=0 hud=HUD() #this is the while true loop while crashman.alive : for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN and (event.key == K_ESCAPE or event.key==K_RETURN): up=down=left=right=False pauseScreen(screen,character) #control crashman keys = pygame.key.get_pressed() #checking pressed keys if keys[pygame.K_UP] or keys[pygame.K_SPACE]: up=True else: up=False if keys[pygame.K_DOWN]: down=True else: down=False if keys[pygame.K_LEFT]: left=True else: left=False if keys[pygame.K_RIGHT]: right=True else: right=False #sequential spawn order if untilNextSpawn<=0 and enemyCount<level.enemy_max: print "ENEMY HERE NOW" e=Enemy(activePort[0],activePort[1],activePort[2],level) enemy_list.append(e) level.all_sprite.add(e) world.append(e) activePortIndex+=1 if activePortIndex>=len(level.enemy_ports): activePortIndex=0 activePort=level.enemy_ports[activePortIndex] untilNextSpawn=level.spawn_delay enemyCount+=1 #random spawn order """if untilNextSpawn<=0 and enemyCount<level.enemy_max: print "ENEMY HERE NOW" e=Enemy(activePort[0],activePort[1],activePort[2],level) enemy_list.append(e) level.all_sprite.add(e) world.append(e) activePortIndex=random.randrange(len(level.enemy_ports)) activePort=level.enemy_ports[activePortIndex] untilNextSpawn=level.spawn_delay enemyCount+=1""" #removes dead enemies for e in enemy_list: if e.alive==False: print "ded del thjo" enemy_list.remove(e) all_sprite.remove(e) world.remove(e) enemyCount-=1 if e.freshkick==True: hud.enemies_defeated+=1 hud.update() e.freshkick=False #timer and spawn countdown #updates hud time tpt = tps(clock, FPS) totalTime+=tpt if hud.time!=math.floor(totalTime): hud.time=math.floor(totalTime) hud.update() if enemyCount<level.enemy_max: untilNextSpawn-=tpt print str(enemyCount)+": "+str(untilNextSpawn) #DRAW ORDER: #bg, world, elemental, hud #camera.draw_sprites(screen, all_sprite) level.drawBG(screen) camera.draw_sprites_prio(screen, all_sprite, crashman) if level.elemental: level.elementalOverlay.draw(screen) hud.draw(screen) level.drawInfo(screen) #final updates crashman.update(up, down, left, right) for e in enemy_list: e.update(tpt) camera.update() pygame.display.flip() ################################# #game complete #pygame.display.flip() playGame(screen,character, level.currentInfoBlock.infoText)
def main(): app = QApplication([]) gui = HUD() app.exec_() print("Search Complete!")
class GameManager(object): screen = None buffer = None gameObject = None targetFPS = 60 clock = None buttonHandler = None hud = HUD.HUD() drawHUD = True piFaceManager = None gameState = None needQuit = False sound = None def __init__(self, initialGameObject, targetFPS, buttonHandler, piFaceManager, test=False): if test: self.initializeTest() else: self.gameState = GameStateSaver.GameStateSaver() self.gameObject = initialGameObject self.hud.gameState = self.gameState self.targetFPS = targetFPS self.buttonHandler = buttonHandler self.piFaceManager = piFaceManager self.initialize() return super(GameManager, self).__init__() def setCurrentGameObject(self, gameObject): if not gameObject.initialized: pygame.time.set_timer(USEREVENT + 1, 0) pygame.time.set_timer(USEREVENT + 2, 0) gameObject.gameManager = self gameObject.initialize() self.buttonHandler.unlock() self.gameObject = gameObject self.gameObject.sound = self.sound self.sound.resetGameObjectSound() self.piFaceManager.setPlayerButtonColor(0, "off") gameObject.switchedTo() self.gameState.save() def update(self, time, events): self.gameObject.update(time, events) self.hud.update(time, events) def draw(self): '''Draws current GameObject. Since fbcon seems to have most performance on raspi but doesn't support double buffering, a surface is used to simulate double buffering to prevent flickering (won't solve all problems though)''' self.gameObject.draw(self.buffer) if self.drawHUD: self.hud.draw(self.buffer) self.screen.blit(self.buffer, (0, 0)) def initialize(self): pygame.init() self.screen = pygame.display.set_mode( (1024, 768), pygame.DOUBLEBUF | pygame.HWSURFACE | pygame.FULLSCREEN) pygame.mouse.set_visible(True) self.buffer = pygame.Surface(self.screen.get_size()) self.buffer = self.buffer.convert() self.buffer.fill((250, 0, 250)) self.screen.blit(self.buffer, (0, 0)) pygame.display.flip() print "Using driver", pygame.display.get_driver() print "Set SDL_VIDEODRIVER to change" print "-----------------------------" print "Driver Info:" print pygame.display.Info() self.clock = pygame.time.Clock() self.hud.initialize() self.sound = SoundObject.SoundObject(self.gameState.appdir) self.gameObject.sound = self.sound def initializeTest(self): pygame.init() self.screen = pygame.display.set_mode( (1024, 768), pygame.DOUBLEBUF | pygame.HWSURFACE) pygame.mouse.set_visible(True) self.buffer = pygame.Surface(self.screen.get_size()) self.buffer = self.buffer.convert() self.buffer.fill((250, 0, 250)) self.screen.blit(self.buffer, (0, 0)) pygame.display.flip() print "Using driver", pygame.display.get_driver() print "Set SDL_VIDEODRIVER to change" print "-----------------------------" print "Driver Info:" print pygame.display.Info() self.clock = pygame.time.Clock() font = pygame.font.Font(pygame.font.get_default_font(), 45) size = font.size("OK") r = 0 g = 0 b = 255 tor = True tog = False tob = False while 1: if tor: r += 1 b -= 1 if b == 0: tor = False tog = True if tog: g += 1 r -= 1 if r == 0: tog = False tob = True if tob: b += 1 g -= 1 if g == 0: tob = False tor = True currentMillis = self.clock.tick(self.targetFPS) events = pygame.event.get() self.buffer.fill((r, g, b)) self.buffer.blit(font.render("OK", True, (255, 255, 255)), ((1024 - size[0]) / 2, (768 - size[1]) / 2)) self.screen.blit(self.buffer, (0, 0)) pygame.display.flip() #Handle Input Events - FOR TESTING ONLY - Events have to be checked by the GameObjects... for event in events: if event.type == QUIT: pygame.display.quit() return elif event.type == KEYDOWN and event.key == K_ESCAPE: pygame.display.quit() return def run(self): # try: while 1: currentMillis = self.clock.tick(self.targetFPS) events = pygame.event.get() self.update(currentMillis, events) self.draw() pygame.display.flip() #Handle Input Events - FOR TESTING ONLY - Events have to be checked by the GameObjects... for event in events: if event.type == QUIT: pygame.display.quit() self.sound.resetGameObjectSound() return elif event.type == KEYDOWN and event.key == K_ESCAPE: pygame.display.quit() self.sound.resetGameObjectSound() return if self.needQuit: pygame.display.quit() self.sound.resetGameObjectSound() return
from time import sleep from HUD import * from Game import Game hud = HUD() game = Game() game.start() while game.isRunning: gameState = game.getState() game.clearWithHUD() game.update() hud.update(gameState[0], gameState[1], gameState[2]) hud.print() game.render() # print(game.balls[0].position, game.balls[0].dir, game.balls[0].speed, " ") sleep(0.06)
def playGame(screen, level): screen_rect = screen.get_rect() level.reset() world = level.world crashman = level.crashman pygame.mouse.set_visible(True) camera = Camera(screen, crashman.rect, level) all_sprite = level.all_sprite clock = pygame.time.Clock() up = down = left = right = False x, y = 0, 0 #randomly selects an enemy port enemy_list = [] activePortIndex = random.randrange(len(level.enemy_ports)) activePort = level.enemy_ports[activePortIndex] #untilNextSpawn=level.spawn_delay untilNextSpawn = 0 totalTime = 0 enemyCount = 0 hud = HUD() pygame.mixer.music.load(level.musicPath) pygame.mixer.music.play(-1) #this is the while true loop while crashman.alive and not (objectiveComplete( objectiveProgress(level.objectiveType, hud.enemies_defeated, totalTime), level.objectiveMax) or crashman.foundFlag): for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN and (event.key == K_ESCAPE or event.key == K_RETURN): #import MainScreen if level.hasVideo == True: level.movie.pause() up = down = left = right = False pauseScreen(screen, level) if level.hasVideo == True: level.movie.pause() #cheat to end level if event.type == KEYDOWN and event.key == K_BACKSPACE: crashman.foundFlag = True #control crashman keys = pygame.key.get_pressed() #checking pressed keys if keys[pygame.K_UP] or keys[pygame.K_SPACE]: up = True else: up = False if keys[pygame.K_DOWN]: down = True else: down = False if keys[pygame.K_LEFT]: left = True else: left = False if keys[pygame.K_RIGHT]: right = True else: right = False #sequential spawn order """ if untilNextSpawn<=0 and enemyCount<level.enemy_max: print "ENEMY HERE NOW" e=Enemy(activePort[0],activePort[1],activePort[2],level) enemy_list.append(e) level.all_sprite.add(e) world.append(e) activePortIndex+=1 if activePortIndex>=len(level.enemy_ports): activePortIndex=0 activePort=level.enemy_ports[activePortIndex] untilNextSpawn=level.spawn_delay enemyCount+=1""" #random spawn order if untilNextSpawn <= 0 and enemyCount < level.enemy_max: print "ENEMY HERE NOW" e = Enemy(activePort[0], activePort[1], activePort[2], level) enemy_list.append(e) level.all_sprite.add(e) world.append(e) activePortIndex = random.randrange(len(level.enemy_ports)) activePort = level.enemy_ports[activePortIndex] untilNextSpawn = level.spawn_delay enemyCount += 1 #removes dead enemies for e in enemy_list: if e.alive == False: print "ded del thjo" enemy_list.remove(e) all_sprite.remove(e) world.remove(e) enemyCount -= 1 if e.freshkick == True: hud.enemies_defeated += 1 hud.update() e.freshkick = False #timer and spawn countdown #updates hud time tpt = tps(clock, FPS) totalTime += tpt if hud.time != math.floor(totalTime): hud.time = math.floor(totalTime) hud.update() if enemyCount < level.enemy_max: untilNextSpawn -= tpt print str(enemyCount) + ": " + str(untilNextSpawn) #DRAW ORDER: #bg, world, elemental, hud #camera.draw_sprites(screen, all_sprite) level.drawBG(screen) camera.draw_sprites_prio(screen, all_sprite, crashman) if level.elemental: level.elementalOverlay.draw(screen) hud.draw(screen) #final updates crashman.update(up, down, left, right) for e in enemy_list: e.update(tpt) camera.update() pygame.display.flip() ################################# #game complete #pygame.display.flip() pygame.mixer.music.stop() crashman.update(False, False, False, False) level.drawBG(screen) camera.draw_sprites_prio(screen, all_sprite, crashman) if level.elemental: level.elementalOverlay.draw(screen) hud.draw(screen) pygame.display.flip() if crashman.direction == "right": crashman.image = crashman.jump_right else: crashman.image = crashman.jump_left """if objectiveComplete(objectiveProgress(level.objectiveType,hud.enemies_defeated,totalTime),level.objectiveMax): win(screen, camera, level, enemy_list, clock) else: lose(screen, camera, level, enemy_list, clock)""" if crashman.alive == False: lose(screen, camera, level, enemy_list, clock, hud) else: win(screen, camera, level, enemy_list, clock, hud, crashman.character)