Advertisement
Guest User

For Da King Pin

a guest
Dec 18th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.04 KB | None | 0 0
  1. # HERE YOU GO HUGO; I KNOW YOU CARE ALOT!
  2.  
  3. import pygame
  4. from pygame.locals import *
  5.  
  6. black = (0, 0, 0)
  7. white = (255, 255, 255)
  8. blue = (0, 0, 255)
  9. red = (255, 0, 0)
  10. green = (0, 255, 0)
  11.  
  12. backgroundImg = pygame.image.load("background.png")
  13. screen_width = 1000
  14. screen_height = 800
  15.  
  16. class interActiveBlock(pygame.sprite.Sprite)
  17.  
  18. class Player(pygame.sprite.Sprite):
  19.       change_x = 0
  20.       change_y = 0
  21.       level = None
  22.  
  23.       def __init__(self):
  24.             pygame.sprite.Sprite.__init__(self)
  25.             width = 40
  26.             height = 52
  27.             self.image = pygame.Surface((width, height))
  28.             #self.image = pygame.image.load("tacos.png")
  29.             self.image.fill(red)
  30.             self.rect = self.image.get_rect()
  31.  
  32.       def update(self):
  33.             self.calc_grav()
  34.             self.rect.x += self.change_x
  35.             block_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
  36.             for block in block_hit_list:
  37.                   if self.change_x > 0:
  38.                         self.rect.right = block.rect.left
  39.                   elif self.change_x < 0:
  40.                         self.rect.left = block.rect.right
  41.  
  42.             self.rect.y += self.change_y
  43.             block_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
  44.             for block in block_hit_list:
  45.                   if self.change_y > 0:
  46.                         self.rect.bottom = block.rect.top
  47.                   elif self.change_y < 0:
  48.                         self.rect.top = block.rect.bottom
  49.  
  50.             self.change_y
  51.  
  52.       def calc_grav(self):
  53.             if self.change_y == 0:
  54.                   self.change_y = 1
  55.             else:
  56.                   self.change_y += .36 #original 35
  57.  
  58.             if self.rect.y >= screen_height-self.rect.height and self.change_y >= 0:
  59.                   self.change_y = 0
  60.                   self.rect.y = screen_height-self.rect.height
  61.  
  62.       def jump(self):
  63.             self.rect.y += 2
  64.             platform_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
  65.             self.rect.y -= 2
  66.             if len(platform_hit_list) > 0 or self.rect.bottom >= screen_height:
  67.                   self.change_y = -7
  68.  
  69.       def go_left(self):
  70.             self.change_x = -7
  71.       def go_right(self):
  72.             self.change_x = 7
  73.       def stop(self):
  74.             self.change_x = 0
  75.  
  76. class Platform(pygame.sprite.Sprite):
  77.       def __init__(self, width, height):
  78.             pygame.sprite.Sprite.__init__(self)
  79.             self.image = pygame.Surface((width, height))
  80.             self.image.fill((255, 255, 255))
  81.             self.rect = self.image.get_rect()
  82.  
  83. class Level(object):
  84.       platform_list = None
  85.       enemy_list = None
  86.       background = None
  87.  
  88.       def __init__(self, player):
  89.             self.platform_list = pygame.sprite.Group()
  90.             self.enemy_list = pygame.sprite.Group()
  91.             self.player = player
  92.  
  93.       def update(self):
  94.             self.platform_list.update()
  95.             self.enemy_list.update()
  96.  
  97.       def draw(self, screen):
  98.             screen.fill(black)
  99.             #screen.blit(backgroundImg, (0, 0))
  100.             self.platform_list.draw(screen)
  101.             self.enemy_list.draw(screen)
  102.  
  103. class Level_01(Level):
  104.  
  105.       def __init__(self, player):
  106.             Level.__init__(self, player)
  107.  
  108.             level = [[250, 30, 0, 300],
  109.                      [200, 30, 800, 750],
  110.                      [50, 30, 687, 678],
  111.                      [50, 30, screen_width-100, 608],
  112.                      [50, 30, 687, 535],
  113.                      [50, 30, screen_width-100, 462],
  114.                      [50, 30, 687, 389],
  115.                      [50, 30, 400, 345],
  116.                      ]
  117.            
  118.  
  119.  
  120.             for platform in level:
  121.                   block = Platform(platform[0], platform[1])
  122.                   block.rect.x = platform[2]
  123.                   block.rect.y = platform[3]
  124.                   block.player = self.player
  125.                   self.platform_list.add(block)
  126.  
  127. def main():
  128.       pygame.init()
  129.  
  130.       size = [screen_width, screen_height]
  131.       screen = pygame.display.set_mode(size)
  132.       player = Player()
  133.       #player2 = Player()
  134.  
  135.       level_list = []
  136.       level_list.append( Level_01(player) )
  137.       #level_list.append( Level_01(player2) )
  138.  
  139.       current_level_no = 0
  140.       current_level = level_list[current_level_no]
  141.  
  142.       active_sprite_list = pygame.sprite.Group()
  143.       player.level = current_level
  144.  
  145.       player.rect.x = 400
  146.       player.rect.y = screen_height-player.rect.height
  147.       #player2.rect.x = 400
  148.       #player2.rect.y = screen_height-player.rect.height
  149.  
  150.       active_sprite_list.add(player)
  151.       #active_sprite_list.add(player2)
  152.  
  153.       done = False
  154.       clock = pygame.time.Clock()
  155.  
  156.       while not done:
  157.             for event in pygame.event.get():
  158.                   if event.type == pygame.QUIT:
  159.                         pygame.quit()
  160.                         quit()
  161.  
  162.                   if event.type == pygame.KEYDOWN:
  163.                         if event.key == pygame.K_LEFT:
  164.                               player.go_left()
  165.                         if event.key == pygame.K_RIGHT:
  166.                               player.go_right()
  167.                         if event.key == pygame.K_SPACE:
  168.                               player.jump()
  169.  
  170.                   if event.type == pygame.KEYUP:
  171.                         if event.key == pygame.K_LEFT and player.change_x < 0:
  172.                               player.stop()
  173.                         if event.key == pygame.K_RIGHT and player.change_x > 0:
  174.                               player.stop()
  175.  
  176.             active_sprite_list.update()
  177.             current_level.update()
  178.  
  179.             if player.rect.right > screen_width:
  180.                   player.rect.right = screen_width
  181.             if player.rect.left < 0:
  182.                   player.rect.left = 0
  183.  
  184.             current_level.draw(screen)
  185.             active_sprite_list.draw(screen)
  186.             clock.tick(60)
  187.             pygame.display.update()
  188.  
  189. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement