pygame - pacmanansatz
Verfasst: Sonntag 27. August 2006, 00:17
Hallo ich bins schon wida ... hab mal ne frage : kennt sich vllt jemand mit pygame aus und kann mir helfen ?! also ich habe angefangen pacman zu schreiben aber iwie funktioniert der anfang schon nciht ich habe bis jetzt die spielfigur die sachen die man einsammeln muss und dei anzegie wieviel man eingesammelt hat geschriebn aber ich finde meinen fehler nciht
vllt schaut ihr euch einfach mal den code an vielen dank schon im vorfeld
MfG Basics
vllt schaut ihr euch einfach mal den code an vielen dank schon im vorfeld
Code: Alles auswählen
import os,sys
import pygame
from pygame.locals import *
if not pygame.font: print 'Achtung, Textdatei nicht verfügbar'
if not pygame.mixer: print 'Achtung, Sound nicht verfügbar'
class MonsterManMain:
def __init__(self, width=640,height=480):
pygame.init()
self.width = width
self.height = height
self.screen = pygame.display.set_mode((self.width , self.height))
def MainLoop(self):
self.LoadSprites();
pygame.key.set_repeat(500, 30)
self.background = pygame.Surface(self.screen.get_size())
self.background = self.background.convert()
self.background.fill((0,0,0))
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == KEYDOWN:
if ((event.key == K_RIGHT)
or (event.key == K_LEFT)
or (event.key == K_UP)
or (event.key == K_DOWN)):
self.snake.move(event.key)
lstCols = pygame.sprite.spritecollide(self.monster
, self.Essen_sprites
, True)
self.monster.Essen = self.monster.Essen + len(lstCols)
self.screen.blit(self.background, (0, 0))
if pygame.font:
font = pygame.font.Font(None, 36)
text = font.render("Burger %s" % self.monster.Essen
, 1, (255, 0, 0))
textpos = text.get_rect(centerx=self.background.get_width()/2)
self.screen.blit(text, textpos)
if __name__ == "__main__":
MainWindow = MonsterManMain()
MainWindow.MainLoop()
self.Essen_sprites.draw(self.screen)
self.monster_sprites.draw(self.screen)
pygame.display.flip()
def LoadSprites(self):
self.monster = Monster()
self.monster_sprites = pygame.sprite.RenderPlain((self.monster))
nNumHorizontal = int(self.width/64)
nNumVertical = int(self.height/64)
self.Essen_sprites = pygame.sprite.Group()
for x in range(nNumHorizontal):
for y in range(nNumVertical):
self.Essen_sprites.add(Essen(pygame.Rect(x*64, y*64, 64, 64)))
class Monster(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite._init_(self)
self.image, self.rect = load_image('monster.png',-1)
self.Essen = 0
self.x_dist = 5
self.y_dist = 5
def move(self, key):
xMove = 0;
yMove = 0;
if (key == K_RIGHT):
xMove = self.x_dist
elif (key == K_LEFT):
xMove = -self.x_dist
elif (key == K_UP):
yMove = -self.y_dist
elif (key == K_DOWN):
yMove = self.y_dist
self.rect.move_ip(xMove,yMove);
class Essen(pygame.sprite.Sprite):
def __init__(self, rect=None):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = load_image('Essen.png',-1)
if rect != None:
self.rect = rect
if __name__ == "__main__":
MainWindow = MonsterManMain()
MainWindow.MainLoop()
MfG Basics