Python-project/maps.py

47 lines
1.1 KiB
Python

from os import path
import pygame
walls=pygame.sprite.Group()
bwalls=pygame.sprite.Group()
class Hitbox(pygame.sprite.Sprite):
def __init__(self, x, y, instance):
if instance=='player':
self.groups=walls
elif instance=='bullet':
self.groups=bwalls
pygame.sprite.Sprite.__init__(self, self.groups)
self.image=pygame.Surface((20,20))
self.rect=self.image.get_rect()
self.x=x
self.y=y
self.rect.x=x*20
self.rect.y=y*20
game_folder=path.dirname(__file__)
map_pdata=[]
map_bdata=[]
# player collison map
with open(path.join(game_folder, 'map_player_collision.txt')) as f:
for line in f:
map_pdata.append(line)
for row, tiles in enumerate(map_pdata):
for col, tile in enumerate(tiles):
if tile=='1':
Hitbox(col, row, 'player')
# bullet collision map
with open(path.join(game_folder, 'map_bullet_collision.txt')) as f:
for line in f:
map_bdata.append(line)
for row, tiles in enumerate(map_bdata):
for col, tile in enumerate(tiles):
if tile=='1':
Hitbox(col, row, 'bullet')