map_gen_refactor #18
19
SearchBfs.py
19
SearchBfs.py
@ -1,6 +1,6 @@
|
||||
class BreadthSearchAlgorithm:
|
||||
def __init__(self, start, target):
|
||||
self.graph = self.getData()
|
||||
def __init__(self, start, target, mapArray):
|
||||
self.graph = self.getData(mapArray)
|
||||
self.start = start
|
||||
self.target = target
|
||||
|
||||
@ -18,20 +18,21 @@ class BreadthSearchAlgorithm:
|
||||
visited.append(node[0])
|
||||
visitedPrint.append(node)
|
||||
if node[0] == self.target:
|
||||
print('final')
|
||||
print(visitedPrint)
|
||||
return visited
|
||||
# print('final')
|
||||
# print(visitedPrint)
|
||||
return visitedPrint
|
||||
neighbours = self.graph.get(node[0], [])
|
||||
for neighbour in neighbours:
|
||||
can_go.append([neighbour, node[0]])
|
||||
# print(visited)
|
||||
return -1
|
||||
|
||||
def getData(self):
|
||||
def getData(self, mapArray):
|
||||
with open("data.txt", "r") as f:
|
||||
matrix = [
|
||||
[int(x) for x in line.split(",") if x != "\n"] for line in f.readlines()
|
||||
]
|
||||
# matrix = [
|
||||
# [int(x) for x in line.split(",") if x != "\n"] for line in f.readlines()
|
||||
# ]
|
||||
matrix = mapArray
|
||||
adj = {}
|
||||
for yi, yvalue in enumerate(matrix):
|
||||
for xi, xvalue in enumerate(matrix):
|
||||
|
43
agent.py
43
agent.py
@ -1,43 +0,0 @@
|
||||
import pygame.image
|
||||
|
||||
|
||||
class trashmaster(pygame.sprite.Sprite):
|
||||
|
||||
def __init__(self, x, y, img):
|
||||
super().__init__()
|
||||
|
||||
self.width = x
|
||||
self.height = y
|
||||
|
||||
self.x = 0
|
||||
self.y = 0
|
||||
|
||||
self.image = pygame.image.load(img)
|
||||
self.image = pygame.transform.scale(self.image, (self.width, self.height))
|
||||
self.rect = self.image.get_rect()
|
||||
|
||||
def movement(self, key, vel):
|
||||
if key == pygame.K_LEFT:
|
||||
self.x -= vel
|
||||
|
||||
if key == pygame.K_RIGHT:
|
||||
self.x += vel
|
||||
|
||||
if key == pygame.K_UP:
|
||||
self.y -= vel
|
||||
|
||||
if key == pygame.K_DOWN:
|
||||
self.y += vel
|
||||
return (self.x, self.y)
|
||||
|
||||
def move_up(self):
|
||||
self.y -= 64
|
||||
|
||||
def move_down(self):
|
||||
self.y += 64
|
||||
|
||||
def move_right(self):
|
||||
self.x += 64
|
||||
|
||||
def move_left(self):
|
||||
self.x -= 64
|
@ -1,6 +1,6 @@
|
||||
import pygame.image
|
||||
import pygame as pg
|
||||
|
||||
class Dump(pygame.sprite.Sprite):
|
||||
class Dump(pg.sprite.Sprite):
|
||||
# wysypisko
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
@ -8,7 +8,3 @@ class Dump(pygame.sprite.Sprite):
|
||||
self.paper = []
|
||||
self.bio = []
|
||||
self.other_trash = []
|
||||
|
||||
|
||||
|
||||
|
@ -24,6 +24,3 @@ class House(pygame.sprite.Sprite):
|
||||
files = os.listdir(self.base_path)
|
||||
value = randint(0, len(files)-1)
|
||||
return files[value]
|
||||
|
||||
|
||||
|
13
game_objects/obstacle.py
Normal file
13
game_objects/obstacle.py
Normal file
@ -0,0 +1,13 @@
|
||||
import pygame as pg
|
||||
|
||||
class Obstacle(pg.sprite.Sprite):
|
||||
def __init__(self, game, x, y, w, h):
|
||||
self.groups = game.walls
|
||||
pg.sprite.Sprite.__init__(self, self.groups)
|
||||
self.game = game
|
||||
self.rect = pg.Rect(x, y, w, h)
|
||||
self.hit_rect = self.rect
|
||||
self.x = x
|
||||
self.y = y
|
||||
self.rect.x = x
|
||||
self.rect.y = y
|
47
game_objects/player.py
Normal file
47
game_objects/player.py
Normal file
@ -0,0 +1,47 @@
|
||||
import pygame as pg
|
||||
from settings import *
|
||||
from game_objects import utils
|
||||
|
||||
vec = pg.math.Vector2
|
||||
|
||||
class Player(pg.sprite.Sprite):
|
||||
def __init__(self, game, x, y):
|
||||
self.groups = game.agentSprites
|
||||
pg.sprite.Sprite.__init__(self, self.groups)
|
||||
self.game = game
|
||||
self.image = game.player_img
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.center = (x,y)
|
||||
self.hit_rect = PLAYER_HIT_RECT
|
||||
self.hit_rect.center = self.rect.center
|
||||
self.vel = vec(0, 0)
|
||||
self.pos = vec(x, y)
|
||||
self.rot = 0
|
||||
|
||||
|
||||
def get_keys(self):
|
||||
self.rot_speed = 0
|
||||
self.vel = vec(0, 0)
|
||||
keys = pg.key.get_pressed()
|
||||
if keys[pg.K_LEFT] or keys[pg.K_a]:
|
||||
self.rot_speed = PLAYER_ROT_SPEED
|
||||
if keys[pg.K_RIGHT] or keys[pg.K_d]:
|
||||
self.rot_speed = -PLAYER_ROT_SPEED
|
||||
if keys[pg.K_UP] or keys[pg.K_w]:
|
||||
self.vel = vec(PLAYER_SPEED, 0).rotate(-self.rot)
|
||||
if keys[pg.K_DOWN] or keys[pg.K_s]:
|
||||
self.vel = vec(-PLAYER_SPEED / 2, 0).rotate(-self.rot)
|
||||
|
||||
|
||||
def update(self):
|
||||
self.get_keys()
|
||||
self.rot = (self.rot + self.rot_speed * self.game.dt) % 360
|
||||
self.image = pg.transform.rotate(self.game.player_img, self.rot)
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.center = self.pos
|
||||
self.pos += self.vel * self.game.dt
|
||||
self.hit_rect.centerx = self.pos.x
|
||||
utils.collide_with_walls(self, self.game.wallTiles, 'x')
|
||||
self.hit_rect.centery = self.pos.y
|
||||
utils.collide_with_walls(self, self.game.wallTiles, 'y')
|
||||
self.rect.center = self.hit_rect.center
|
18
game_objects/trash.py
Normal file
18
game_objects/trash.py
Normal file
@ -0,0 +1,18 @@
|
||||
import pygame as pg
|
||||
|
||||
class trash(pg.sprite.Sprite):
|
||||
|
||||
def __init__(self,x,y,img, type):
|
||||
super().__init__()
|
||||
|
||||
self.width=16
|
||||
self.height=16
|
||||
|
||||
self.type = type
|
||||
|
||||
self.x = x
|
||||
self.y = y
|
||||
|
||||
self.image = pg.image.load(img)
|
||||
self.image = pg.transform.scale(self.image, (self.x,self.y))
|
||||
self.rect = self.image.get_rect()
|
@ -1,6 +1,6 @@
|
||||
import pygame.image
|
||||
import pygame as pg
|
||||
|
||||
class trashbin(pygame.sprite.Sprite):
|
||||
class trashbin(pg.sprite.Sprite):
|
||||
|
||||
def __init__(self,x,y,img, type):
|
||||
super().__init__()
|
||||
@ -24,6 +24,6 @@ class trashbin(pygame.sprite.Sprite):
|
||||
self.y = y
|
||||
|
||||
# load trashbin image
|
||||
self.image = pygame.image.load(img)
|
||||
self.image = pygame.transform.scale(self.image, (self.x,self.y))
|
||||
self.image = pg.image.load(img)
|
||||
self.image = pg.transform.scale(self.image, (self.x,self.y))
|
||||
self.rect = self.image.get_rect()
|
24
game_objects/utils.py
Normal file
24
game_objects/utils.py
Normal file
@ -0,0 +1,24 @@
|
||||
import pygame as pg
|
||||
|
||||
def collide_hit_rect(one, two):
|
||||
return one.hit_rect.colliderect(two.rect)
|
||||
|
||||
def collide_with_walls(sprite, group, dir):
|
||||
if dir == 'x':
|
||||
hits = pg.sprite.spritecollide(sprite, group, False, collide_hit_rect)
|
||||
if hits:
|
||||
if hits[0].rect.centerx > sprite.hit_rect.centerx:
|
||||
sprite.pos.x = hits[0].rect.left - sprite.hit_rect.width / 2
|
||||
if hits[0].rect.centerx < sprite.hit_rect.centerx:
|
||||
sprite.pos.x = hits[0].rect.right + sprite.hit_rect.width / 2
|
||||
sprite.vel.x = 0
|
||||
sprite.hit_rect.centerx = sprite.pos.x
|
||||
if dir == 'y':
|
||||
hits = pg.sprite.spritecollide(sprite, group, False, collide_hit_rect)
|
||||
if hits:
|
||||
if hits[0].rect.centery > sprite.hit_rect.centery:
|
||||
sprite.pos.y = hits[0].rect.top - sprite.hit_rect.height / 2
|
||||
if hits[0].rect.centery < sprite.hit_rect.centery:
|
||||
sprite.pos.y = hits[0].rect.bottom + sprite.hit_rect.height / 2
|
||||
sprite.vel.y = 0
|
||||
sprite.hit_rect.centery = sprite.pos.y
|
128
main.py
128
main.py
@ -1,16 +1,15 @@
|
||||
from calendar import c
|
||||
from game_objects.player import Player
|
||||
import pygame as pg
|
||||
import sys
|
||||
from os import path
|
||||
|
||||
import SearchBfs
|
||||
from map import *
|
||||
# from agent import trashmaster
|
||||
# from house import House
|
||||
from sprites import *
|
||||
from settings import *
|
||||
from map_new import map_new
|
||||
from map_new import map_utils
|
||||
from map import map
|
||||
from map import map_utils
|
||||
from SearchBfs import *
|
||||
import math
|
||||
|
||||
@ -19,47 +18,50 @@ class Game():
|
||||
|
||||
def __init__(self):
|
||||
pg.init()
|
||||
self.clock = pg.time.Clock()
|
||||
self.screen = pg.display.set_mode((WIDTH, HEIGHT))
|
||||
pg.display.set_caption("Trashmaster")
|
||||
self.clock = pg.time.Clock()
|
||||
self.load_data()
|
||||
self.init_game()
|
||||
self.init_bfs()
|
||||
|
||||
def init_game(self):
|
||||
# initialize all variables and do all the setup for a new game
|
||||
|
||||
# sprite groups and map array for calculations
|
||||
(self.roadTiles, self.wallTiles), self.mapArray = map.get_tiles()
|
||||
self.agentSprites = pg.sprite.Group()
|
||||
|
||||
# player obj
|
||||
self.player = Player(self, 32, 100)
|
||||
|
||||
# camera obj
|
||||
self.camera = map_utils.Camera(MAP_WIDTH_PX, MAP_HEIGHT_PX)
|
||||
|
||||
# other
|
||||
self.draw_debug = False
|
||||
|
||||
def init_bfs(self):
|
||||
start_node = (0, 0)
|
||||
target_node = (18, 18)
|
||||
find_path = BreadthSearchAlgorithm(start_node, target_node, self.mapArray)
|
||||
path = find_path.bfs()
|
||||
# print(path)
|
||||
realPath = []
|
||||
nextNode = target_node
|
||||
for i in range(len(path)-1, 0, -1):
|
||||
node = path[i]
|
||||
if node[0] == nextNode:
|
||||
realPath.insert(0, node[0])
|
||||
nextNode = node[1]
|
||||
print(realPath)
|
||||
|
||||
def load_data(self):
|
||||
game_folder = path.dirname(__file__)
|
||||
img_folder = path.join(game_folder, 'resources/textures')
|
||||
map_folder = path.join(img_folder, 'map')
|
||||
self.map = TiledMap(path.join(map_folder, 'roads.tmx'))
|
||||
self.map_img = self.map.make_map()
|
||||
self.map_rect = self.map_img.get_rect()
|
||||
|
||||
self.player_img = pg.image.load(path.join(img_folder,PLAYER_IMG)).convert_alpha()
|
||||
self.player_img = pg.transform.scale(self.player_img, (PLAYER_WIDTH,PLAYER_HEIGHT) )
|
||||
self.wall_img = pg.image.load(path.join(img_folder, WALL_IMG)).convert_alpha()
|
||||
self.wall_img = pg.transform.scale(self.wall_img, (TILESIZE, TILESIZE))
|
||||
|
||||
# self.new_map = map_new.getMap()
|
||||
|
||||
|
||||
def new(self):
|
||||
# initialize all variables and do all the setup for a new game
|
||||
|
||||
# sprite groups and map array
|
||||
(self.roadTiles, self.wallTiles), self.mapArray = map_new.getTiles()
|
||||
|
||||
self.all_sprites = pg.sprite.Group()
|
||||
self.walls = pg.sprite.Group()
|
||||
|
||||
for tile_object in self.map.tmxdata.objects:
|
||||
if tile_object.name == 'player':
|
||||
self.player = Player(self, tile_object.x, tile_object.y)
|
||||
if tile_object.name == 'wall':
|
||||
Obstacle(self, tile_object.x, tile_object.y, tile_object.width, tile_object.height)
|
||||
|
||||
self.camera = Camera(MAP_WIDTH_PX, MAP_HEIGHT_PX)
|
||||
self.draw_debug = False
|
||||
|
||||
|
||||
# self.screen.blit(self.map_img, self.camera.apply_rect(self.map_rect))
|
||||
|
||||
def run(self):
|
||||
# game loop - set self.playing = False to end the game
|
||||
@ -76,27 +78,25 @@ class Game():
|
||||
|
||||
def update(self):
|
||||
# update portion of the game loop
|
||||
self.all_sprites.update()
|
||||
self.agentSprites.update()
|
||||
self.camera.update(self.player)
|
||||
# pygame.display.update()
|
||||
|
||||
def draw_grid(self):
|
||||
for x in range(0, WIDTH, TILESIZE):
|
||||
pg.draw.line(self.screen, LIGHTGREY, (x, 0), (x, HEIGHT))
|
||||
for y in range(0, HEIGHT, TILESIZE):
|
||||
pg.draw.line(self.screen, LIGHTGREY, (0, y), (WIDTH, y))
|
||||
|
||||
def draw(self):
|
||||
#display fps as window title
|
||||
pg.display.set_caption("{:.2f}".format(self.clock.get_fps()))
|
||||
|
||||
map_new.renderTiles(self.roadTiles, self.screen, self.camera)
|
||||
map_new.renderTiles(self.wallTiles, self.screen, self.camera, self.draw_debug)
|
||||
#rerender map
|
||||
map.render_tiles(self.roadTiles, self.screen, self.camera)
|
||||
map.render_tiles(self.wallTiles, self.screen, self.camera, self.draw_debug)
|
||||
|
||||
for sprite in self.all_sprites:
|
||||
#rerender additional sprites
|
||||
for sprite in self.agentSprites:
|
||||
self.screen.blit(sprite.image, self.camera.apply(sprite))
|
||||
if self.draw_debug:
|
||||
pg.draw.rect(self.screen, CYAN, self.camera.apply_rect(sprite.hit_rect), 1)
|
||||
|
||||
#finally update screen
|
||||
pg.display.flip()
|
||||
|
||||
def events(self):
|
||||
@ -108,8 +108,8 @@ class Game():
|
||||
self.quit()
|
||||
if event.key == pg.K_h:
|
||||
self.draw_debug = not self.draw_debug
|
||||
if event.type == pygame.MOUSEBUTTONUP:
|
||||
pos = pygame.mouse.get_pos()
|
||||
if event.type == pg.MOUSEBUTTONUP:
|
||||
pos = pg.mouse.get_pos()
|
||||
clicked_coords = [math.floor(pos[0] / TILESIZE), math.floor(pos[1] / TILESIZE)]
|
||||
print(clicked_coords)
|
||||
|
||||
@ -119,43 +119,9 @@ class Game():
|
||||
def show_go_screen(self):
|
||||
pass
|
||||
|
||||
# def main():
|
||||
# game = WalleGame()
|
||||
# game.update_window()
|
||||
|
||||
# smieciara_object = trashmaster(16,16,"./resources/textures/garbagetruck/trashmaster_blu.png")
|
||||
# game.draw_object(smieciara_object, (100, 100))
|
||||
|
||||
# #house_object = House(20, 20)
|
||||
# # Test draw house object
|
||||
# #game.draw_object(house_object, (20,20))
|
||||
|
||||
# game.update_window()
|
||||
|
||||
# running = True
|
||||
|
||||
# while running:
|
||||
# for event in pygame.event.get():
|
||||
# if event.type == pygame.QUIT:
|
||||
# running = False
|
||||
# if event.type == pygame.KEYDOWN:
|
||||
# game.reloadMap()
|
||||
# game.draw_object(smieciara_object, smieciara_object.movement(event.key, 16))
|
||||
|
||||
# game.update_window()
|
||||
|
||||
# pygame.quit()
|
||||
# if __name__ == '__main__':
|
||||
# main()
|
||||
|
||||
start_node = (0, 0)
|
||||
target_node = (2, 2)
|
||||
find_path = BreadthSearchAlgorithm(start_node, target_node)
|
||||
# create the game object
|
||||
g = Game()
|
||||
g.show_start_screen()
|
||||
while True:
|
||||
g.new()
|
||||
path_found = find_path.bfs()
|
||||
g.run()
|
||||
g.show_go_screen()
|
||||
|
67
map.py
67
map.py
@ -1,67 +0,0 @@
|
||||
import pygame as pg
|
||||
from settings import *
|
||||
import pytmx
|
||||
|
||||
# config
|
||||
# TILE_SIZE = 16
|
||||
|
||||
# def preparedMap(screenSize):
|
||||
# tileImage = pg.image.load('tile1.png')
|
||||
# surface = pg.Surface(screenSize)
|
||||
|
||||
# for x in range(0, screenSize[0], TILE_SIZE):
|
||||
# for y in range(0, screenSize[1], TILE_SIZE):
|
||||
# surface.blit(tileImage, (x, y))
|
||||
# return surface
|
||||
|
||||
def collide_hit_rect(one, two):
|
||||
return one.hit_rect.colliderect(two.rect)
|
||||
class TiledMap:
|
||||
#loading file
|
||||
def __init__(self, filename):
|
||||
tm = pytmx.load_pygame(filename, pixelalpha=True)
|
||||
self.width = tm.width * tm.tilewidth
|
||||
self.height = tm.height * tm.tileheight
|
||||
self.tmxdata = tm
|
||||
|
||||
#rendering map
|
||||
def render(self, surface):
|
||||
ti = self.tmxdata.get_tile_image_by_gid
|
||||
for layer in self.tmxdata.visible_layers:
|
||||
if isinstance(layer, pytmx.TiledTileLayer):
|
||||
for x, y, gid, in layer:
|
||||
tile = ti(gid)
|
||||
if tile:
|
||||
surface.blit(tile, (x * self.tmxdata.tilewidth, y * self.tmxdata.tilewidth))
|
||||
|
||||
def make_map(self):
|
||||
temp_surface = pg.Surface((self.width, self.height))
|
||||
self.render(temp_surface)
|
||||
return temp_surface
|
||||
|
||||
class Camera:
|
||||
def __init__(self,width,height):
|
||||
self.camera = pg.Rect(0,0, width, height)
|
||||
self.width = width
|
||||
self.height = height
|
||||
|
||||
def apply(self,entity):
|
||||
return entity.rect.move(self.camera.topleft)
|
||||
|
||||
def apply_rect(self, rect):
|
||||
return rect.move(self.camera.topleft)
|
||||
|
||||
def update(self,target):
|
||||
x = -target.rect.x + int(WIDTH/2)
|
||||
y = -target.rect.y + int(HEIGHT / 2)
|
||||
|
||||
# limit scrolling to map size
|
||||
x = min(0, x) # left
|
||||
y = min(0, y) # top
|
||||
x = max(-(self.width - WIDTH), x) # right
|
||||
y = max(-(self.height - HEIGHT), y) # bottom
|
||||
self.camera = pg.Rect(x, y, self.width, self.height)
|
||||
|
||||
|
||||
|
||||
|
24
map/camera.py
Normal file
24
map/camera.py
Normal file
@ -0,0 +1,24 @@
|
||||
from settings import *
|
||||
|
||||
class Camera:
|
||||
def __init__(self,width,height):
|
||||
self.camera = pg.Rect(0,0, width, height)
|
||||
self.width = width
|
||||
self.height = height
|
||||
|
||||
def apply(self,entity):
|
||||
return entity.rect.move(self.camera.topleft)
|
||||
|
||||
def apply_rect(self, rect):
|
||||
return rect.move(self.camera.topleft)
|
||||
|
||||
def update(self,target):
|
||||
x = -target.rect.x + int(WIDTH/2)
|
||||
y = -target.rect.y + int(HEIGHT / 2)
|
||||
|
||||
# limit scrolling to map size
|
||||
x = min(0, x) # left
|
||||
y = min(0, y) # top
|
||||
x = max(-(self.width - WIDTH), x) # right
|
||||
y = max(-(self.height - HEIGHT), y) # bottom
|
||||
self.camera = pg.Rect(x, y, self.width, self.height)
|
16
map/map.py
Normal file
16
map/map.py
Normal file
@ -0,0 +1,16 @@
|
||||
from map import map_utils
|
||||
from map import map_pattern
|
||||
import pygame as pg
|
||||
from settings import *
|
||||
|
||||
def get_tiles():
|
||||
array = map_utils.generate_map()
|
||||
pattern = map_pattern.get_pattern()
|
||||
tiles = map_utils.get_sprites(array, pattern)
|
||||
return tiles, array
|
||||
|
||||
def render_tiles(tiles, screen, camera, debug=False):
|
||||
for tile in tiles:
|
||||
screen.blit(tile.image, camera.apply_rect(tile.rect))
|
||||
if debug:
|
||||
pg.draw.rect(screen, RED, camera.apply_rect(tile.rect), 1)
|
@ -7,11 +7,11 @@ TEXTURES_DIR = HERE_DIR.rpartition(os.sep)[0]+"\\resources\\textures"
|
||||
ROAD_DIR = TEXTURES_DIR+"\\road\\"
|
||||
BUILDING_DIR = TEXTURES_DIR+"\\buliding\\"
|
||||
|
||||
def loadImg(path):
|
||||
def load_img(path):
|
||||
return pg.image.load(path)
|
||||
|
||||
def getPattern():
|
||||
def get_pattern():
|
||||
return {
|
||||
0: loadImg(ROAD_DIR+"GTA2_TILE_257.bmp"),
|
||||
1: loadImg(BUILDING_DIR+"GTA2_TILE_187.bmp"),
|
||||
0: load_img(ROAD_DIR+"GTA2_TILE_257.bmp"),
|
||||
1: load_img(BUILDING_DIR+"GTA2_TILE_187.bmp"),
|
||||
}
|
@ -1,16 +1,16 @@
|
||||
import random
|
||||
import pygame as pg
|
||||
from settings import *
|
||||
from map_new.tile import Tile
|
||||
from map.tile import Tile
|
||||
|
||||
# tworzenie pustego arraya o podanych wymiarach
|
||||
def getBlankMapArray():
|
||||
def get_blank_map_array():
|
||||
map = [[0 for x in range(0,MAP_WIDTH)] for y in range (0,MAP_HEIGHT)]
|
||||
return map
|
||||
|
||||
# generowanie obiektow na mapie
|
||||
def generateMap():
|
||||
map = getBlankMapArray()
|
||||
def generate_map():
|
||||
map = get_blank_map_array()
|
||||
for i in range(0, 20):
|
||||
x = random.randint(0, MAP_WIDTH-1)
|
||||
y = random.randint(0, MAP_HEIGHT-1)
|
||||
@ -18,7 +18,7 @@ def generateMap():
|
||||
return map
|
||||
|
||||
# tworzenie grup sprite'ow
|
||||
def getSprites(map, pattern):
|
||||
def get_sprites(map, pattern):
|
||||
roadTiles = pg.sprite.Group()
|
||||
wallTiles = pg.sprite.Group()
|
||||
|
||||
@ -36,6 +36,29 @@ def getSprites(map, pattern):
|
||||
|
||||
return roadTiles, wallTiles
|
||||
|
||||
class Camera:
|
||||
def __init__(self,width,height):
|
||||
self.camera = pg.Rect(0,0, width, height)
|
||||
self.width = width
|
||||
self.height = height
|
||||
|
||||
def apply(self,entity):
|
||||
return entity.rect.move(self.camera.topleft)
|
||||
|
||||
def apply_rect(self, rect):
|
||||
return rect.move(self.camera.topleft)
|
||||
|
||||
def update(self,target):
|
||||
x = -target.rect.x + int(WIDTH/2)
|
||||
y = -target.rect.y + int(HEIGHT / 2)
|
||||
|
||||
# limit scrolling to map size
|
||||
x = min(0, x) # left
|
||||
y = min(0, y) # top
|
||||
x = max(-(self.width - WIDTH), x) # right
|
||||
y = max(-(self.height - HEIGHT), y) # bottom
|
||||
self.camera = pg.Rect(x, y, self.width, self.height)
|
||||
|
||||
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
from map_new import map_utils
|
||||
from map_new import map_pattern
|
||||
import pygame as pg
|
||||
from settings import *
|
||||
|
||||
def getTiles():
|
||||
array = map_utils.generateMap()
|
||||
pattern = map_pattern.getPattern()
|
||||
tiles = map_utils.getSprites(array, pattern)
|
||||
return tiles, array
|
||||
|
||||
def renderTiles(tiles, screen, camera, debug=False):
|
||||
for tile in tiles:
|
||||
screen.blit(tile.image, camera.apply_rect(tile.rect))
|
||||
if debug:
|
||||
pg.draw.rect(screen, RED, camera.apply_rect(tile.rect), 1)
|
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.8" tiledversion="1.8.2" name="Ground" tilewidth="1" tileheight="1" tilecount="0" columns="0"/>
|
@ -1,142 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.8" tiledversion="1.8.2" name="Roads" tilewidth="64" tileheight="64" tilecount="46" columns="0">
|
||||
<grid orientation="orthogonal" width="1" height="1"/>
|
||||
<tile id="0">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_257.bmp"/>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_262.bmp"/>
|
||||
</tile>
|
||||
<tile id="2">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_263.bmp"/>
|
||||
</tile>
|
||||
<tile id="3">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_268.bmp"/>
|
||||
</tile>
|
||||
<tile id="4">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_270.bmp"/>
|
||||
</tile>
|
||||
<tile id="5">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_272.bmp"/>
|
||||
</tile>
|
||||
<tile id="6">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_273.bmp"/>
|
||||
</tile>
|
||||
<tile id="7">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_275.bmp"/>
|
||||
</tile>
|
||||
<tile id="8">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_278.bmp"/>
|
||||
</tile>
|
||||
<tile id="9">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_279.bmp"/>
|
||||
</tile>
|
||||
<tile id="10">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_673.bmp"/>
|
||||
</tile>
|
||||
<tile id="11">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_681.bmp"/>
|
||||
</tile>
|
||||
<tile id="12">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_682.bmp"/>
|
||||
</tile>
|
||||
<tile id="14">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_684.bmp"/>
|
||||
</tile>
|
||||
<tile id="15">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_687.bmp"/>
|
||||
</tile>
|
||||
<tile id="16">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_689.bmp"/>
|
||||
</tile>
|
||||
<tile id="17">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_695.bmp"/>
|
||||
</tile>
|
||||
<tile id="18">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_697.bmp"/>
|
||||
</tile>
|
||||
<tile id="19">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_698.bmp"/>
|
||||
</tile>
|
||||
<tile id="20">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_699.bmp"/>
|
||||
</tile>
|
||||
<tile id="21">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_700.bmp"/>
|
||||
</tile>
|
||||
<tile id="22">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_703.bmp"/>
|
||||
</tile>
|
||||
<tile id="23">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_803.bmp"/>
|
||||
</tile>
|
||||
<tile id="24">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_806.bmp"/>
|
||||
</tile>
|
||||
<tile id="25">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_807.bmp"/>
|
||||
</tile>
|
||||
<tile id="26">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_810.bmp"/>
|
||||
</tile>
|
||||
<tile id="27">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_812.bmp"/>
|
||||
</tile>
|
||||
<tile id="28">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_814.bmp"/>
|
||||
</tile>
|
||||
<tile id="29">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_815.bmp"/>
|
||||
</tile>
|
||||
<tile id="30">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_816.bmp"/>
|
||||
</tile>
|
||||
<tile id="31">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_817.bmp"/>
|
||||
</tile>
|
||||
<tile id="32">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_821.bmp"/>
|
||||
</tile>
|
||||
<tile id="33">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_829.bmp"/>
|
||||
</tile>
|
||||
<tile id="34">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_830.bmp"/>
|
||||
</tile>
|
||||
<tile id="35">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_967.bmp"/>
|
||||
</tile>
|
||||
<tile id="36">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_969.bmp"/>
|
||||
</tile>
|
||||
<tile id="37">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_972.bmp"/>
|
||||
</tile>
|
||||
<tile id="38">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_975.bmp"/>
|
||||
</tile>
|
||||
<tile id="39">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_976.bmp"/>
|
||||
</tile>
|
||||
<tile id="40">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_977.bmp"/>
|
||||
</tile>
|
||||
<tile id="41">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_988.bmp"/>
|
||||
</tile>
|
||||
<tile id="42">
|
||||
<image width="64" height="64" source="road/GTA2_TILE_991.bmp"/>
|
||||
</tile>
|
||||
<tile id="44">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_573.bmp"/>
|
||||
</tile>
|
||||
<tile id="45">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_574.bmp"/>
|
||||
</tile>
|
||||
<tile id="46">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_688.bmp"/>
|
||||
</tile>
|
||||
<tile id="47">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_693.bmp"/>
|
||||
</tile>
|
||||
</tileset>
|
@ -1,49 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.8" tiledversion="1.8.2" name="Trash" tilewidth="32" tileheight="30" tilecount="15" columns="0">
|
||||
<grid orientation="orthogonal" width="1" height="1"/>
|
||||
<tile id="0">
|
||||
<image width="16" height="16" source="misc/GTA2_CODE OBJECT_561.bmp"/>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<image width="32" height="30" source="misc/GTA2_CODE OBJECT_1061.bmp"/>
|
||||
</tile>
|
||||
<tile id="2">
|
||||
<image width="32" height="30" source="misc/GTA2_CODE OBJECT_1062.bmp"/>
|
||||
</tile>
|
||||
<tile id="3">
|
||||
<image width="32" height="30" source="misc/GTA2_CODE OBJECT_1063.bmp"/>
|
||||
</tile>
|
||||
<tile id="4">
|
||||
<image width="32" height="24" source="misc/GTA2_MAP OBJECT_1103.bmp"/>
|
||||
</tile>
|
||||
<tile id="5">
|
||||
<image width="32" height="26" source="misc/GTA2_MAP OBJECT_1104.bmp"/>
|
||||
</tile>
|
||||
<tile id="6">
|
||||
<image width="30" height="28" source="misc/GTA2_MAP OBJECT_1106.bmp"/>
|
||||
</tile>
|
||||
<tile id="7">
|
||||
<image width="16" height="16" source="misc/GTA2_MAP OBJECT_1115.bmp"/>
|
||||
</tile>
|
||||
<tile id="8">
|
||||
<image width="16" height="16" source="misc/GTA2_MAP OBJECT_1127.bmp"/>
|
||||
</tile>
|
||||
<tile id="10">
|
||||
<image width="16" height="14" source="misc/GTA2_MAP OBJECT_1172.bmp"/>
|
||||
</tile>
|
||||
<tile id="11">
|
||||
<image width="16" height="14" source="misc/GTA2_MAP OBJECT_1175.bmp"/>
|
||||
</tile>
|
||||
<tile id="9">
|
||||
<image width="14" height="10" source="misc/GTA2_MAP OBJECT_1131.bmp"/>
|
||||
</tile>
|
||||
<tile id="12">
|
||||
<image width="16" height="16" source="misc/GTA2_MAP OBJECT_1188.bmp"/>
|
||||
</tile>
|
||||
<tile id="13">
|
||||
<image width="20" height="18" source="misc/GTA2_MAP OBJECT_1189.bmp"/>
|
||||
</tile>
|
||||
<tile id="14">
|
||||
<image width="20" height="27" source="misc/GTA2_USER OBJECT_1294.bmp"/>
|
||||
</tile>
|
||||
</tileset>
|
@ -1,139 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.8" tiledversion="1.8.2" name="Walls" tilewidth="64" tileheight="64" tilecount="45" columns="0">
|
||||
<grid orientation="orthogonal" width="1" height="1"/>
|
||||
<tile id="0">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_473.bmp"/>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_474.bmp"/>
|
||||
</tile>
|
||||
<tile id="2">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_475.bmp"/>
|
||||
</tile>
|
||||
<tile id="3">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_561.bmp"/>
|
||||
</tile>
|
||||
<tile id="4">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_194.bmp"/>
|
||||
</tile>
|
||||
<tile id="5">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_196.bmp"/>
|
||||
</tile>
|
||||
<tile id="6">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_216.bmp"/>
|
||||
</tile>
|
||||
<tile id="7">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_222.bmp"/>
|
||||
</tile>
|
||||
<tile id="8">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_608.bmp"/>
|
||||
</tile>
|
||||
<tile id="9">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_612.bmp"/>
|
||||
</tile>
|
||||
<tile id="10">
|
||||
<image width="64" height="64" source="edge/GTA2_TILE_619.bmp"/>
|
||||
</tile>
|
||||
<tile id="11">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_25.bmp"/>
|
||||
</tile>
|
||||
<tile id="12">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_26.bmp"/>
|
||||
</tile>
|
||||
<tile id="13">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_37.bmp"/>
|
||||
</tile>
|
||||
<tile id="14">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_112.bmp"/>
|
||||
</tile>
|
||||
<tile id="15">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_187.bmp"/>
|
||||
</tile>
|
||||
<tile id="16">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_231.bmp"/>
|
||||
</tile>
|
||||
<tile id="17">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_271.bmp"/>
|
||||
</tile>
|
||||
<tile id="18">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_280.bmp"/>
|
||||
</tile>
|
||||
<tile id="19">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_296.bmp"/>
|
||||
</tile>
|
||||
<tile id="20">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_307.bmp"/>
|
||||
</tile>
|
||||
<tile id="21">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_400.bmp"/>
|
||||
</tile>
|
||||
<tile id="22">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_408.bmp"/>
|
||||
</tile>
|
||||
<tile id="23">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_416.bmp"/>
|
||||
</tile>
|
||||
<tile id="24">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_622.bmp"/>
|
||||
</tile>
|
||||
<tile id="25">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_728.bmp"/>
|
||||
</tile>
|
||||
<tile id="26">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_729.bmp"/>
|
||||
</tile>
|
||||
<tile id="27">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_730.bmp"/>
|
||||
</tile>
|
||||
<tile id="28">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_733.bmp"/>
|
||||
</tile>
|
||||
<tile id="29">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_742.bmp"/>
|
||||
</tile>
|
||||
<tile id="30">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_743.bmp"/>
|
||||
</tile>
|
||||
<tile id="31">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_760.bmp"/>
|
||||
</tile>
|
||||
<tile id="32">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_761.bmp"/>
|
||||
</tile>
|
||||
<tile id="33">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_805.bmp"/>
|
||||
</tile>
|
||||
<tile id="34">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_837.bmp"/>
|
||||
</tile>
|
||||
<tile id="35">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_842.bmp"/>
|
||||
</tile>
|
||||
<tile id="36">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_844.bmp"/>
|
||||
</tile>
|
||||
<tile id="37">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_846.bmp"/>
|
||||
</tile>
|
||||
<tile id="38">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_855.bmp"/>
|
||||
</tile>
|
||||
<tile id="39">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_861.bmp"/>
|
||||
</tile>
|
||||
<tile id="40">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_913.bmp"/>
|
||||
</tile>
|
||||
<tile id="41">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_915.bmp"/>
|
||||
</tile>
|
||||
<tile id="42">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_922.bmp"/>
|
||||
</tile>
|
||||
<tile id="43">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_923.bmp"/>
|
||||
</tile>
|
||||
<tile id="44">
|
||||
<image width="64" height="64" source="buliding/GTA2_TILE_983.bmp"/>
|
||||
</tile>
|
||||
</tileset>
|
@ -1,143 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.8" tiledversion="1.8.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="64" tileheight="64" infinite="0" nextlayerid="6" nextobjectid="1">
|
||||
<tileset firstgid="1" source="../Walls.tsx"/>
|
||||
<tileset firstgid="46" source="../Roads.tsx"/>
|
||||
<tileset firstgid="94" source="../Trash.tsx"/>
|
||||
<tileset firstgid="109" source="../player.tsx"/>
|
||||
<layer id="5" name="Ground" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,536870916,1610612829,67,75,1073741900,75,75,75,1073741895,0,3221225543,62,61,3221225528,3221225535,1610612793,61,62,3221225551,0,0,0,0,2684354639,0,0,0,0,0,
|
||||
0,0,91,2684354626,0,536870987,0,0,0,1610612811,0,1610612811,0,0,1610612799,0,536870975,0,0,0,2684354639,0,0,0,2684354623,0,3221225519,3221225551,0,0,
|
||||
0,0,90,3758096461,0,536870987,0,0,0,2147483719,1073741900,71,0,0,1610612815,0,1610612799,0,0,0,2684354618,61,62,2684354616,1610612793,0,1610612789,0,0,0,
|
||||
0,0,3221225543,70,0,2147483719,75,1073741895,0,0,1610612811,0,0,0,0,0,1610612798,0,0,0,2684354623,0,0,2684354617,58,0,2684354607,3221225518,0,0,
|
||||
0,0,1610612811,0,0,0,0,1610612811,0,0,1610612811,0,3758096442,61,61,1073741887,3221225528,3221225535,1073741885,1073741885,2147483706,58,0,1610612799,0,2684354639,0,1610612791,0,0,
|
||||
0,0,1610612811,0,536870991,0,0,1610612811,0,0,1610612811,0,1610612800,0,0,0,2684354621,0,0,0,0,2684354622,0,2684354611,3221225524,3221225521,3221225525,1610612787,0,0,
|
||||
0,0,1610612811,0,1610612814,0,0,2684354636,75,75,536870988,0,1610612804,0,0,0,2684354623,0,2684354639,0,0,3758096445,0,1610612789,0,1610612791,0,2684354612,0,0,
|
||||
0,0,1610612811,0,1610612803,0,3221225543,536870983,0,0,2684354631,75,1610612809,0,2684354639,0,2684354624,0,2684354633,1610612807,0,1610612815,0,1610612788,0,2684354638,0,2684354613,0,0,
|
||||
0,0,2684354636,77,76,75,1610612812,0,0,2684354639,0,0,1610612813,0,2684354627,75,71,0,0,2684354635,0,0,0,1610612791,0,1610612815,0,2684354628,0,0,
|
||||
0,0,3758096459,0,0,0,2684354637,0,0,2684354635,0,0,2684354635,0,2684354635,0,0,0,0,1610612791,0,0,0,2684354638,0,0,0,2684354638,0,0,
|
||||
0,0,3758096459,0,0,0,3758096460,75,75,3221225545,3221225547,78,1610612809,3221225549,76,3221225518,55,2147483703,3221225523,51,0,3221225519,53,3221225521,53,3221225523,3221225527,3221225518,0,0,
|
||||
0,0,2147483719,1073741895,0,0,1610612802,0,0,2684354626,0,0,2684354635,0,0,1610612789,0,0,1610612791,0,0,1610612788,0,2684354638,0,1610612789,0,1610612791,0,0,
|
||||
0,0,0,2684354636,75,75,76,75,75,3221225549,3221225547,3221225547,3221225545,0,0,1610612791,0,79,1610612785,3221225551,0,1610612789,0,1610612815,0,1610612788,0,1610612815,0,0,
|
||||
0,0,0,1610612811,0,0,0,0,0,0,0,0,1610612811,0,0,1610612790,0,0,1610612791,0,0,1610612791,0,0,0,1610612789,0,0,0,0,
|
||||
0,0,0,1610612811,0,0,3221225543,3221225547,78,1610612807,0,0,1610612811,0,0,2684354610,3221225521,3221225524,51,3221225527,78,1610612785,54,3221225524,3221225525,1610612785,78,3221225551,0,0,
|
||||
0,0,0,1610612811,0,0,2684354635,0,0,1610612811,0,0,2684354637,0,0,0,2684354614,0,0,0,0,1610612789,0,0,0,1610612789,0,0,0,0,
|
||||
0,0,0,1610612811,0,0,2684354635,0,0,2684354635,0,0,1610612811,0,79,3221225537,2684354610,78,3221225551,0,0,1610612815,0,0,0,1610612791,0,0,0,0,
|
||||
0,0,0,3758096460,3221225547,75,3221225545,64,75,76,3221225548,75,70,0,0,0,2684354638,0,0,0,0,0,0,0,0,1610612813,0,0,0,0,
|
||||
0,0,0,1610612811,0,0,1610612809,0,0,0,1610612815,0,0,0,3221225544,67,2684354610,3221225548,66,64,3221225548,77,3221225548,75,75,1610612809,3221225551,0,0,0,
|
||||
0,0,0,1610612811,0,79,76,77,1073741895,0,0,0,0,0,2684354624,0,0,2684354625,0,0,1610612815,0,1610612801,0,0,2684354638,0,0,0,0,
|
||||
0,0,0,1610612811,0,0,0,0,74,0,3221225543,75,77,3221225545,70,0,0,2684354624,0,0,0,0,1610612815,0,3221225543,76,1610612806,0,0,0,
|
||||
0,0,0,2684354631,3221225547,3221225548,3221225547,3221225547,1610612812,0,1610612802,0,0,1610612815,0,0,3221225553,85,88,1610612817,0,0,0,0,1610612800,0,2684354628,0,0,0,
|
||||
0,0,0,0,0,2684354635,0,0,2684354636,77,71,0,0,0,0,0,2684354644,0,0,1610612823,0,0,0,0,2684354625,0,2684354625,0,0,0,
|
||||
0,0,0,536870991,0,2684354624,0,79,536870992,0,0,3221225553,1073741908,1073741908,3221225557,88,85,1610612817,0,2684354645,84,84,3221225557,88,85,84,1610612821,0,0,0,
|
||||
0,0,0,3758096462,0,2684354635,0,0,0,0,0,536870996,0,0,536870996,0,0,2684354644,0,2684354646,0,0,2684354644,0,0,0,1610612819,0,0,0,
|
||||
0,0,0,2147483728,78,76,84,84,84,84,84,81,0,0,1610612815,0,0,2684354641,86,85,87,84,81,0,79,87,82,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="3" name="Walls" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
|
||||
11,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,
|
||||
11,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,2684354599,35,17,25,0,24,29,33,7,11,
|
||||
11,7,0,0,23,0,17,14,12,0,13,0,16,13,0,24,0,42,13,25,0,45,22,29,0,44,0,0,7,11,
|
||||
11,7,0,0,15,0,45,37,17,0,0,0,24,12,0,45,0,44,24,14,0,0,0,0,0,37,0,23,7,11,
|
||||
11,7,0,0,13,0,0,0,41,25,0,20,16,41,22,35,0,29,37,21,0,17,42,0,0,25,0,0,7,11,
|
||||
11,7,0,26,27,28,29,0,21,43,0,29,0,0,0,0,0,0,0,0,0,0,43,0,536870952,0,2684354599,0,7,11,
|
||||
11,7,0,14,0,24,21,0,15,33,0,21,0,43,21,33,0,45,30,31,16,0,12,0,0,0,0,0,7,11,
|
||||
11,7,0,42,0,22,20,0,0,0,0,44,0,20,40,16,0,43,0,33,13,0,45,0,17,0,43,0,7,11,
|
||||
11,7,0,25,0,13,0,0,15,24,0,0,0,41,0,29,0,15,0,0,44,0,37,0,21,0,24,0,7,11,
|
||||
11,7,0,0,0,0,0,33,29,0,17,12,0,21,0,0,0,17,43,0,13,29,41,0,24,0,13,0,7,11,
|
||||
11,7,0,15,18,45,0,13,41,0,24,16,0,23,0,13,41,22,16,0,20,32,17,0,29,25,35,0,7,11,
|
||||
11,7,0,25,35,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,7,11,
|
||||
11,7,0,0,34,19,0,44,15,0,2684354596,2684354596,0,18,24,0,17,35,0,41,25,0,41,0,13,0,44,0,7,11,
|
||||
11,7,24,0,0,0,0,0,0,0,0,0,0,42,20,0,16,0,0,0,24,0,21,0,18,0,25,0,7,9,
|
||||
11,7,22,0,33,13,16,43,21,20,29,15,0,41,24,0,29,13,0,16,43,0,18,24,42,0,42,23,7,9,
|
||||
11,7,21,0,21,20,0,0,0,0,41,44,0,42,15,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,
|
||||
11,7,24,0,41,24,0,3221225510,1610612774,0,24,21,0,13,40,20,0,17,32,15,44,0,26,27,28,0,18,25,7,11,
|
||||
11,7,18,0,44,12,0,2684354598,38,0,17,22,0,41,0,0,0,0,0,24,20,0,21,35,33,0,12,24,7,11,
|
||||
11,7,13,0,0,0,0,0,0,0,0,0,0,12,15,21,0,13,35,18,41,37,43,39,15,0,22,18,7,11,
|
||||
11,7,15,0,43,15,0,33,17,41,0,29,18,33,0,0,0,0,0,0,0,0,0,0,0,0,0,24,7,11,
|
||||
11,7,13,0,25,0,0,0,0,39,21,42,44,14,0,18,45,0,13,14,0,29,0,42,13,0,25,35,7,11,
|
||||
11,7,24,0,14,18,23,24,0,13,0,0,0,0,0,21,42,0,41,15,2684354599,21,0,15,0,0,0,24,7,11,
|
||||
11,7,18,0,0,0,0,0,0,3221225508,0,21,15,0,41,29,0,0,0,0,43,14,18,42,0,14,0,18,7,11,
|
||||
11,7,14,40,43,0,43,14,0,0,0,29,17,18,22,24,0,17,23,0,13,30,31,25,0,33,0,32,7,11,
|
||||
11,7,14,0,44,0,12,0,0,24,14,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,15,7,11,
|
||||
11,7,25,0,29,0,14,13,25,14,43,0,15,13,0,44,33,0,25,0,13,44,0,43,15,44,0,42,7,11,
|
||||
11,7,23,0,0,0,0,0,0,0,0,0,32,45,0,35,25,0,0,0,0,0,0,32,0,0,0,18,7,11,
|
||||
11,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,
|
||||
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="4" name="Player" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,536871021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="2" name="Trash" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,3221225579,0,0,0,0,0,0,0,0,106,0,0,0,3221225579,0,0,0,0,3221225579,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,1610612836,0,0,0,0,0,0,1610612836,0,0,0,3221225579,0,0,0,2684354662,0,0,3221225579,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,1610612836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,107,0,0,
|
||||
0,0,0,0,0,0,0,3221225579,0,0,0,0,0,0,3221225570,0,0,0,106,0,0,0,0,0,0,105,0,0,0,0,
|
||||
0,0,0,0,101,0,0,0,0,0,107,0,2684354662,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354662,0,0,0,
|
||||
0,0,2684354658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,101,0,0,0,0,0,0,3221225579,0,0,0,0,0,0,0,0,0,0,0,0,3221225579,0,0,
|
||||
0,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,3758096482,0,0,0,0,0,105,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,101,0,101,0,0,106,0,0,101,0,536871010,0,105,0,0,0,3221225579,0,0,
|
||||
0,0,101,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,105,0,105,0,106,0,0,0,536871013,0,0,0,1610612834,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,106,0,105,0,0,0,0,0,0,2684354658,0,0,0,0,0,0,0,0,1073741922,0,0,536871013,0,0,
|
||||
0,0,0,105,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354665,0,0,0,102,0,0,2684354665,0,0,0,107,0,0,0,0,
|
||||
0,0,0,0,0,0,0,98,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,2147483746,0,106,0,0,0,
|
||||
0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354658,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,1610612834,0,0,0,0,2684354665,0,0,0,105,0,0,0,
|
||||
0,0,0,0,0,105,0,0,0,0,0,0,0,101,0,0,0,0,3221225579,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,107,0,0,0,3221225574,0,0,0,0,0,536871013,0,107,0,0,0,0,0,3221225570,0,0,0,0,536871013,0,0,0,
|
||||
0,0,0,0,0,1610612834,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354658,0,0,0,
|
||||
0,0,0,0,105,0,0,0,101,0,3221225570,0,0,0,101,0,0,536871013,0,0,101,0,107,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
</map>
|
@ -1,335 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.8" tiledversion="1.8.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="64" tileheight="64" infinite="0" nextlayerid="7" nextobjectid="193">
|
||||
<tileset firstgid="1" source="../Walls.tsx"/>
|
||||
<tileset firstgid="46" source="../Roads.tsx"/>
|
||||
<tileset firstgid="94" source="../Trash.tsx"/>
|
||||
<tileset firstgid="109" source="../player.tsx"/>
|
||||
<layer id="5" name="Ground" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,536870916,1610612829,78,78,78,78,78,78,78,0,78,78,78,78,78,78,78,78,3221225551,0,0,0,0,2684354639,0,0,0,0,0,
|
||||
0,0,91,50,0,50,0,0,0,50,0,50,0,0,50,0,50,0,0,0,2684354639,0,0,0,50,0,78,3221225551,0,0,
|
||||
0,0,90,50,0,50,0,0,0,50,50,50,0,0,1610612815,0,50,0,0,0,78,78,78,78,78,0,50,0,0,0,
|
||||
0,0,50,50,0,78,78,78,0,0,50,0,0,0,0,0,50,0,0,0,50,0,0,78,78,0,78,78,0,0,
|
||||
0,0,50,0,0,0,0,50,0,0,50,0,78,78,78,78,78,78,78,78,78,78,0,50,0,2684354639,0,50,0,0,
|
||||
0,0,50,0,536870991,0,0,50,0,0,50,0,50,0,0,0,50,0,0,0,0,50,0,78,78,78,78,78,0,0,
|
||||
0,0,50,0,50,0,0,78,78,78,78,0,50,0,0,0,50,0,2684354639,0,0,50,0,50,0,50,0,50,0,0,
|
||||
0,0,50,0,50,0,78,78,0,0,50,50,50,0,2684354639,0,50,0,50,50,0,1610612815,0,50,0,2684354638,0,50,0,0,
|
||||
0,0,78,78,78,78,78,0,0,2684354639,0,0,50,0,50,50,50,0,0,50,0,0,0,50,0,1610612815,0,50,0,0,
|
||||
0,0,50,0,0,0,50,0,0,50,0,0,50,0,50,0,0,0,0,50,0,0,0,2684354638,0,0,0,2684354638,0,0,
|
||||
0,0,50,0,0,0,78,78,78,78,78,78,78,78,78,78,78,78,78,78,0,78,78,78,78,78,78,78,0,0,
|
||||
0,0,78,78,0,0,50,0,0,50,0,0,50,0,0,50,0,0,50,0,0,50,0,2684354638,0,50,0,50,0,0,
|
||||
0,0,0,78,78,78,78,78,78,78,78,78,78,0,0,50,0,79,50,3221225551,0,50,0,1610612815,0,50,0,1610612815,0,0,
|
||||
0,0,0,50,0,0,0,0,0,0,0,0,50,0,0,1610612790,0,0,50,0,0,50,0,0,0,50,0,0,0,0,
|
||||
0,0,0,50,0,0,50,50,50,50,0,0,50,0,0,78,78,78,78,78,78,78,78,78,78,78,78,3221225551,0,0,
|
||||
0,0,0,50,0,0,50,0,0,50,0,0,50,0,0,0,50,0,0,0,0,50,0,0,0,50,0,0,0,0,
|
||||
0,0,0,50,0,0,50,0,0,50,0,0,50,0,79,50,2684354610,78,3221225551,0,0,1610612815,0,0,0,50,0,0,0,0,
|
||||
0,0,0,78,78,78,78,78,78,78,78,78,78,0,0,0,2684354638,0,0,0,0,0,0,0,0,50,0,0,0,0,
|
||||
0,0,0,50,0,0,50,0,0,0,1610612815,0,0,0,78,78,78,78,78,78,78,78,78,78,78,78,3221225551,0,0,0,
|
||||
0,0,0,50,0,79,78,78,78,0,0,0,0,0,50,0,0,50,0,0,1610612815,0,50,0,0,50,0,0,0,0,
|
||||
0,0,0,50,0,0,0,0,50,0,78,78,78,78,78,0,0,50,0,0,0,0,1610612815,0,78,78,78,0,0,0,
|
||||
0,0,0,78,78,78,78,78,78,0,50,0,0,1610612815,0,0,50,50,50,50,0,0,0,0,50,0,50,0,0,0,
|
||||
0,0,0,0,0,50,0,0,50,50,50,0,0,0,0,0,50,0,0,50,0,0,0,0,50,0,50,0,0,0,
|
||||
0,0,0,536870991,0,50,0,79,50,0,0,78,78,78,78,78,78,78,0,78,78,78,78,78,78,78,78,0,0,0,
|
||||
0,0,0,50,0,50,0,0,0,0,0,50,0,0,50,0,0,50,0,50,0,0,50,0,0,0,50,0,0,0,
|
||||
0,0,0,2147483728,78,78,78,78,78,78,78,78,0,0,1610612815,0,0,78,78,78,78,78,78,0,79,78,78,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="3" name="Walls" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
|
||||
11,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,
|
||||
11,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,2684354599,35,17,25,0,24,29,33,7,11,
|
||||
11,7,0,0,23,0,17,14,12,0,13,0,16,13,0,24,0,42,13,25,0,45,22,29,0,44,0,0,7,11,
|
||||
11,7,0,0,15,0,45,37,17,0,0,0,24,12,0,45,0,44,24,14,0,0,0,0,0,37,0,23,7,11,
|
||||
11,7,0,0,13,0,0,0,41,25,0,20,16,41,22,35,0,29,37,21,0,17,42,0,0,25,0,0,7,11,
|
||||
11,7,0,26,27,28,29,0,21,43,0,29,0,0,0,0,0,0,0,0,0,0,43,0,536870952,0,2684354599,0,7,11,
|
||||
11,7,0,14,0,24,21,0,15,33,0,21,0,43,21,33,0,45,30,31,16,0,12,0,0,0,0,0,7,11,
|
||||
11,7,0,42,0,22,20,0,0,0,0,44,0,20,40,16,0,43,0,33,13,0,45,0,17,0,43,0,7,11,
|
||||
11,7,0,25,0,13,0,0,15,24,0,0,0,41,0,29,0,15,0,0,44,0,37,0,21,0,24,0,7,11,
|
||||
11,7,0,0,0,0,0,33,29,0,17,12,0,21,0,0,0,17,43,0,13,29,41,0,24,0,13,0,7,11,
|
||||
11,7,0,15,18,45,0,13,41,0,24,16,0,23,0,13,41,22,16,0,20,32,17,0,29,25,35,0,7,11,
|
||||
11,7,0,25,35,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,7,11,
|
||||
11,7,0,0,34,19,0,44,15,0,2684354596,2684354596,0,18,24,0,17,35,0,41,25,0,41,0,13,0,44,0,7,11,
|
||||
11,7,24,0,0,0,0,0,0,0,0,0,0,42,20,0,16,0,0,0,24,0,21,0,18,0,25,0,7,9,
|
||||
11,7,22,0,33,13,16,43,21,20,29,15,0,41,24,0,29,13,0,16,43,0,18,24,42,0,42,23,7,9,
|
||||
11,7,21,0,21,20,0,0,0,0,41,44,0,42,15,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,
|
||||
11,7,24,0,41,24,0,3221225510,1610612774,0,24,21,0,13,40,20,0,17,32,15,44,0,26,27,28,0,18,25,7,11,
|
||||
11,7,18,0,44,12,0,2684354598,38,0,17,22,0,41,0,0,0,0,0,24,20,0,21,35,33,0,12,24,7,11,
|
||||
11,7,13,0,0,0,0,0,0,0,0,0,0,12,15,21,0,13,35,18,41,37,43,39,15,0,22,18,7,11,
|
||||
11,7,15,0,43,15,0,33,17,41,0,29,18,33,0,0,0,0,0,0,0,0,0,0,0,0,0,24,7,11,
|
||||
11,7,13,0,25,0,0,0,0,39,21,42,44,14,0,18,45,0,13,14,0,29,0,42,13,0,25,35,7,11,
|
||||
11,7,24,0,14,18,23,24,0,13,0,0,0,0,0,21,42,0,41,15,2684354599,21,0,15,0,0,0,24,7,11,
|
||||
11,7,18,0,0,0,0,0,0,3221225508,0,21,15,0,41,29,0,0,0,0,43,14,18,42,0,14,0,18,7,11,
|
||||
11,7,14,40,43,0,43,14,0,0,0,29,17,18,22,24,0,17,23,0,13,30,31,25,0,33,0,32,7,11,
|
||||
11,7,14,0,44,0,12,0,0,24,14,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,15,7,11,
|
||||
11,7,25,0,29,0,14,13,25,14,43,0,15,13,0,44,33,0,25,0,13,44,0,43,15,44,0,42,7,11,
|
||||
11,7,23,0,0,0,0,0,0,0,0,0,32,45,0,35,25,0,0,0,0,0,0,32,0,0,0,18,7,11,
|
||||
11,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,11,
|
||||
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="4" name="Player" width="30" height="30" visible="0">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,536871021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="2" name="Trash" width="30" height="30">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,3221225579,0,0,0,0,0,0,0,0,106,0,0,0,3221225579,0,0,0,0,3221225579,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,1610612836,0,0,0,0,0,0,1610612836,0,0,0,3221225579,0,0,0,2684354662,0,0,3221225579,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,1610612836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,107,0,0,
|
||||
0,0,0,0,0,0,0,3221225579,0,0,0,0,0,0,3221225570,0,0,0,106,0,0,0,0,0,0,105,0,0,0,0,
|
||||
0,0,0,0,101,0,0,0,0,0,107,0,2684354662,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354662,0,0,0,
|
||||
0,0,2684354658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,101,0,0,0,0,0,0,3221225579,0,0,0,0,0,0,0,0,0,0,0,0,3221225579,0,0,
|
||||
0,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,3758096482,0,0,0,0,0,105,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,101,0,101,0,0,106,0,0,101,0,536871010,0,105,0,0,0,3221225579,0,0,
|
||||
0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,105,0,105,0,106,0,0,0,536871013,0,0,0,1610612834,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,106,0,105,0,0,0,0,0,0,2684354658,0,0,0,0,0,0,0,0,1073741922,0,0,536871013,0,0,
|
||||
0,0,0,105,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354665,0,0,0,102,0,0,2684354665,0,0,0,107,0,0,0,0,
|
||||
0,0,0,0,0,0,0,98,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,0,2147483746,0,106,0,0,0,
|
||||
0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354658,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,1610612834,0,0,0,0,2684354665,0,0,0,105,0,0,0,
|
||||
0,0,0,0,0,105,0,0,0,0,0,0,0,101,0,0,0,0,3221225579,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,107,0,0,0,3221225574,0,0,0,0,0,536871013,0,107,0,0,0,0,0,3221225570,0,0,0,0,536871013,0,0,0,
|
||||
0,0,0,0,0,1610612834,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2684354658,0,0,0,
|
||||
0,0,0,0,105,0,0,0,101,0,3221225570,0,0,0,101,0,0,536871013,0,0,101,0,107,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="6" name="Obstacles">
|
||||
<object id="2" name="wall" x="256" y="192" width="64" height="256"/>
|
||||
<object id="3" name="player" x="80" y="144" width="32" height="32"/>
|
||||
<object id="4" name="wall" x="0" y="192" width="128" height="1728"/>
|
||||
<object id="5" name="wall" x="0" y="0" width="64" height="192"/>
|
||||
<object id="6" name="wall" x="64" y="0" width="1856" height="128"/>
|
||||
<object id="7" name="wall" x="128" y="1792" width="1792" height="128"/>
|
||||
<object id="8" name="wall" x="1792" y="128" width="128" height="1664"/>
|
||||
<object id="9" name="wall" x="192" y="384" width="64" height="256"/>
|
||||
<object id="10" name="wall" x="320" y="384" width="64" height="256"/>
|
||||
<object id="11" name="wall" x="384" y="384" width="64" height="192"/>
|
||||
<object id="12" name="wall" x="512" y="320" width="64" height="192"/>
|
||||
<object id="13" name="wall" x="576" y="320" width="64" height="192"/>
|
||||
<object id="14" name="wall" x="384" y="192" width="192" height="128"/>
|
||||
<object id="15" name="wall" x="640" y="128" width="64" height="128"/>
|
||||
<object id="16" name="wall" x="768" y="192" width="128" height="192"/>
|
||||
<object id="17" name="wall" x="704" y="320" width="64" height="256"/>
|
||||
<object id="18" name="wall" x="960" y="192" width="64" height="192"/>
|
||||
<object id="19" name="wall" x="896" y="320" width="64" height="64"/>
|
||||
<object id="20" name="wall" x="832" y="448" width="64" height="320"/>
|
||||
<object id="21" name="wall" x="960" y="448" width="64" height="192"/>
|
||||
<object id="22" name="wall" x="896" y="448" width="64" height="128"/>
|
||||
<object id="23" name="wall" x="1408" y="320" width="64" height="448"/>
|
||||
<object id="24" name="wall" x="1088" y="192" width="192" height="192"/>
|
||||
<object id="25" name="wall" x="1280" y="448" width="64" height="576"/>
|
||||
<object id="26" name="wall" x="1344" y="128" width="192" height="128"/>
|
||||
<object id="27" name="wall" x="1280" y="128" width="64" height="64"/>
|
||||
<object id="28" name="wall" x="1344" y="320" width="64" height="64"/>
|
||||
<object id="29" name="wall" x="1216" y="832" width="64" height="64"/>
|
||||
<object id="30" name="wall" x="1216" y="960" width="64" height="64"/>
|
||||
<object id="31" name="wall" x="1600" y="128" width="192" height="64"/>
|
||||
<object id="32" name="wall" x="1728" y="256" width="64" height="64"/>
|
||||
<object id="33" name="wall" x="1600" y="192" width="64" height="192"/>
|
||||
<object id="34" name="wall" x="1536" y="384" width="64" height="64"/>
|
||||
<object id="35" name="wall" x="1664" y="384" width="64" height="64"/>
|
||||
<object id="36" name="wall" x="1536" y="512" width="64" height="256"/>
|
||||
<object id="37" name="wall" x="1664" y="512" width="64" height="256"/>
|
||||
<object id="38" name="wall" x="1600" y="704" width="64" height="64"/>
|
||||
<object id="39" name="wall" x="1344" y="640" width="64" height="128"/>
|
||||
<object id="40" name="wall" x="1088" y="448" width="192" height="64"/>
|
||||
<object id="41" name="wall" x="1216" y="512" width="64" height="64"/>
|
||||
<object id="42" name="wall" x="1088" y="512" width="64" height="256"/>
|
||||
<object id="43" name="wall" x="1152" y="640" width="64" height="128"/>
|
||||
<object id="44" name="wall" x="960" y="704" width="128" height="64"/>
|
||||
<object id="45" name="wall" x="192" y="704" width="192" height="128"/>
|
||||
<object id="46" name="wall" x="256" y="832" width="128" height="64"/>
|
||||
<object id="47" name="wall" x="512" y="576" width="128" height="64"/>
|
||||
<object id="48" name="wall" x="448" y="640" width="128" height="128"/>
|
||||
<object id="49" name="wall" x="640" y="640" width="128" height="128"/>
|
||||
<object id="50" name="wall" x="448" y="832" width="128" height="64"/>
|
||||
<object id="51" name="wall" x="640" y="832" width="128" height="64"/>
|
||||
<object id="52" name="wall" x="832" y="832" width="128" height="320"/>
|
||||
<object id="53" name="wall" x="1024" y="832" width="128" height="64"/>
|
||||
<object id="54" name="wall" x="1024" y="896" width="64" height="64"/>
|
||||
<object id="55" name="wall" x="1024" y="960" width="128" height="64"/>
|
||||
<object id="56" name="wall" x="1408" y="832" width="64" height="192"/>
|
||||
<object id="57" name="wall" x="1536" y="832" width="64" height="192"/>
|
||||
<object id="58" name="wall" x="1472" y="960" width="64" height="64"/>
|
||||
<object id="59" name="wall" x="1664" y="832" width="64" height="192"/>
|
||||
<object id="60" name="wall" x="1728" y="960" width="64" height="64"/>
|
||||
<object id="61" name="wall" x="960" y="1088" width="64" height="64"/>
|
||||
<object id="62" name="wall" x="832" y="1152" width="64" height="256"/>
|
||||
<object id="63" name="wall" x="896" y="1216" width="128" height="64"/>
|
||||
<object id="64" name="wall" x="1088" y="1088" width="256" height="64"/>
|
||||
<object id="65" name="wall" x="1216" y="1152" width="128" height="64"/>
|
||||
<object id="66" name="wall" x="1088" y="1216" width="512" height="64"/>
|
||||
<object id="67" name="wall" x="1408" y="1088" width="192" height="128"/>
|
||||
<object id="68" name="wall" x="1664" y="1088" width="128" height="192"/>
|
||||
<object id="69" name="wall" x="1728" y="1280" width="64" height="512"/>
|
||||
<object id="70" name="wall" x="1664" y="1344" width="64" height="64"/>
|
||||
<object id="71" name="wall" x="1600" y="1472" width="64" height="128"/>
|
||||
<object id="72" name="wall" x="1472" y="1664" width="192" height="64"/>
|
||||
<object id="73" name="wall" x="1472" y="1728" width="64" height="64"/>
|
||||
<object id="74" name="wall" x="1280" y="1664" width="128" height="64"/>
|
||||
<object id="75" name="wall" x="1472" y="1344" width="128" height="64"/>
|
||||
<object id="76" name="wall" x="1472" y="1408" width="64" height="64"/>
|
||||
<object id="77" name="wall" x="1280" y="1472" width="256" height="128"/>
|
||||
<object id="78" name="wall" x="1344" y="1344" width="64" height="64"/>
|
||||
<object id="79" name="wall" x="1152" y="1408" width="256" height="64"/>
|
||||
<object id="80" name="wall" x="1152" y="1344" width="128" height="64"/>
|
||||
<object id="81" name="wall" x="960" y="1344" width="128" height="128"/>
|
||||
<object id="82" name="wall" x="896" y="1472" width="128" height="128"/>
|
||||
<object id="83" name="wall" x="704" y="1472" width="128" height="128"/>
|
||||
<object id="84" name="wall" x="832" y="1536" width="64" height="64"/>
|
||||
<object id="85" name="wall" x="1088" y="1536" width="64" height="64"/>
|
||||
<object id="86" name="wall" x="1152" y="1536" width="64" height="192"/>
|
||||
<object id="87" name="wall" x="960" y="1664" width="128" height="128"/>
|
||||
<object id="88" name="wall" x="768" y="1664" width="128" height="128"/>
|
||||
<object id="89" name="wall" x="576" y="1600" width="128" height="128"/>
|
||||
<object id="90" name="wall" x="704" y="1280" width="128" height="128"/>
|
||||
<object id="91" name="wall" x="448" y="1280" width="192" height="64"/>
|
||||
<object id="92" name="wall" x="576" y="1344" width="64" height="192"/>
|
||||
<object id="93" name="wall" x="640" y="1344" width="64" height="64"/>
|
||||
<object id="94" name="wall" x="448" y="1088" width="128" height="128"/>
|
||||
<object id="95" name="wall" x="640" y="960" width="128" height="256"/>
|
||||
<object id="96" name="wall" x="256" y="960" width="128" height="256"/>
|
||||
<object id="97" name="wall" x="384" y="960" width="256" height="64"/>
|
||||
<object id="98" name="wall" x="128" y="896" width="64" height="896"/>
|
||||
<object id="99" name="wall" x="192" y="1536" width="128" height="64"/>
|
||||
<object id="100" name="wall" x="256" y="1600" width="64" height="128"/>
|
||||
<object id="101" name="wall" x="384" y="1536" width="128" height="64"/>
|
||||
<object id="102" name="wall" x="384" y="1600" width="64" height="64"/>
|
||||
<object id="103" name="wall" x="384" y="1664" width="192" height="64"/>
|
||||
<object id="104" name="wall" x="256" y="1280" width="128" height="64"/>
|
||||
<object id="105" name="wall" x="256" y="1408" width="256" height="64"/>
|
||||
<object id="106" name="wall" x="256" y="1344" width="64" height="64"/>
|
||||
<object id="107" name="trashbin_small" x="384" y="176" width="16" height="16"/>
|
||||
<object id="108" name="trashbin_small" x="448" y="432" width="16" height="16"/>
|
||||
<object id="109" name="trashbin_small" x="640" y="496" width="16" height="16"/>
|
||||
<object id="110" name="trashbin_small" x="448" y="624" width="16" height="16"/>
|
||||
<object id="111" name="trashbin_small" x="256" y="496" width="16" height="16"/>
|
||||
<object id="112" name="trashbin_small" x="576" y="688" width="16" height="16"/>
|
||||
<object id="113" name="trashbin_small" x="768" y="496" width="16" height="16"/>
|
||||
<object id="114" name="trashbin_small" x="960" y="176" width="16" height="16"/>
|
||||
<object id="115" name="trashbin_small" x="1216" y="176" width="16" height="16"/>
|
||||
<object id="116" name="trashbin_small" x="1280" y="240" width="16" height="16"/>
|
||||
<object id="117" name="trashbin_small" x="1536" y="240" width="16" height="16"/>
|
||||
<object id="118" name="trashbin_small" x="1536" y="176" width="16" height="16"/>
|
||||
<object id="119" name="trashbin_small" x="1472" y="368" width="16" height="16"/>
|
||||
<object id="120" name="trashbin_small" x="1600" y="432" width="16" height="16"/>
|
||||
<object id="121" name="trashbin_small" x="1728" y="368" width="16" height="16"/>
|
||||
<object id="122" name="trashbin_small" x="1728" y="240" width="16" height="16"/>
|
||||
<object id="123" name="trashbin_small" x="1664" y="496" width="16" height="16"/>
|
||||
<object id="124" name="trashbin_small" x="1728" y="624" width="16" height="16"/>
|
||||
<object id="125" name="trashbin_small" x="1600" y="688" width="16" height="16"/>
|
||||
<object id="126" name="trashbin_small" x="1728" y="816" width="16" height="16"/>
|
||||
<object id="127" name="trashbin_small" x="1472" y="816" width="16" height="16"/>
|
||||
<object id="128" name="trashbin_small" x="1472" y="944" width="16" height="16"/>
|
||||
<object id="129" name="trashbin_small" x="1216" y="944" width="16" height="16"/>
|
||||
<object id="130" name="trashbin_small" x="1088" y="944" width="16" height="16"/>
|
||||
<object id="131" name="trashbin_small" x="1216" y="816" width="16" height="16"/>
|
||||
<object id="132" name="trashbin_small" x="1024" y="816" width="16" height="16"/>
|
||||
<object id="133" name="trashbin_small" x="960" y="944" width="16" height="16"/>
|
||||
<object id="134" name="trashbin_small" x="1152" y="560" width="16" height="16"/>
|
||||
<object id="135" name="trashbin_small" x="896" y="624" width="16" height="16"/>
|
||||
<object id="136" name="trashbin_small" x="832" y="816" width="16" height="16"/>
|
||||
<object id="137" name="trashbin_small" x="704" y="816" width="16" height="16"/>
|
||||
<object id="138" name="trashbin_small" x="128" y="880" width="16" height="16"/>
|
||||
<object id="139" name="trashbin_small" x="448" y="944" width="16" height="16"/>
|
||||
<object id="140" name="trashbin_small" x="384" y="1072" width="16" height="16"/>
|
||||
<object id="141" name="trashbin_small" x="512" y="1072" width="16" height="16"/>
|
||||
<object id="142" name="trashbin_small" x="768" y="1008" width="16" height="16"/>
|
||||
<object id="143" name="trashbin_small" x="768" y="1136" width="16" height="16"/>
|
||||
<object id="144" name="trashbin_small" x="896" y="1200" width="16" height="16"/>
|
||||
<object id="145" name="trashbin_small" x="704" y="1264" width="16" height="16"/>
|
||||
<object id="146" name="trashbin_small" x="960" y="1328" width="16" height="16"/>
|
||||
<object id="147" name="trashbin_small" x="320" y="1392" width="16" height="16"/>
|
||||
<object id="148" name="trashbin_small" x="192" y="1328" width="16" height="16"/>
|
||||
<object id="149" name="trashbin_small" x="192" y="1136" width="16" height="16"/>
|
||||
<object id="150" name="trashbin_small" x="320" y="1520" width="16" height="16"/>
|
||||
<object id="151" name="trashbin_small" x="192" y="1648" width="16" height="16"/>
|
||||
<object id="152" name="trashbin_small" x="256" y="1776" width="16" height="16"/>
|
||||
<object id="153" name="trashbin_small" x="448" y="1648" width="16" height="16"/>
|
||||
<object id="154" name="trashbin_small" x="512" y="1776" width="16" height="16"/>
|
||||
<object id="155" name="trashbin_small" x="960" y="1648" width="16" height="16"/>
|
||||
<object id="156" name="trashbin_small" x="832" y="1648" width="16" height="16"/>
|
||||
<object id="157" name="trashbin_small" x="896" y="1776" width="16" height="16"/>
|
||||
<object id="158" name="trashbin_small" x="1088" y="1776" width="16" height="16"/>
|
||||
<object id="159" name="trashbin_small" x="1280" y="1776" width="16" height="16"/>
|
||||
<object id="160" name="trashbin_small" x="1408" y="1776" width="16" height="16"/>
|
||||
<object id="161" name="trashbin_small" x="1152" y="1520" width="16" height="16"/>
|
||||
<object id="162" name="trashbin_small" x="1408" y="1456" width="16" height="16"/>
|
||||
<object id="163" name="trashbin_small" x="1664" y="1456" width="16" height="16"/>
|
||||
<object id="164" name="trashbin_small" x="1664" y="1648" width="16" height="16"/>
|
||||
<object id="165" name="trashbin_small" x="1664" y="1328" width="16" height="16"/>
|
||||
<object id="166" name="trashbin_small" x="1600" y="1200" width="16" height="16"/>
|
||||
<object id="167" name="trashbin_small" x="1344" y="1200" width="16" height="16"/>
|
||||
<object id="168" name="trashbin_small" x="1728" y="1072" width="16" height="16"/>
|
||||
<object id="169" name="trashbin_small" x="1152" y="1200" width="16" height="16"/>
|
||||
<object id="170" name="trashbin_small" x="832" y="1520" width="16" height="16"/>
|
||||
<object id="171" name="trashbin_big" x="320" y="352" width="32" height="32"/>
|
||||
<object id="173" name="trashbin_big" x="576" y="224" width="32" height="32"/>
|
||||
<object id="174" name="trashbin_big" x="128" y="544" width="32" height="32"/>
|
||||
<object id="175" name="trashbin_small" x="704" y="304" width="16" height="16"/>
|
||||
<object id="176" name="trashbin_big" x="896" y="416" width="32" height="32"/>
|
||||
<object id="177" name="trashbin_big" x="1024" y="224" width="32" height="32"/>
|
||||
<object id="178" name="trashbin_big" x="1216" y="672" width="32" height="32"/>
|
||||
<object id="179" name="trashbin_big" x="1344" y="800" width="32" height="32"/>
|
||||
<object id="180" name="trashbin_big" x="1728" y="928" width="32" height="32"/>
|
||||
<object id="181" name="trashbin_big" x="1536" y="1056" width="32" height="32"/>
|
||||
<object id="182" name="trashbin_big" x="960" y="1056" width="32" height="32"/>
|
||||
<object id="183" name="trashbin_big" x="448" y="1248" width="32" height="32"/>
|
||||
<object id="184" name="trashbin_big" x="768" y="1440" width="32" height="32"/>
|
||||
<object id="185" name="trashbin_big" x="320" y="1696" width="32" height="32"/>
|
||||
<object id="186" name="trashbin_big" x="640" y="1760" width="32" height="32"/>
|
||||
<object id="187" name="trashbin_big" x="1088" y="1440" width="32" height="32"/>
|
||||
<object id="188" name="trashbin_big" x="1344" y="1632" width="32" height="32"/>
|
||||
<object id="189" name="trashbin_big" x="1664" y="1696" width="32" height="32"/>
|
||||
<object id="190" name="trashbin_big" x="1536" y="1312" width="32" height="32"/>
|
||||
<object id="191" name="trashbin_big" x="1280" y="1376" width="32" height="32"/>
|
||||
<object id="192" name="drop_off" x="128" y="192" width="64" height="128"/>
|
||||
</objectgroup>
|
||||
</map>
|
@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.8" tiledversion="1.8.2" name="player" tilewidth="347" tileheight="145" tilecount="9" columns="0">
|
||||
<grid orientation="orthogonal" width="1" height="1"/>
|
||||
<tile id="0">
|
||||
<image width="52" height="86" source="garbagetruck/GTA2_CAR_18.bmp"/>
|
||||
</tile>
|
||||
<tile id="1">
|
||||
<image width="58" height="88" source="garbagetruck/GTA2_CAR_20.bmp"/>
|
||||
</tile>
|
||||
<tile id="2">
|
||||
<image width="58" height="88" source="garbagetruck/GTA2_CAR_21.bmp"/>
|
||||
</tile>
|
||||
<tile id="3">
|
||||
<image width="347" height="145" source="garbagetruck/trashmaster_blu.png"/>
|
||||
</tile>
|
||||
<tile id="4">
|
||||
<image width="250" height="117" source="garbagetruck/trashmaster_orange.png"/>
|
||||
</tile>
|
||||
<tile id="5">
|
||||
<image width="58" height="58" source="misc/GTA2_USER OBJECT_1219.bmp"/>
|
||||
</tile>
|
||||
<tile id="6">
|
||||
<image width="50" height="60" source="misc/GTA2_USER OBJECT_1222.bmp"/>
|
||||
</tile>
|
||||
<tile id="7">
|
||||
<image width="60" height="60" source="misc/GTA2_USER OBJECT_1225.bmp"/>
|
||||
</tile>
|
||||
<tile id="8">
|
||||
<image width="56" height="64" source="misc/GTA2_USER OBJECT_1229.bmp"/>
|
||||
</tile>
|
||||
</tileset>
|
@ -1,7 +1,5 @@
|
||||
import pygame as pg
|
||||
|
||||
vec = pg.math.Vector2
|
||||
|
||||
#colors
|
||||
LIGHTGREY = (100, 100, 100)
|
||||
CYAN = (0, 255, 255)
|
||||
|
163
sprites.py
163
sprites.py
@ -1,163 +0,0 @@
|
||||
import pygame as pg
|
||||
import pygame.image
|
||||
from settings import *
|
||||
from random import uniform
|
||||
from map import collide_hit_rect
|
||||
|
||||
vec = pg.math.Vector2
|
||||
|
||||
|
||||
def collide_with_walls(sprite, group, dir):
|
||||
if dir == 'x':
|
||||
hits = pg.sprite.spritecollide(sprite, group, False, collide_hit_rect)
|
||||
if hits:
|
||||
if hits[0].rect.centerx > sprite.hit_rect.centerx:
|
||||
sprite.pos.x = hits[0].rect.left - sprite.hit_rect.width / 2
|
||||
if hits[0].rect.centerx < sprite.hit_rect.centerx:
|
||||
sprite.pos.x = hits[0].rect.right + sprite.hit_rect.width / 2
|
||||
sprite.vel.x = 0
|
||||
sprite.hit_rect.centerx = sprite.pos.x
|
||||
if dir == 'y':
|
||||
hits = pg.sprite.spritecollide(sprite, group, False, collide_hit_rect)
|
||||
if hits:
|
||||
if hits[0].rect.centery > sprite.hit_rect.centery:
|
||||
sprite.pos.y = hits[0].rect.top - sprite.hit_rect.height / 2
|
||||
if hits[0].rect.centery < sprite.hit_rect.centery:
|
||||
sprite.pos.y = hits[0].rect.bottom + sprite.hit_rect.height / 2
|
||||
sprite.vel.y = 0
|
||||
sprite.hit_rect.centery = sprite.pos.y
|
||||
|
||||
class Player(pg.sprite.Sprite):
|
||||
def __init__(self, game, x, y):
|
||||
self.groups = game.all_sprites
|
||||
pg.sprite.Sprite.__init__(self, self.groups)
|
||||
self.game = game
|
||||
self.image = game.player_img
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.center = (x,y)
|
||||
self.hit_rect = PLAYER_HIT_RECT
|
||||
self.hit_rect.center = self.rect.center
|
||||
self.vel = vec(0, 0)
|
||||
self.pos = vec(x, y)
|
||||
self.rot = 0
|
||||
|
||||
|
||||
def get_keys(self):
|
||||
self.rot_speed = 0
|
||||
self.vel = vec(0, 0)
|
||||
keys = pg.key.get_pressed()
|
||||
if keys[pg.K_LEFT] or keys[pg.K_a]:
|
||||
self.rot_speed = PLAYER_ROT_SPEED
|
||||
if keys[pg.K_RIGHT] or keys[pg.K_d]:
|
||||
self.rot_speed = -PLAYER_ROT_SPEED
|
||||
if keys[pg.K_UP] or keys[pg.K_w]:
|
||||
self.vel = vec(PLAYER_SPEED, 0).rotate(-self.rot)
|
||||
if keys[pg.K_DOWN] or keys[pg.K_s]:
|
||||
self.vel = vec(-PLAYER_SPEED / 2, 0).rotate(-self.rot)
|
||||
|
||||
|
||||
def update(self):
|
||||
self.get_keys()
|
||||
self.rot = (self.rot + self.rot_speed * self.game.dt) % 360
|
||||
self.image = pg.transform.rotate(self.game.player_img, self.rot)
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.center = self.pos
|
||||
self.pos += self.vel * self.game.dt
|
||||
self.hit_rect.centerx = self.pos.x
|
||||
collide_with_walls(self, self.game.wallTiles, 'x')
|
||||
self.hit_rect.centery = self.pos.y
|
||||
collide_with_walls(self, self.game.wallTiles, 'y')
|
||||
self.rect.center = self.hit_rect.center
|
||||
|
||||
class Dump(pg.sprite.Sprite):
|
||||
# wysypisko
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.glass = []
|
||||
self.paper = []
|
||||
self.bio = []
|
||||
self.other_trash = []
|
||||
class trash(pg.sprite.Sprite):
|
||||
|
||||
def __init__(self,x,y,img, type):
|
||||
super().__init__()
|
||||
|
||||
self.width=16
|
||||
self.height=16
|
||||
|
||||
self.type = type
|
||||
|
||||
self.x = x
|
||||
self.y = y
|
||||
|
||||
self.image = pygame.image.load(img)
|
||||
self.image = pygame.transform.scale(self.image, (self.x,self.y))
|
||||
self.rect = self.image.get_rect()
|
||||
class trashbin(pg.sprite.Sprite):
|
||||
|
||||
def __init__(self,x,y,img, type):
|
||||
super().__init__()
|
||||
|
||||
# trashbin type
|
||||
self.type = type
|
||||
|
||||
# dimensions
|
||||
if type == "small":
|
||||
self.width = 4
|
||||
self.height = 4
|
||||
elif type == "medium":
|
||||
self.width = 8
|
||||
self.height = 8
|
||||
elif type == "large":
|
||||
self.width = 16
|
||||
self.height = 16
|
||||
|
||||
# spawn coords
|
||||
self.x = x
|
||||
self.y = y
|
||||
|
||||
# load trashbin image
|
||||
self.image = pygame.image.load(img)
|
||||
self.image = pygame.transform.scale(self.image, (self.x,self.y))
|
||||
self.rect = self.image.get_rect()
|
||||
|
||||
class trashmaster(pg.sprite.Sprite):
|
||||
|
||||
def __init__(self,x,y,img):
|
||||
super().__init__()
|
||||
|
||||
self.width=x
|
||||
self.height=y
|
||||
|
||||
self.x = 0
|
||||
self.y = 0
|
||||
|
||||
self.image = pygame.image.load(img)
|
||||
self.image = pygame.transform.scale(self.image, (self.width,self.height))
|
||||
self.rect = self.image.get_rect()
|
||||
|
||||
def movement(self, key, vel):
|
||||
if key == pygame.K_LEFT:
|
||||
self.x -= vel
|
||||
|
||||
if key == pygame.K_RIGHT:
|
||||
self.x += vel
|
||||
|
||||
if key == pygame.K_UP:
|
||||
self.y -= vel
|
||||
|
||||
if key == pygame.K_DOWN:
|
||||
self.y += vel
|
||||
return (self.x, self.y)
|
||||
|
||||
class Obstacle(pg.sprite.Sprite):
|
||||
def __init__(self, game, x, y, w, h):
|
||||
self.groups = game.walls
|
||||
pg.sprite.Sprite.__init__(self, self.groups)
|
||||
self.game = game
|
||||
self.rect = pg.Rect(x, y, w, h)
|
||||
self.hit_rect = self.rect
|
||||
self.x = x
|
||||
self.y = y
|
||||
self.rect.x = x
|
||||
self.rect.y = y
|
18
trash.py
18
trash.py
@ -1,18 +0,0 @@
|
||||
import pygame.image
|
||||
|
||||
class trash(pygame.sprite.Sprite):
|
||||
|
||||
def __init__(self,x,y,img, type):
|
||||
super().__init__()
|
||||
|
||||
self.width=16
|
||||
self.height=16
|
||||
|
||||
self.type = type
|
||||
|
||||
self.x = x
|
||||
self.y = y
|
||||
|
||||
self.image = pygame.image.load(img)
|
||||
self.image = pygame.transform.scale(self.image, (self.x,self.y))
|
||||
self.rect = self.image.get_rect()
|
Loading…
Reference in New Issue
Block a user