test
							parent
							
								
									85b1a5868f
								
							
						
					
					
						commit
						86db07fa54
					
				|  | @ -0,0 +1,88 @@ | ||||||
|  | # Code is taken from https://realpython.com/pygame-a-primer/ | ||||||
|  | 
 | ||||||
|  | # Import and initialize the pygame library | ||||||
|  | import pygame | ||||||
|  | from player import Player | ||||||
|  | from enemy import Enemy | ||||||
|  | from settings import SCREEN_HEIGHT, SCREEN_WIDTH | ||||||
|  | 
 | ||||||
|  | from pygame.locals import ( | ||||||
|  |     K_UP, | ||||||
|  |     K_DOWN, | ||||||
|  |     K_LEFT, | ||||||
|  |     K_RIGHT, | ||||||
|  |     K_ESCAPE, | ||||||
|  |     KEYDOWN, | ||||||
|  |     QUIT, | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | pygame.init() | ||||||
|  | 
 | ||||||
|  | # Create the screen object | ||||||
|  | # The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT | ||||||
|  | screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) | ||||||
|  | 
 | ||||||
|  | # Create a custom event for adding a new enemy | ||||||
|  | ADDENEMY = pygame.USEREVENT + 1 | ||||||
|  | pygame.time.set_timer(ADDENEMY, 250) | ||||||
|  | 
 | ||||||
|  | # Variable to keep the main loop running | ||||||
|  | running = True | ||||||
|  | 
 | ||||||
|  | player = Player() | ||||||
|  | 
 | ||||||
|  | # Create groups to hold enemy sprites and all sprites | ||||||
|  | # - enemies is used for collision detection and position updates | ||||||
|  | # - all_sprites is used for rendering | ||||||
|  | enemies = pygame.sprite.Group() | ||||||
|  | all_sprites = pygame.sprite.Group() | ||||||
|  | all_sprites.add(player) | ||||||
|  | 
 | ||||||
|  | # Main loop | ||||||
|  | while running: | ||||||
|  |     # Look at every event in the queue | ||||||
|  |     for event in pygame.event.get(): | ||||||
|  |         # Did the user hit a key? | ||||||
|  |         if event.type == KEYDOWN: | ||||||
|  |             # Was it the Escape key? If so, stop the loop. | ||||||
|  |             if event.key == K_ESCAPE: | ||||||
|  |                 running = False | ||||||
|  | 
 | ||||||
|  |         # Did the user click the window close button? If so, stop the loop. | ||||||
|  |         elif event.type == QUIT: | ||||||
|  |             running = False | ||||||
|  | 
 | ||||||
|  |         # Add a new enemy? | ||||||
|  |         elif event.type == ADDENEMY: | ||||||
|  |             # Create the new enemy and add it to sprite groups | ||||||
|  |             new_enemy = Enemy() | ||||||
|  |             enemies.add(new_enemy) | ||||||
|  |             all_sprites.add(new_enemy) | ||||||
|  | 
 | ||||||
|  |     # Fill the background with white | ||||||
|  |     screen.fill((255, 255, 255)) | ||||||
|  | 
 | ||||||
|  |     # Get all the keys currently pressed | ||||||
|  |     pressed_keys = pygame.key.get_pressed() | ||||||
|  | 
 | ||||||
|  |     # Update the player sprite based on user keypresses | ||||||
|  |     player.update(pressed_keys) | ||||||
|  | 
 | ||||||
|  |     # Update enemy position | ||||||
|  |     enemies.update() | ||||||
|  | 
 | ||||||
|  |     # Draw all sprites | ||||||
|  |     for entity in all_sprites: | ||||||
|  |         screen.blit(entity.surf, entity.rect) | ||||||
|  | 
 | ||||||
|  |     # Check if any enemies have collided with the player | ||||||
|  |     if pygame.sprite.spritecollideany(player, enemies): | ||||||
|  |         # If so, then remove the player and stop the loop | ||||||
|  |         player.kill() | ||||||
|  |         running = False | ||||||
|  | 
 | ||||||
|  |     # Flip the display | ||||||
|  |     pygame.display.flip() | ||||||
|  | 
 | ||||||
|  | # Done! Time to quit. | ||||||
|  | pygame.quit() | ||||||
		Loading…
	
		Reference in New Issue