mixster

ManFlardin

Apr 4th, 2010
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. #!user/bin/env python
  2.  
  3.  
  4. import sys, pygame
  5. from pygame.locals import *
  6.  
  7.  
  8. #--- Our Variables ---#
  9. black = (0,0,0)
  10. size = (320, 240)
  11. speed = [0,5]
  12.  
  13. #--- Init pygame ---#
  14. pygame.init
  15.  
  16. screen = pygame.display.set_mode(size)
  17. clock = pygame.time.Clock()
  18. ball = pygame.image.load("ball.jpg").convert()
  19. buff = pygame.image.load("buff.jpg").convert()
  20. rects = [pygame.Rect(0,0, 1, size[1]), pygame.Rect(0, size[1] - 20, size[0], size[1]), pygame.Rect(size[0] - 1, 0, size[0], size[1])]
  21. jumping = False
  22. jump = 0
  23. jumpNum = 2
  24.  
  25. class Player(object):
  26.  
  27. def __init__(self):
  28. self.rect = pygame.Rect(32, 32, 16, 16)
  29.  
  30. def move(self, dx, dy):
  31. if dx != 0:
  32. self.move_single_axis(dx, 0)
  33. if dy != 0:
  34. self.move_single_axis(0, dy)
  35.  
  36. def move_single_axis(self, dx, dy):
  37. self.rect.x += dx
  38. self.rect.y += dy
  39.  
  40. for h in range(0, len(rects)):
  41. if self.rect.colliderect(rects[h]):
  42. if dx > 0:
  43. self.rect.right = rects[h].left
  44. if dx < 0:
  45. self.rect.left = rects[h].right
  46. if dy > 0:
  47. self.rect.bottom = rects[h].top
  48. global jump
  49. jump = 0
  50. if dy < 0:
  51. self.rect.top = rects[h].bottom
  52.  
  53. player = Player()
  54.  
  55. def getEvents():
  56. for event in pygame.event.get():
  57. if event.type == KEYDOWN:
  58. if event.key == K_UP:
  59. global jumping, jump
  60. if jumping == False:
  61. jumping = True
  62. jump += 1
  63. speed[1] = -10
  64. #if event.key == K_DOWN:
  65. # speed[1] = 4
  66. if event.key == K_LEFT:
  67. speed[0] = -4
  68. if event.key == K_RIGHT:
  69. speed[0] = 4
  70. if event.type == KEYUP:
  71. #if event.key == K_UP and speed[1] < 0:
  72. #speed[1] = 0
  73. if event.key == K_DOWN and speed[1] > 0:
  74. speed[1] = 0
  75. if event.key == K_LEFT and speed[0] < 0:
  76. speed[0] = 0
  77. if event.key == K_RIGHT and speed[0] > 0:
  78. speed[0] = 0
  79. if event.type == pygame.QUIT:
  80. running = False
  81. sys.exit()
  82.  
  83. running = True
  84. while running:
  85. getEvents()
  86.  
  87. ballbuff = pygame.Rect(player.rect.x, player.rect.y, 16, 16)
  88. player.move(speed[0], speed[1])
  89. if jumping:
  90. speed[1] += 1
  91. if (speed[1] >= 0) and (jump <= jumpNum - 1):
  92. jumping = False
  93. else:
  94. if speed[1] < 10:
  95. speed[1] += 1
  96. for i in range(0, len(rects)):
  97. pygame.draw.rect(screen, (0, 255, 0), rects[i])
  98. pygame.draw.rect(screen, (0,0,0), ballbuff) #used to be screen.blit...so change back for images
  99. pygame.draw.rect(screen, (255, 200, 0), player)
  100. clock.tick(30)
  101. pygame.display.flip()
Add Comment
Please, Sign In to add comment