Hi guys i have come again with more problems.This time it has to do with pygame.The following code does not give any error messages but it does not do what it is supposed to do either.the code is a bit long but it's straightforward .Please help
Code:
import pygame from pygame.locals import * pygame.init() screen=pygame.display.set_mode((900,900)) class Hero(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image=pygame.image.load('C:/Python24/r3.PNG') self.image=self.image.convert() self.rect=self.image.get_rect() self.rect.topleft=0,500 self.a=screen.get_rect() def forward(self): a=1 def back(self): a=2 def original(self): self.a.topleft=0,500 def moveup(self): a=3 def movedown(self): a=4 def update(self): if a==0: self.original() if a==1: if self.rect.left<=self.a.right : self.rect.move_ip(5,0) else: self.original() if a==2: if self.rect.left!=0: self.rect.move_ip(-5,0) else: self.original() if a==3: if self.rect.top!=self.a.top: self.rect.move_ip(0,5) else: self.rect.move_ip(0,-5) if a==4: if self.rect.bottom!=0: self.rect.move_ip(0,-5) else: self.rect.move_ip(0,5) class Villian(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image=pygame.image.load('C:/Python24/toba-pyweek3/toba-pyweek3/data/cards/1.PNG') self.rect=self.image.convert() self.rect=self.image.get_rect() self.rect.topleft=400,500 a=0 def forward(self): self.rect.move_ip(0,5) def update(self): if self.rect.top!=900: self.forward() else: self.original() def original(self): self.rect.topleft=400,500 imig=pygame.image.load('C:/Python24/Blue hills.GIF') background=pygame.Surface(screen.get_size()) background=background.convert() background.blit(imig,(0,0)) screen.blit(background,(0,0)) hero=Hero() villian=Villian() allsprites=pygame.sprite.RenderPlain((hero,villian)) allsprites.draw(screen) pygame.display.flip() clock=pygame.time.Clock() while True: clock.tick(60) for event in pygame.event.get(): if event.type==KEYDOWN and event.key==K_UP: hero.moveup() if event.type==KEYDOWN and event.key==K_DOWN: hero.movedown() if event.type==KEYDOWN and event.key==K_RIGHT: hero.forward() if event.type==KEYDOWN and event.key==K_LEFT: hero.back() if event.type==QUIT: pygame.quit() raise SystemExit() allsprites.update() screen.blit(background,(0,0)) allsprites.draw(screen) pygame.display.flip()
Comment