Advertisement
hackloper775

elevador-pygame

May 31st, 2013
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.63 KB | None | 0 0
  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3.  
  4. import sys, pygame
  5. pygame.init()
  6.  
  7. size = alto,ancho = 400,400  
  8. xy = [0, 5]
  9. color = [119,255,221]
  10.  
  11. def cargar_imagen(nombre,alfa=False):  
  12.     imagen = pygame.image.load(nombre)  
  13.     if alfa == True:  
  14.         imagen = imagen.convert_alpha()  
  15.     else:  
  16.         imagen = imagen.convert()  
  17.     return imagen  
  18.  
  19. class Pelota(pygame.sprite.Sprite):  
  20.     def __init__(self):  
  21.         pygame.sprite.Sprite.__init__(self)  
  22.         self.imagen = cargar_imagen("objeto.png",alfa=True)  
  23.         self.rect = self.imagen.get_rect()
  24.         self.rect.centerx = 10
  25.         self.rect.centery = 10
  26.     def update(self):
  27.         if self.rect.colliderect(rect1.rect):
  28.             self.rect.centery = rect1.rect.centery - 15
  29.         if self.rect.colliderect(rect2.rect):
  30.             self.rect.centery = rect2.rect.centery - 15
  31.         if self.rect.centerx <= 10:
  32.             self.rect.centerx = 10
  33.         if self.rect.centery >= alto - 10:
  34.             self.rect.centery = alto - 10
  35.         if self.rect.centerx >= ancho - 10:
  36.             self.rect.centerx = ancho - 10
  37.         if self.rect.colliderect(elevador.rect):
  38.             self.rect.centery = elevador.rect.centery - 15
  39.  
  40. class Rect(pygame.sprite.Sprite):  
  41.     def __init__(self,x,y):  
  42.         pygame.sprite.Sprite.__init__(self)  
  43.         self.imagen = cargar_imagen("rectangulo.png",alfa=True)  
  44.         self.rect = self.imagen.get_rect()
  45.         self.rect.centerx = x  
  46.         self.rect.centery = y
  47.  
  48. class Elevador(pygame.sprite.Sprite):  
  49.     def __init__(self,x,y):  
  50.         pygame.sprite.Sprite.__init__(self)  
  51.         self.imagen = cargar_imagen("elevador.png",alfa=True)  
  52.         self.rect = self.imagen.get_rect()
  53.         self.rect.centerx = x  
  54.         self.rect.centery = y
  55.     def update(self):
  56.         if elevador_m == True:
  57.             self.rect.centery -= 4
  58.             if self.rect.centery <= 30:
  59.                 self.rect.centery = 30
  60.         elif elevador_m == False:
  61.             self.rect.centery += 4
  62.             if self.rect.centery >= alto - 10:
  63.                 self.rect.centery = alto - 10
  64. screen = pygame.display.set_mode(size)
  65. pygame.display.set_caption("Ejemplo 2")  
  66. pelota = Pelota()
  67. rect1 = Rect(ancho - 190,90)
  68. rect2 = Rect(150,170)
  69. elevador = Elevador(ancho - 55,alto - 10)
  70. imagen_rect1 = rect1.imagen
  71. imagen_rect2 = rect2.imagen
  72. imagen_pelota = pelota.imagen
  73. imagen_elevador = elevador.imagen
  74. jugando = True
  75. clock = pygame.time.Clock()
  76. pygame.key.set_repeat(1,15)
  77. elevador_m = False  
  78.  
  79. while jugando:
  80.     clock.tick(50)
  81.     for eventos in pygame.event.get():
  82.         if eventos.type == pygame.QUIT:
  83.             jugando = False
  84.         elif eventos.type == pygame.KEYDOWN:
  85.             if eventos.key == pygame.K_q or eventos.key == pygame.K_ESCAPE:  
  86.                 jugando = False
  87.             elif eventos.key == pygame.K_LEFT:  
  88.                 pelota.rect.centerx -= 5  
  89.             elif eventos.key == pygame.K_RIGHT:  
  90.                 pelota.rect.centerx += 5
  91.             elif eventos.key == pygame.K_e:
  92.                 pygame.key.set_repeat(1,40)
  93.                 if elevador_m == False:
  94.                     elevador_m = True
  95.                 elif elevador_m == True:
  96.                     elevador_m = False
  97.                 pygame.key.set_repeat(1,15)
  98.     pelota.rect = pelota.rect.move(xy)
  99.     pelota.update()
  100.     elevador.update()
  101.     screen.fill(color)
  102.     screen.blit(imagen_elevador, elevador.rect)
  103.     screen.blit(imagen_pelota, pelota.rect)
  104.     screen.blit(imagen_rect1, rect1.rect)
  105.     screen.blit(imagen_rect2, rect2.rect)
  106.     pygame.display.flip()
  107. else:
  108.     sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement