Guest User

Untitled

a guest
May 28th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.01 KB | None | 0 0
  1. import pygame
  2. import os, sys
  3.  
  4. from pygame.locals import *
  5.  
  6.  
  7. if not pygame.font: print "Warning, fonts disabled!"
  8. if not pygame.mixer: print "Warning, sounds disabled!"
  9.  
  10. def load_image(name, colorkey=None):
  11.     fullname = os.path.join('data', name)
  12.     try:
  13.         image = pygame.image.load(fullname)
  14.     except pygame.error, message:
  15.         print "Can't load image: %s" % name
  16.         raise SystemExit, message
  17.  
  18.     image = image.convert()
  19.  
  20.     if colorkey is not None:
  21.         if colorkey is -1:
  22.             colorkey = image.get_at((0,0))
  23.  
  24.         image.set_colorkey(colorkey, RLEACCEL)
  25.  
  26.     return image, image.get_rect()
  27.  
  28.  
  29.  
  30. class Fist(pygame.sprite.Sprite):
  31.     def __init__(self):
  32.         pygame.sprite.Sprite.__init__(self)
  33.         self.image, self.rect = load_image('sprites.png', -1)
  34.         self.punching = 0
  35.  
  36.     def update(self):
  37.         pos = pygame.mouse.get_pos()
  38.         self.rect.mid_top = pos
  39.  
  40.         if self.punching:
  41.             self.rect.move_ip(5,10)
  42.  
  43.     def punch(self, target):
  44.         if not self.punching:
  45.             self.punching = 1
  46.             hitbox = self.rect.inflate(-5,-5)
  47.             return hitbox.colliderect(target.rect)
  48.  
  49.     def unpunch(self):
  50.         self.punching = 0
  51.  
  52.  
  53. class Chimp(pygame.sprite.Sprite):
  54.     def __init__(self):
  55.         pygame.sprite.Sprite.__init__(self)
  56.         self.image, self.rect = load_image('tiles.png', -1)
  57.         screen = pygame.display.get_surface()
  58.         self.area = screen.get_rect()
  59.         self.rect.topleft = 10, 10
  60.         self.move = 9
  61.         self.dizzy = 0
  62.  
  63.     def update(self):
  64.         if self.dizzy:
  65.             self._spin()
  66.         else:
  67.             self._walk()
  68.  
  69.     def _walk(self):
  70.         newpos = self.rect.move((self.move, 0))
  71.         if not self.area.contains(newpos):
  72.             if self.rect.left < self.area.left or \
  73.                 self.rect.right > self.area.right:
  74.                 self.move = -self.move
  75.                 newpos = self.rect.move((self.move,0))
  76.                 self.image = pygame.transform.flip(self.image, 1,0)
  77.         self.rect = newpos
  78.  
  79.     def _spin(self):
  80.         center = self.rect.center
  81.         self.dizzy += 12
  82.         if self.dizzy >= 360:
  83.             self.dizzy  = 0
  84.             self.image = self.original
  85.         else:
  86.             rotate = pygame.transform.rotate
  87.             self.image = rotate(self.original, self.dizzy)
  88.  
  89.         self.rect = self.image.get_rect(center=center)
  90.  
  91.  
  92.     def punched(self):
  93.         if not self.dizzy:
  94.             self.dizzy = 1
  95.             self.original = self.image
  96.  
  97.  
  98.  
  99. if __name__ == '__main__':
  100.     pygame.init()
  101.     screen = pygame.display.set_mode((468,60))
  102.     pygame.display.set_caption('TEST!')
  103.     pygame.mouse.set_visible(0)
  104.     background = pygame.Surface(screen.get_size())
  105.     background = background.convert()
  106.     background.fill((250,250,250))
  107.     if pygame.font:
  108.         font=pygame.font.Font(None, 36)
  109.         text = font.render("Thijs pwnt", 1, (10,10,10))
  110.         textpos = text.get_rect(centerx=background.get_width()/2)
  111.         background.blit(text, textpos)
  112.  
  113.     screen.blit(background, (0,0))
  114.     pygame.display.flip()
  115.  
  116.     fist = Fist
  117.     chimp = Chimp
  118.     allsprites = pygame.sprite.RenderPlain((fist, chimp))
  119.     clock = pygame.time.Clock()
  120.     def _run():
  121.         print 'IN run!'
  122.         while 1:
  123.             clock.tick(60)
  124.             for event in pygame.event.get():
  125.                 if event.type == QUIT:
  126.                     print 'QUIT SIGNAL'
  127.                     return
  128.                 elif event.type == KEYDOWN and event.key == K_ESCAPE:
  129.                     print 'ESCAPE SIGNAL'
  130.                     return
  131.                 elif event.type == MOUSEBUTTONDOWN:
  132.                     if fist.punch(chimp):
  133.                         print "PUNCHED!"
  134.                         chimp.punched()
  135.                     else:
  136.                         print "MISSED!"
  137.  
  138.                 elif event.type == MOUSEBUTTONUP:
  139.                     fist.unpunch()
  140.  
  141.     print 'Going to run!'    
  142.     run()
Add Comment
Please, Sign In to add comment