I know this is probably overly simple but I am terrible with math.
This is a section from a game I'm attempting with PyGame. Instead of using pixels for coordinates I have my own render function that uses blocks(actually just cnverts block value to pixels), which are 32x32 pixels, so it's easier to make levels. At least I think it will be. :S
Like the title says, if I accidentally put in a pixel value that is not a multiple of 32, my code will raise a ValueError. Instead I want it to round the pixel value to the nearest multiple of 32 and just warn me that it is incorrect.
class graphics():
def __init__(self):
pass
def render(self, sprites):
for sprite, coord in sprites:
surface.blit(sprite, (coord[0], coord[1]))
pygame.display.update()
def PTB(self, pixels): #Pixels to blocks
if pixels == 1024: return 1024/32
if pixels not in range(0, 1024, 32):
raise ValueError("PTB: Pixels not a multiple of 32.")
#instead of an error, round to nearest multiple
else: return pixels / 32
def BTP(self, blocks): #Blocks to pixels
return blocks * 32
gfx = graphics()