説明なし

settings.py 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. class Settings():
  2. """A class to store all settings for Alien Invasion."""
  3. def __init__(self):
  4. """Initialize the game's static settings."""
  5. # Screen settings.
  6. self.screen_width = 1200
  7. self.screen_height = 800
  8. self.bg_color = (230, 230, 230)
  9. # Ship settings.
  10. self.ship_limit = 3
  11. # Bullet settings.
  12. self.bullet_width = 3
  13. self.bullet_height = 15
  14. self.bullet_color = 60, 60, 60
  15. self.bullets_allowed = 3
  16. # Alien settings.
  17. self.fleet_drop_speed = 10
  18. # How quickly the game speeds up.
  19. self.speedup_scale = 1.1
  20. # How quickly the alien point values increase.
  21. self.score_scale = 1.5
  22. self.initialize_dynamic_settings()
  23. def initialize_dynamic_settings(self):
  24. """Initialize settings that change throughout the game."""
  25. self.ship_speed_factor = 1.5
  26. self.bullet_speed_factor = 3
  27. self.alien_speed_factor = 1
  28. # Scoring.
  29. self.alien_points = 50
  30. # fleet_direction of 1 represents right, -1 represents left.
  31. self.fleet_direction = 1
  32. def increase_speed(self):
  33. """Increase speed settings and alien point values."""
  34. self.ship_speed_factor *= self.speedup_scale
  35. self.bullet_speed_factor *= self.speedup_scale
  36. self.alien_speed_factor *= self.speedup_scale
  37. self.alien_points = int(self.alien_points * self.score_scale)