[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Never seen this before



the two files for the game are attached

--- On Fri, 4/24/09, Brian Song <unlucky777@xxxxxxxxx> wrote:

From: Brian Song <unlucky777@xxxxxxxxx>
Subject: Re: [pygame] Never seen this before
To: pygame-users@xxxxxxxx
Date: Friday, April 24, 2009, 9:57 PM

 If the problems fixed, yay. If not, you should put up most/all your source so it's easier for people to see whats happening.

#! /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"))