You have to have your images in the same folder as your script. Are they? For 
example if you copied to the desktop it wouldn't work

-Zack

On Mar 11, 2012, at 12:51 PM, Avirup Kundu <avirupku...@gmail.com> wrote:

> import pygame, os.path, sys
> from pygame.locals import *
> from random import randint
> 
> def load_image(name, colorkey=None):
>     try:
>         image = pygame.image.load(name)
>     except pygame.error:
>         print ('Cannot load image:', name)
>         raise SystemExit(str(geterror()))
>     image = image.convert()
>     if colorkey is not None:
>         if colorkey is -1:
>             colorkey = image.get_at((0,0))
>         image.set_colorkey(colorkey, RLEACCEL)
>     return image
> 
> class IMG:
>     pass
> 
> class NPC:
>     #A container class for the NPCs
>     def __init__(self, image):
>         self.image = image
>         self.pos = 
> [(38,38),(119,63),(181,21),(35,189),(119,157),(169,219),(15,323),(95,303),(183,319)]
>     
>     def update(self):
>         pass
>     
>     def draw(self, screen, k):
>         self.rect = self.pos[k]
>         screen.blit(self.image, self.rect)
> 
> class Mice(NPC):
>     #The bad guy!
>     def __init__(self):
>         NPC.__init__(self, IMG.MICE)
> 
> class Dog(NPC):
>     #The pet dog!
>     def __init__(self):
>         NPC.__init__(self, IMG.DOG)
> 
> class Cat(NPC):
>     #The neighbour's cat!
>     def __init__(self):
>         NPC.__init__(self, IMG.CAT)
> 
>     
> def main():
>     pygame.init()
>     screen = pygame.display.set_mode((240,380))
>     pygame.display.set_caption("Hit The Mice!")
>     
>     background = load_image('ground.jpg')
>     screen.blit(background, (0,0))
>     pygame.display.flip()
>     
>     flag = False
>     score = 0
>     allowed_time = 600 #change this variable to control the speed of the 
> game. In miliseconds.
>     time_to_run = 200   #change this variable to play longer.
>     hit = False
>     life = 3
>     score = 0
>     time_elapsed = 0
>     
>     IMG.MICE = load_image('mice.png', -1)
>     IMG.MICE=pygame.transform.scale(IMG.MICE, (50,50))
>     IMG.DOG = load_image('dog.png', -1)
>     IMG.DOG=pygame.transform.scale(IMG.DOG, (50,50))
>     IMG.CAT = load_image('cat.png', -1)
>     IMG.CAT=pygame.transform.scale(IMG.CAT, (50,50))
>     
>     actors = [Mice(), Mice(), Mice(), Mice(), Dog(), Cat()]
>     
>     while True:
>         screen.blit(background, (0,0))
>         r = randint(0,5)
>         k = randint(0,8)
>         actors[r].draw(screen,k)
>         pygame.display.update()
>         
>         time = pygame.time.Clock()
>         time_passed = 0
>         
>         while True:
>             time_passed = time.tick()+time_passed
>             time_elapsed = time.tick()+time_elapsed
>             if time_passed > allowed_time:
>                 break
>             
>             for event in pygame.event.get():
>                 if event.type == QUIT:
>                     sys.exit()
>                 if event.type == KEYDOWN:
>                     if event.key == K_ESCAPE:
>                         flag = True
>                         break
>             
>             pressed_key = pygame.key.get_pressed()
>             
>             if pressed_key[K_q] and k==0:
>                 hit = True
>                 break
>             if pressed_key[K_w] and k==1:
>                 hit = True
>                 break
>             if pressed_key[K_e] and k==2:
>                 hit = True
>                 break
>             if pressed_key[K_a] and k==3:
>                 hit = True
>                 break
>             if pressed_key[K_s] and k==4:
>                 hit = True
>                 break
>             if pressed_key[K_d] and k==5:
>                 hit = True
>                 break
>             if pressed_key[K_z] and k==6:
>                 hit = True
>                 break
>             if pressed_key[K_x] and k==7:
>                 hit = True
>                 break
>             if pressed_key[K_c] and k==8:
>                 hit = True
>                 break
>         if life < 0:
>             break
>         if flag is True:
>             break
>         if hit is True:
>             if r==4 or r==5:
>                 life = life-1
>             else:
>                 score = score+1
>                 print(score)
>         
>         if time_elapsed > time_to_run:
>             break
>         hit = False
>     
>     background = pygame.Surface(screen.get_size()).convert()
>     background.fill((255,255,0))
>     score = str(score)
>     score = "Your score is "+ score
>     print(score)
>     while True:
>         
>         for event in pygame.event.get():
>                 if event.type == QUIT:
>                     sys.exit()
>                 if event.type == KEYDOWN:
>                     if event.key == K_ESCAPE:
>                         sys.exit()
>         
>         screen.blit(background, (0,0))
>         my_font = pygame.font.SysFont("arial", 28)
>         score_surface = my_font.render(score, True, (0,0,0))
>         screen.blit(score_surface, (34, 24))
>         
>         my_font_1 = pygame.font.SysFont("arial", 16)
>         quit_surface = my_font_1.render("Press esc to Quit", True, (0,0,0))
>         screen.blit(quit_surface, (64, 300))
>         pygame.display.flip()
>         
> 
> if __name__ == '__main__':main()
>     
>     
>     
> 

Reply via email to