staikx


SUBMITTED BY: staikx

DATE: Feb. 22, 2023, 10:30 p.m.

FORMAT: Text only

SIZE: 2.9 kB

HITS: 385

  1. import pygame
  2. import random
  3. # Initialize Pygame
  4. pygame.init()
  5. # Set up the display
  6. WIDTH = 800
  7. HEIGHT = 600
  8. screen = pygame.display.set_mode((WIDTH, HEIGHT))
  9. pygame.display.set_caption("Shooting Game")
  10. # Set up the game clock
  11. clock = pygame.time.Clock()
  12. # Load the images
  13. player_img = pygame.image.load("player.png")
  14. player_img = pygame.transform.scale(player_img, (50, 50))
  15. bullet_img = pygame.image.load("bullet.png")
  16. bullet_img = pygame.transform.scale(bullet_img, (10, 20))
  17. enemy_img = pygame.image.load("enemy.png")
  18. enemy_img = pygame.transform.scale(enemy_img, (50, 50))
  19. # Set up the player
  20. player_x = 375
  21. player_y = 500
  22. player_speed = 5
  23. # Set up the bullets
  24. bullet_speed = 10
  25. bullets = []
  26. # Set up the enemies
  27. enemy_speed = 3
  28. enemies = []
  29. # Set up the score
  30. score = 0
  31. font = pygame.font.Font(None, 30)
  32. # Main game loop
  33. running = True
  34. while running:
  35. # Handle events
  36. for event in pygame.event.get():
  37. if event.type == pygame.QUIT:
  38. running = False
  39. if event.type == pygame.KEYDOWN:
  40. if event.key == pygame.K_SPACE:
  41. # Create a bullet
  42. bullet = {"x": player_x + 20, "y": player_y - 20}
  43. bullets.append(bullet)
  44. # Move the player
  45. keys = pygame.key.get_pressed()
  46. if keys[pygame.K_LEFT] and player_x > 0:
  47. player_x -= player_speed
  48. if keys[pygame.K_RIGHT] and player_x < WIDTH - 50:
  49. player_x += player_speed
  50. # Move the bullets
  51. for bullet in bullets:
  52. bullet["y"] -= bullet_speed
  53. if bullet["y"] < 0:
  54. bullets.remove(bullet)
  55. # Create enemies
  56. if random.randint(0, 100) < 5:
  57. enemy = {"x": random.randint(0, WIDTH - 50), "y": 0}
  58. enemies.append(enemy)
  59. # Move the enemies
  60. for enemy in enemies:
  61. enemy["y"] += enemy_speed
  62. if enemy["y"] > HEIGHT:
  63. enemies.remove(enemy)
  64. # Check for collisions between bullets and enemies
  65. for bullet in bullets:
  66. for enemy in enemies:
  67. if (bullet["x"] > enemy["x"] and bullet["x"] < enemy["x"] + 50) and \
  68. (bullet["y"] > enemy["y"] and bullet["y"] < enemy["y"] + 50):
  69. bullets.remove(bullet)
  70. enemies.remove(enemy)
  71. score += 1
  72. # Draw the game
  73. screen.fill((255, 255, 255))
  74. screen.blit(player_img, (player_x, player_y))
  75. for bullet in bullets:
  76. screen.blit(bullet_img, (bullet["x"], bullet["y"]))
  77. for enemy in enemies:
  78. screen.blit(enemy_img, (enemy["x"], enemy["y"]))
  79. score_text = font.render("Score: " + str(score), True, (0, 0, 0))
  80. screen.blit(score_text, (10, 10))
  81. pygame.display.update()
  82. # Limit the frame rate
  83. clock.tick(60)
  84. # Quit Pygame
  85. pygame.quit()

comments powered by Disqus