Code: Alles auswählen
import pygame
from settings import Settings
import sideways_function as gf
from Sideways_ship import Ship
from pygame.sprite import Group
def run_game():
#Initaliz pygame and creat a screen object.
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode((ai_settings.screen_wight,
ai_settings.screen_height))
pygame.display.set_caption("Ship Game")
ship = Ship(ai_settings, screen)
bullets = Group()
while True:
gf.check_events(ai_settings, screen, ship, bullets)
ship.update()
gf.update_screen(ai_settings, screen, ship, bullets)
run_game()
Code: Alles auswählen
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_widht,
ai_settings.bullet_height)
self.rect.left = ship.rect.left
self.rect.top = ship.rect.top
self.color = ai_settings.bullet_color
self.speed_factor = ai_settings.bullet_speed_factor
self.y = float(self.rect.y)
def update(self):
self.y -= self.speed_factor
self.right = self.y
def draw_bullet(self):
pygame.draw.rect(self.screen, self.color, self.rect)
Code: Alles auswählen
import pygame
class Ship():
def __init__(self, ai_settings, screen):
self.screen = screen
self.ai_settings = ai_settings
# load image
self.image = pygame.image.load('Image/rocket.bmp')
self.rect = self.image.get_rect()
self.screen_rect = screen.get_rect()
#Set the ship to the right position
self.rect.left = self.screen_rect.left
self.rect.bottom = self.screen_rect.bottom
#Movement flags
self.moving_down = False
self.moving_up = False
self.bottom = float(self.rect.bottom)
def update(self):
if self.moving_up and self.rect.top > 0:
self.bottom -= self.ai_settings.ship_speed_factor
if self.moving_down and self.rect.bottom < self.screen_rect.bottom:
self.bottom += self.ai_settings.ship_speed_factor
self.rect.bottom = self.bottom
def blitme(self):
self.screen.blit(self.image, self.rect)
Code: Alles auswählen
import sys
import pygame
from sideways_bullets import Bullet
def check_keydowns_events(event, ai_settings, screen, ship, bullets):
if event.key == pygame.K_UP:
ship.moving_up = True
elif event.key == pygame.K_DOWN:
ship.moving_down = 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_UP:
ship.moving_up = False
elif event.key == pygame.K_DOWN:
ship.moving_down = 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_keydowns_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):
screen.fill(ai_settings.bg_color)
ship.blitme()
for bullet in bullets.sprites():
bullet.draw_bullet()
pygame.display.flip()
ich hoffe ihr könnt mir helfen
mfg
fakhro