1
Fork 0

add main game logic (from old testing, needs editing!!!)

This commit is contained in:
Jake Howard 2015-04-28 12:19:59 +01:00
parent 83c455bf1b
commit 747a56857e

99
game.py
View file

@ -1,8 +1,103 @@
import pygame, logging import pygame, logging
import bullet, player, textures import bullet, player, textures
from bullet import Bullet
from player import Shooter
from textures import Textures
from target import Target
PLAYING_GAME = False
WINDOW_SIZE = (640,480)
FPS = 60
def rounding(x, base): return int(base * round(float(x)/base))
MENU_WINDOW = ""
def initialise(menu, options): def initialise(menu, options):
pass pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
window = pygame.display.set_mode(WINDOW_SIZE)
window_rect = window.get_rect()
exit_code = play(window) # Run main game loop
pygame.quit()
# Reshow the main menu
def generate_targets():
group = pygame.sprite.Group()
target_object = Target()
for i in range(10,150,50):
for j in range(10, 150, 50):
temp = Target()
logging.debug("Target generated with position ({},{})".format(j,i))
temp.set_position(j,i)
group.add(temp)
del temp
return group
def play(window):
player = Shooter()
player.set_position(WINDOW_SIZE[0]/2, WINDOW_SIZE[1]*0.9)
player_group = pygame.sprite.Group()
player_group.add(player)
target_group = generate_targets()
bullet_group = pygame.sprite.Group()
clock = pygame.time.Clock()
PLAYING_GAME = True
while PLAYING_GAME:
window.fill((0,0,0))
target_group.update()
bullet_group.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
logging.critical("Exiting Game...")
PLAYING_GAME = False
return "QUIT"
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
temp = Bullet(player)
bullet_group.add(temp)
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
player.move(player.speed)
if keys[pygame.K_LEFT]:
player.move(-player.speed)
if keys[pygame.K_s]:
temp = Bullet(player)
bullet_group.add(temp)
for sprite in bullet_group:
if not sprite.at_goal():
sprite.to_goal()
if sprite.rect.y < 0:
bullet_group.remove(sprite)
for bullet in bullet_group:
hit_list = pygame.sprite.spritecollide(bullet, target_group, True)
for target in hit_list:
target_group.remove(target)
bullet_group.remove(bullet)
logging.info("Hit Target!")
bullet_group.draw(window)
target_group.draw(window)
player_group.draw(window)
pygame.display.update()
clock.tick(FPS)
if __name__ == "__main__":
initialise(None, None)