From 3a81de28bc77315e5a634a39bdb10a3deb1117f2 Mon Sep 17 00:00:00 2001 From: kleph Date: Sat, 15 Aug 2009 02:27:58 +0200 Subject: [PATCH] initial import --- data/background.bmp | Bin 0 -> 921654 bytes data/bullet.bmp | Bin 0 -> 822 bytes data/player1_1.bmp | Bin 0 -> 36918 bytes pyshoot.py | 225 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 225 insertions(+) create mode 100644 data/background.bmp create mode 100644 data/bullet.bmp create mode 100644 data/player1_1.bmp create mode 100755 pyshoot.py diff --git a/data/background.bmp b/data/background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2fd1e12ae8da1e7352e018962c1a4425c288e51c GIT binary patch literal 921654 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 z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N b0t5&UAV7cs0RjXF5FkK+009C7elPF>DX#Oo literal 0 HcmV?d00001 diff --git a/data/bullet.bmp b/data/bullet.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ae0dffdec28e52491983e19ba5b8dd7a334b51ad GIT binary patch literal 822 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 literal 0 HcmV?d00001 diff --git a/pyshoot.py b/pyshoot.py new file mode 100755 index 0000000..d12ae17 --- /dev/null +++ b/pyshoot.py @@ -0,0 +1,225 @@ +#!/usr/bin/python +# -*- coding: iso8859-15 -*- +# first shoot'em um prototype +# may be ported to DS later +# it will use pygame (at least at the beginning) for input handling, graphics and sound + +import pygame +from pygame.locals import * +import os + + + +# constants +SCREEN_X = 640 +SCREEN_Y = 480 + +class Globals: + def __init__(self): + self.screen = None + self.background = None + self.level_event_list = [] + self.clock = None + self.event_type = {} + self.die = False + self.moving_objects = pygame.sprite.RenderUpdates() + self.bullets_list = pygame.sprite.RenderUpdates() + self.bulletfactory = BulletFactory() + +class Event: + def __init__(self): + self.time = 0 + self.type = 0 + +class Object(pygame.sprite.Sprite): + def __init__(self, frames, pos, speed): + pygame.sprite.Sprite.__init__(self) + self.speed = speed + self.frames = frames + self.image = None + self.load() + self.rect = self.image.get_rect().move(pos) + self.dx = 0 + self.dy = 0 + + def load(self): + """ load sprite list """ + index = 0 + for f in self.frames: + image = pygame.image.load(os.path.join('data', f)).convert() + image.set_colorkey(pygame.Color(255,255,255, 0)) + self.frames[index] = image + index += 1 + self.image = self.frames[0] + +# def draw(self): +# # self.image.blit +# globals.screen.blit(self.image, self.rect) + + def move(self, dx, dy): + """ move the object by adding deltas passed """ + self.speed = (dx, dy) + globals.moving_objects.add(self) + + def update(self): + # self.rect = self.rect.move(self.dx, self.dy) + self.rect.move_ip(self.speed) + + def shoot(self): + """ create a bullet and add it to the global bullet list""" + bullet = globals.bulletfactory.create(0, self.rect.midright) + globals.bullets_list.add(bullet) + + +class BulletFactory(): + """ BulletFactory, create bullets """ + + def create(self, type, pos): + """ create bullt of type type """ + if type == 0: + return self.create_type0(pos) + + def create_type0(self, pos): + """ create a bullet of type 0 + temporary linear type """ + + bullet = Bullet(['bullet.bmp'], 0, pos) + bullet.speed = (10,0) + bullet.damage = 10 + return bullet + + +class Bullet(Object): + def __init__(self, frames, type, pos): + Object.__init__(self, frames, pos, (0, 0)) + self.type = type + +def init_gfx(): + """graphics initialisation""" + + globals.screen = pygame.display.set_mode((SCREEN_X, SCREEN_Y)) + globals.screen.fill(0) + pygame.display.flip() + +def init_sound(): + """sound initialisation""" + pass + +def init(): + """ general initialisation""" + pygame.init() + init_gfx() + globals.clock = pygame.time.Clock() + #globals.event_type = {'create_enemeny' : create_enemey, 'vanish_object': vanish_object()} + + +def create_enemy(type): + """ create an enemy """ + pass + +def create_level(): + """ phony level one""" + + # create events + # dict events string => function + # for e in keys(globals.events_type): + pass + +def wait_keypress(): + """ wait for a keypress and then return """ + next = 0 + while next != 1: + for event in pygame.event.get(): + if event.type == KEYDOWN: + next = 1 + +def process_key(event, player): + """ process keyboard input """ + if event.key == K_ESCAPE: + globals.die = True + elif event.key == K_n: + player.move(0, 10) + pass + elif event.key == K_UP: + player.move(0, -10) + elif event.key == K_DOWN: + player.move(0, 10) + elif event.key == K_LEFT: + player.move(-10, 0) + elif event.key == K_RIGHT: + player.move(10, 0) + elif event.key == K_x: + player.shoot() + +## +# Main +## + +globals = Globals() +init() + +wait_keypress() + +nbframe = 0 + +# create_player +player = Object(['player1_1.bmp'], (50, 50), (0, 0)) + +# background +globals.background = pygame.image.load(os.path.join('data', 'background.bmp')).convert() +background_rect = globals.background.get_rect() +globals.screen.blit(globals.background, background_rect) +pygame.display.flip() +# draw initial sprite +globals.moving_objects.add(player) +while not globals.die: + + # erase player + #globals.screen.blit(background, player.rect, player.rect) + # draw player + #globals.screen.blit(player.image, player.pos) + + #globals.moving_objects.clear(globals.screen, globals.background) + #globals.bullets_list.clear(globals.screen, globals.background) + + for event in pygame.event.get(): + if event.type == KEYDOWN: + process_key(event, player) + + # erase moving objects + globals.moving_objects.update() + rectlist = globals.moving_objects.draw(globals.screen) + + # bullets handling + globals.bullets_list.update() + rectlist.extend(globals.bullets_list.draw(globals.screen)) + + #for o in globals.moving_objects: + # o.update() + # o.draw() + pygame.display.update(rectlist) + + # pygame.display.flip() + nbframe = nbframe + 1 + + globals.clock.tick(60) + globals.moving_objects.clear(globals.screen, globals.background) + globals.bullets_list.clear(globals.screen, globals.background) + + + # reinitializing moving objects list + globals.moving_objects = pygame.sprite.RenderUpdates() + +print "frames : %d" % nbframe + + + +# TODO: +# + Objects / Sprites +# --> convert my Objects to pygame.sprite.Sprite +# --> convert moving_objects list to Group +# + Input +# --> handle continuous keypress +# + Movving Sprites +# --> handle continous player move (related to Input) +# --> Sprites (non related to player input) movement vector, etc...