Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
# 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
Ejemplo n.º 4
0
# 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