Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Главный alien.py
- import sys
- import pygame
- from Settings import settings
- from ship import Ship
- import game_functions as gf
- from pygame.sprite import Group
- ai_settings = settings()
- def run_game():
- pygame.init()
- screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
- pygame.display.set_caption("Alien_isolation")
- ship = Ship(screen)
- bullets = Group()
- while True:
- gf.check_events(ai_settings, screen, ship, bullets)
- ship.update()
- bullets.update()
- gf.update_screen(ai_settings, screen, ship, bullets)
- run_game()
- game_functions.py
- import sys
- import pygame
- from bullet import Bullet
- def check_keydown_events(event, ai_settings, screen, ship, bullets):
- if event.key == pygame.K_LEFT:
- ship.moving_left = True
- if event.key == pygame.K_RIGHT:
- ship.moving_right = True
- elif event.key == pygame.K_SPACE:
- new_bullet = Bullet(ai_settings, screen, ship)
- bullets.add(new_bullet)
- def check_keyup_events(event, ship):
- if event.key == pygame.K_LEFT:
- ship.moving_left = False
- if event.key == pygame.K_RIGHT:
- ship.moving_right = False
- def check_events(ai_settings, screen, ship, bullets):
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- sys.exit()
- elif event.type == pygame.KEYDOWN:
- check_keydown_events(event, ai_settings, screen, ship, bullets)
- elif event.type == pygame.KEYUP:
- check_keyup_events(event, ship)
- def update_screen(ai_settings, screen, ship, bullets):
- for bullet in bullets.sprites():
- bullet.draw_bullet()
- screen.fill(ai_settings.bg_color)
- ship.bltime()
- pygame.display.flip()
- bullet.py
- import pygame
- from pygame.sprite import Sprite
- class Bullet(Sprite):
- def __init__(self, ai_settings, screen, ship):
- super(Bullet, self).__init__()
- self.screen = screen
- self.rect = pygame.Rect(0, 0 , ai_settings.bullet_width, ai_settings.bullet_height)
- self.rect.centerx = ship.rect.centerx
- self.rect.top = ship.rect.top
- self.y = float(self.rect.y)
- self.color = ai_settings.bullet_color
- self.speed_factor = ai_settings.bullet_speed_factor
- def update(self):
- self.y -= self.speed_factor
- self.rect.y = self.y
- def draw_bullet(self):
- pygame.draw.rect(self.screen, self.color, self.rect)
- settings.py
- class settings():
- def __init__(self):
- self.bg_color = (112,112,112)
- self.screen_width = 1200
- self.screen_height = 800
- self.bullet_speed_factor = 1
- self.bullet_width = 3
- self.bullet_height = 15
- self.bullet_color = 61, 61, 61
- ship.py
- import pygame
- class Ship():
- def __init__(self, screen):
- self.screen = screen
- self.image = pygame.image.load('images/ship.png')
- self.rect = self.image.get_rect()
- self.screen_rect = self.screen.get_rect()
- self.rect.centerx = self.screen_rect.centerx
- self.rect.bottom = self.screen_rect.bottom
- self.moving_right = False
- self.moving_left = False
- def update(self):
- if self.moving_right == True and self.rect.centerx < 1170:
- self.rect.centerx += 1
- if self.moving_left == True and self.rect.centerx > 30:
- self.rect.centerx -= 1
- def bltime(self):
- self.screen.blit(self.image , self.rect)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement