Advertisement
GameNationRDF

Python Coin Collecting Game 1.1

Nov 17th, 2013
2,182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.44 KB | None | 0 0
  1. #Code by Umut Bilgic, Ankara, Turkey.
  2. #Public release: 11/16/2013
  3. #Release version: 1.1 Beta - Working coin and point system.
  4.  
  5. from pygame.locals import *
  6. import pygame
  7. import sys
  8. import time
  9. import random
  10. import math
  11.  
  12. image_resources = "C:/Users/user/Desktop/Pygame App/app_resources/image_resources/"
  13. sound_resources = "C:/Users/user/Desktop/Pygame App/app_resources/sound_resources/"
  14.  
  15. width,height = 400,400
  16. size = (width,height)
  17.  
  18. clock = pygame.time.Clock()
  19. FPS = 115
  20.  
  21. coin_offset = 60
  22. points = -1
  23. kill_switch = 0
  24.  
  25. def quit_game():
  26.     pygame.quit()
  27.     sys.exit("System exit.")
  28.  
  29. class GetSource:
  30.     def background(self,image):
  31.         return pygame.image.load(image_resources + image).convert()
  32.     def player(self,image):
  33.         return pygame.image.load(image_resources + image).convert_alpha()
  34.    
  35. class Wall(pygame.sprite.Sprite):
  36.     def __init__(self,color,x,y,width,height):
  37.         pygame.sprite.Sprite.__init__(self)
  38.         self.image = pygame.Surface((width,height))
  39.         self.image.fill(pygame.color.Color(color))
  40.         self.rect = self.image.get_rect()
  41.         self.rect.x = x
  42.         self.rect.y = y
  43.  
  44. class Player(pygame.sprite.Sprite):
  45.     def __init__(self,image):
  46.         pygame.sprite.Sprite.__init__(self)
  47.         self.image = pygame.image.load(image_resources + image).convert_alpha()
  48.         self.rect = self.image.get_rect()
  49.        
  50. class Coin(pygame.sprite.Sprite):
  51.     def __init__(self,image):
  52.         pygame.sprite.Sprite.__init__(self)
  53.         self.image = pygame.image.load(image_resources + image).convert_alpha()
  54.         self.rect = self.image.get_rect()
  55.        
  56. pygame.init()
  57.  
  58. screen = pygame.display.set_mode(size)
  59. pygame.display.set_caption("PyGame App")
  60. background = GetSource().background("bg_solid_black_square.jpg")
  61. player = GetSource().player("ball_blue.png")
  62. player_dimension = player.get_width()
  63.  
  64. x,y = width/2-player_dimension,height/2-player_dimension
  65. movex,movey = 0,0
  66.  
  67. walls = pygame.sprite.Group()
  68. players = pygame.sprite.Group()
  69. coins = pygame.sprite.Group()
  70. all_sprites = pygame.sprite.Group()
  71.  
  72. wall_1 = Wall("white", 0, 0, width, 5)
  73. wall_2 = Wall("white", 0, 0, 5, height)
  74. wall_3 = Wall("white", 0, height-5, width, 5)
  75. wall_4 = Wall("white", width-5, 0, 5, height)
  76. player = Player("ball_blue.png")
  77. coin = Coin("coin.png")
  78.  
  79. walls.add(wall_1,wall_2,wall_3,wall_4)
  80. players.add(player)
  81. coins.add(coin)
  82. all_sprites.add(wall_1,wall_2,wall_3,wall_4,player,coin)
  83.  
  84. while True:
  85.  
  86.     clock.tick(FPS)
  87.  
  88.     ticks = pygame.time.get_ticks()
  89.    
  90.     collide_list_1 = pygame.sprite.spritecollideany(wall_1,players)
  91.     collide_list_2 = pygame.sprite.spritecollideany(wall_2,players)
  92.     collide_list_3 = pygame.sprite.spritecollideany(wall_3,players)
  93.     collide_list_4 = pygame.sprite.spritecollideany(wall_4,players)
  94.     collide_list_5 = pygame.sprite.spritecollideany(coin,  players)
  95.    
  96.     for event in pygame.event.get():
  97.         if event.type == QUIT:
  98.             quit_game()
  99.         if event.type == KEYDOWN:
  100.             if event.key == K_q:
  101.                 quit_game()
  102.             elif event.key == K_a:
  103.                 movex = -1
  104.             elif event.key == K_d:
  105.                 movex = 1
  106.             elif event.key == K_w:
  107.                 movey = -1
  108.             elif event.key == K_s:
  109.                 movey = 1
  110.                
  111.         if event.type == KEYUP:
  112.             if event.key == K_a or event.key == K_d:
  113.                 movex = 0
  114.             if event.key == K_w or event.key == K_s:
  115.                 movey = 0
  116.  
  117.     if collide_list_1 != None:
  118.         movey = 0
  119.         y += 1
  120.     if collide_list_2 != None:
  121.         movex = 0
  122.         x += 1
  123.     if collide_list_3 != None:
  124.         movey = 0
  125.         y -= 1
  126.     if collide_list_4 != None:
  127.         movex = 0
  128.         x -= 1
  129.     else:    
  130.         x += movex
  131.         y += movey
  132.  
  133.     player.rect.x = x
  134.     player.rect.y = y
  135.  
  136.     screen.blit(background, (0,0))
  137.  
  138.     if  kill_switch == 0:
  139.         coin.rect.x = random.randint(0,width-coin_offset)
  140.         coin.rect.y = random.randint(0,height-coin_offset)
  141.         kill_switch = 1
  142.        
  143.     pygame.display.set_caption("Points: "+str(points))
  144.    
  145.     if collide_list_5 != None:
  146.         points += 1
  147.         coin.rect.x = random.randint(0,width-coin_offset)
  148.         coin.rect.y = random.randint(0,height-coin_offset)
  149.                                    
  150.     all_sprites.draw(screen)
  151.     all_sprites.update()
  152.    
  153.     pygame.display.update()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement