def process_events(): global spaceHold, player, currHold,currHoldU,currHoldR,currHoldD,currHoldL, shotCount, game_over, playerColor for event in pygame.event.get(): if event.type == pygame.QUIT: quit_game = True return True elif event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: player.changespeed(-3,0) currHold += currHoldL if spaceHold == False: shotDir = shotDirL elif event.key == pygame.K_RIGHT: player.changespeed(3,0) currHold += currHoldR if spaceHold == False: shotDir = shotDirR elif event.key == pygame.K_UP: player.changespeed(0,-3) currHold += currHoldU if spaceHold == False: shotDir = shotDirU elif event.key == pygame.K_DOWN: player.changespeed(0,3) currHold += currHoldD if spaceHold == False: shotDir = shotDirD elif event.key == pygame.K_SPACE: spaceHold = True if currHold != 0: shotDir = currHold elif event.key == pygame.K_LSHIFT or event.key == pygame.K_RSHIFT: #player = switchPlayerColor(player) if playerColor == 0: playerColor = 1 newPlayer = player.Player(colors.RED, player.getX(), player.getY()) newPlayer.setSpeed(player.getChangeX(), player.getChangeY()) for p in Lists.player_list: p.remove() p.kill() player = newPlayer Lists.player_list.add(player) Lists.all_sprites_list.add(player) elif playerColor == 1: playerColor = 0 newPlayer = player.Player(colors.BLUE, player.getX(), player.getY()) newPlayer.setSpeed(player.getChangeX(), player.getChangeY()) for p in Lists.player_list: p.remove() p.kill() player = newPlayer Lists.player_list.add(player) Lists.all_sprites_list.add(player) # if game_over: # #this resets to a new instance of the game if game over is true and the space bar is pressed # self.__init__() # Reset speed when key goes up elif event.type == pygame.KEYUP: if event.key == pygame.K_LEFT: currHold -= currHoldL player.changespeed(3,0) elif event.key == pygame.K_RIGHT: currHold -= currHoldR player.changespeed(-3,0) elif event.key == pygame.K_UP: currHold -= currHoldU player.changespeed(0,3) elif event.key == pygame.K_DOWN: currHold -= currHoldD player.changespeed(0,-3) elif event.key == pygame.K_SPACE: shotCount = 0 spaceHold = False #method that handles bullet generation. Spawning the bullets based on #current held directio or last preivously held direction. Also has #a shot clock to prevent bullets from coming out as a constant stream if spaceHold: if wavePower: if shotCount == 0: bullets.fireWave(player) shotCount = 1 elif shotCount == 15: shotCount = 0 else: shotCount +=1 else: if shotCount == 0: bullets.fireNorm(player) shotCount = 1 elif shotCount == 8: shotCount = 0 else: shotCount +=1 if game_over: return True else: return False
def controls(): player_x = "x = " + str(player.rect.x) #@UndefinedVariable player_y = "y = " + str(player.rect.y) #@UndefinedVariable for event in pygame.event.get(): if event.type == pygame.QUIT: """If the red 'x' is hit, end for loop and close pygame_cal""" pygame.quit() sys.exit() #Next two sections of events handle player movement if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: player.changespeed(-5,0) #@UndefinedVariable if event.key == pygame.K_RIGHT: player.changespeed(5,0) #@UndefinedVariable if event.key == pygame.K_UP: player.changespeed(0,-5) #@UndefinedVariable if event.key == pygame.K_DOWN: player.changespeed(0,5) #@UndefinedVariable if event.type == pygame.KEYUP: if event.key == pygame.K_LEFT: player.changespeed(5,0) #@UndefinedVariable if event.key == pygame.K_RIGHT: player.changespeed(-5,0) #@UndefinedVariable if event.key == pygame.K_UP: player.changespeed(0,5) #@UndefinedVariable if event.key == pygame.K_DOWN: player.changespeed(0,-5) #@UndefinedVariable if event.key == pygame.K_a: print (player_x, player_y)
# speed multiplier for running speedFactor = 1 # Used to manage how fast the screen updates clock = pygame.time.Clock() # Main Program Loop --------------------------- while done == False: # ALL EVENT PROCESSING SHOULD GO BELOW THIS COMMENT for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: # If user clicked close done = True # Flag that we are done so we exit the loop if event.type == pygame.KEYDOWN: if event.key == pygame.K_a: player.changespeed(-3 * speedFactor, 0) if event.key == pygame.K_d: player.changespeed(3 * speedFactor, 0) if event.key == pygame.K_w: player.changespeed(0, -3 * speedFactor) if event.key == pygame.K_s: player.changespeed(0, 3 * speedFactor) if event.key == pygame.K_RCTRL and shot == False: bullet = Bullet(10, 2, player.direction) bullet.rect.x = player.rect.x + 10 bullet.rect.y = player.rect.y + 15 all_sprites_list.add(bullet) bullet_list.add(bullet) shot = True