the two files for the game are attached --- On Fri, 4/24/09, Brian Song <unlucky777@xxxxxxxxx> wrote:
|
#! /usr/bin/env python #main.py - main file for pystarfighter print("init...") #lvl level1 = [(0,0), (20, 0), (40, 0), (60, 0), (80, 0), (100,0), (120,0), (140,0), (160,0), (180,0), (200,0), (220,0), (240,0)] #positions of enemies #/lvl import pygame, spritemodule,random #import modules from pygame.locals import * # screen = pygame.display.set_mode((256,256)) pygame.display.set_caption("Loading") gameObjects = pygame.sprite.Group() #canisters bullets = pygame.sprite.Group() # enemybullets = pygame.sprite.Group()# enemies = pygame.sprite.Group() # clock=pygame.time.Clock() weaponheat = 0 spaceship = spritemodule.Player("spaceship.png") #create player object gameObjects.add(spaceship) # #colors blue = 0,0,255 red = 255, 0, 0 green = 0, 255, 0 black = 0,0,0 white = 255,255,255 #/colors spaceship.rect.left = 0 spaceship.rect.top = 236 pygame.display.set_caption("PyStarFighter") print("init complete") def setenemies_lvl1(): # put enemies on screen. pygame.display.set_caption("Loading Level") #tell player it's loading for item in level1: #loop throug coords in level file: lvl1 enemies.add(random.choice(("enemyblue.png", "enemycyan.png", "enemygrey.png", "enemyyellow.png")), item, enemybullets) pygame.display.set_caption("PyStarFighter") #tell player it's done def mainloop(): weaponheat = 0 while 1: # main game loop clock.tick(60) weaponheat = weaponheat - 1 if weaponheat < 0: weaponheat = 0 #ensure the weaponheat doesn't fall below zero spaceship.speed = (0,0) key = pygame.key.get_pressed() #create a list of keys #keys if key[K_RIGHT] and spaceship.rect.left < 240: spaceship.speed = (6,0) if key[K_LEFT] and spaceship.rect.left > 0: spaceship.speed = (-6,0) if key[K_SPACE] and weaponheat == 0: #shoot weaponheat = 60 bullets.add(spritemodule.Bullet("bullet.png", (0, -10))) #/keys spaceship.rect= spaceship.rect.move(spaceship.speed) for event in pygame.event.get(): #cycle events if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: exit() for item in bullets: #loop through bullet canister if item.rect.left == 0 and item.rect.top == 0: item.rect.left = spaceship.rect.left #move the bullet to the spaceship item.rect.top = spaceship.rect.top # else: item.rect = item.rect.move(0,-6) #screen screen.fill(black) bullets.draw(screen) enemybullets.draw(screen) gameObjects.draw(screen) enemies.draw(screen) pygame.display.flip() setenemies_lvl1() #mainloop()
import pygame class Basicsprite(pygame.sprite.Sprite): #create a sprite class def __init__(self, img): pygame.sprite.Sprite.__init__(self) self.image = pygame.image.load(img).convert_alpha() self.rect = self.image.get_rect() def resetrect(self): self.rect = self.image.get_rect() class Player(Basicsprite): #player ship def __init__(self, img): Basicsprite.__init__(self, img) def shoot(): pass class Bullet(Basicsprite): #bullet def __init__(self, img, speed): #speed is a tuple that describes the direction the bullet travels. Basicsprite.__init__(self, img) self.speed=speed class Enemy(Basicsprite): #enemy def __init__(self, img, initpos, bulletcanister): #bulletcanister- the sprite canister it puts the bullets in Basicsprite.__init__(self, img) self.rect.left = initpos[0] self.rect.top = initpos[1] def shoot(): #shoot a bullet self.bulletcanister.add(Bullet("bullet.png"))