|
|||
alien.py. alien_invasion.pyalien. py
import pygame from pygame. sprite import Sprite
class Alien(Sprite): " " " A class to represent a single alien in the fleet. " " "
def __init__(self, ai_settings, screen): " " " Initialize the alien, and set its starting position. " " " super(Alien, self). __init__() self. screen = screen self. ai_settings = ai_settings
# Load the alien image, and set its rect attribute. self. image = pygame. image. load('images/alien. bmp') self. rect = self. image. get_rect()
# Start each new alien near the top left of the screen. self. rect. x = self. rect. width self. rect. y = self. rect. height
# Store the alien's exact position. self. x = float(self. rect. x)
def check_edges(self): " " " Return True if alien is at edge of screen. " " " screen_rect = self. screen. get_rect() if self. rect. right> = screen_rect. right: return True elifself. rect. left< = 0: return True
def update(self): " " " Move the alien right or left. " " " self. x += (self. ai_settings. alien_speed_factor * self. ai_settings. fleet_direction) self. rect. x = self. x
def blitme(self): " " " Draw the alien at its current location. " " " self. screen. blit(self. image, self. rect)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ alien_invasion. py
import pygame from pygame. sprite import Group
from settings import Settings from game_stats import GameStats from scoreboard import Scoreboard from button import Button from ship import Ship import game_functions as gf
def run_game(): # Initialize pygame, settings, and screen object. pygame. init() ai_settings = Settings() screen = pygame. display. set_mode( (ai_settings. screen_width, ai_settings. screen_height)) pygame. display. set_caption(" Alien Invasion" )
# Make the Play button. play_button = Button(ai_settings, screen, " Play" )
# Create an instance to store game statistics, and a scoreboard. stats = GameStats(ai_settings) sb = Scoreboard(ai_settings, screen, stats)
# Set the background color. bg_color = (230, 230, 230)
# Make a ship, a group of bullets, and a group of aliens. ship = Ship(ai_settings, screen) bullets = Group() aliens = Group()
# Create the fleet of aliens. gf. create_fleet(ai_settings, screen, ship, aliens)
# Start the main loop for the game. while True: gf. check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)
if stats. game_active: ship. update() gf. update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf. update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets)
gf. update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
run_game()
**************************************************************
|
|||
|