arctic-masher/blocks.py

22 lines
773 B
Python
Raw Normal View History

import pygame
from constants import *
2023-05-17 11:04:10 +00:00
class Block:
def __init__(self, x, y, gameMap):
self.x = x
self.y = y
self.gameMap = gameMap
self.sprite = pygame.Rect((x*tile) + 2, (y*tile) + 2, tile - 2, tile - 2)
2023-05-17 11:04:10 +00:00
2023-05-17 11:40:57 +00:00
def pushed(self, x, y, caller, pusher):
2023-05-17 12:09:48 +00:00
if self.x + x > tileCountx - 1 or self.y + y > tileCounty or self.x + x < 0 or self.y + y < 0:
raise Exception("Cannot push off edge!")
2023-05-17 11:40:57 +00:00
if self.gameMap[self.x + x][self.y + y]:
self.gameMap[self.x + x][self.y + y].pushed(x, y, self, pusher)
self.gameMap[self.x][self.y] = 0
self.x += x
self.sprite.x = (self.x*tile)+2
self.y += y
self.sprite.y = (self.y*tile)+2
self.gameMap[self.x][self.y] = self