Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!user/bin/env python
- import sys, pygame
- from pygame.locals import *
- #--- Our Variables ---#
- black = (0,0,0)
- size = (320, 240)
- speed = [0,5]
- #--- Init pygame ---#
- pygame.init
- screen = pygame.display.set_mode(size)
- clock = pygame.time.Clock()
- ball = pygame.image.load("ball.jpg").convert()
- buff = pygame.image.load("buff.jpg").convert()
- 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])]
- jumping = False
- jump = 0
- jumpNum = 2
- class Player(object):
- def __init__(self):
- self.rect = pygame.Rect(32, 32, 16, 16)
- def move(self, dx, dy):
- if dx != 0:
- self.move_single_axis(dx, 0)
- if dy != 0:
- self.move_single_axis(0, dy)
- def move_single_axis(self, dx, dy):
- self.rect.x += dx
- self.rect.y += dy
- for h in range(0, len(rects)):
- if self.rect.colliderect(rects[h]):
- if dx > 0:
- self.rect.right = rects[h].left
- if dx < 0:
- self.rect.left = rects[h].right
- if dy > 0:
- self.rect.bottom = rects[h].top
- global jump
- jump = 0
- if dy < 0:
- self.rect.top = rects[h].bottom
- player = Player()
- def getEvents():
- for event in pygame.event.get():
- if event.type == KEYDOWN:
- if event.key == K_UP:
- global jumping, jump
- if jumping == False:
- jumping = True
- jump += 1
- speed[1] = -10
- #if event.key == K_DOWN:
- # speed[1] = 4
- if event.key == K_LEFT:
- speed[0] = -4
- if event.key == K_RIGHT:
- speed[0] = 4
- if event.type == KEYUP:
- #if event.key == K_UP and speed[1] < 0:
- #speed[1] = 0
- if event.key == K_DOWN and speed[1] > 0:
- speed[1] = 0
- if event.key == K_LEFT and speed[0] < 0:
- speed[0] = 0
- if event.key == K_RIGHT and speed[0] > 0:
- speed[0] = 0
- if event.type == pygame.QUIT:
- running = False
- sys.exit()
- running = True
- while running:
- getEvents()
- ballbuff = pygame.Rect(player.rect.x, player.rect.y, 16, 16)
- player.move(speed[0], speed[1])
- if jumping:
- speed[1] += 1
- if (speed[1] >= 0) and (jump <= jumpNum - 1):
- jumping = False
- else:
- if speed[1] < 10:
- speed[1] += 1
- for i in range(0, len(rects)):
- pygame.draw.rect(screen, (0, 255, 0), rects[i])
- pygame.draw.rect(screen, (0,0,0), ballbuff) #used to be screen.blit...so change back for images
- pygame.draw.rect(screen, (255, 200, 0), player)
- clock.tick(30)
- pygame.display.flip()
Add Comment
Please, Sign In to add comment