Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- pygame.init()
- class Player:
- def __init__(self, x, y):
- self.rect = pygame.Rect(100, 100, 50, 50)
- self.movement = [0,0]
- self.jump_vel = 7
- self.jump = False
- self.collisions = {'left' : False, 'right' : False, 'top' : False, 'bottom' : False}
- self.points = 0
- def check_if_collide(self, game_map):
- hit_list = []
- for tile in game_map:
- if self.rect.colliderect(tile):
- hit_list.append(tile)
- return hit_list
- def moving(self, game_map, coins, tile_rects):
- self.collisions = {'left' : False, 'right' : False, 'top' : False, 'bottom' : False}
- #x - I didn't added checker here cause there are not walls
- self.rect.x += self.movement[0]
- hit_list = self.check_if_collide(tile_rects)
- for tile in hit_list:
- if self.movement[0] >= 0:
- self.collisions['right'] = True
- self.rect.right = tile.left
- elif self.movement[0] <= 0:
- self.collisions['left'] = True
- self.rect.left = tile.right
- for coin in coins:
- if self.rect.colliderect(coin[0]):
- self.points += 1
- for tile in game_map[coin[1]]:
- if tile[coin[2]] == [coin[0].x // 32, coin[0].y // 32]:
- print('fgdf')
- else:
- print(tile[coin[2]], [coin[0].x // 32, coin[0].y // 32])
- #y
- self.rect.y += self.movement[1]
- hit_list = self.check_if_collide(tile_rects)
- for tile in hit_list:
- if self.movement[1] >= 0:
- self.collisions['bottom'] = True
- self.rect.bottom = tile.top
- self.movement[1] = 0
- elif self.movement[1] <= 0:
- self.rect.top = tile.bottom
- def jumping(self):
- if self.jump:
- self.movement[1] -= self.jump_vel
- self.jump_vel -= 1
- if self.jump_vel <= 0:
- self.jump = False
- self.jump_vel = 7
- def slowing_down(self):
- keyclick = pygame.key.get_pressed()
- if not keyclick[pygame.K_a] and not keyclick[pygame.K_d]:
- #left stop
- if self.movement[0] * -1 > 0:
- #stopping
- self.movement[0] += 0.25
- #check if we are not going back
- if self.movement[0] >= 0:
- self.movement[0] = 0
- #right stop
- elif self.movement[0] * -1 < 0:
- #stopping
- self.movement[0] -= 0.25
- #check if we are not going back
- if self.movement[0] <= 0:
- self.movement[0] = 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement