Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cdfe4ddf1f |
@@ -174,5 +174,3 @@ cython_debug/
|
|||||||
# PyPI configuration file
|
# PyPI configuration file
|
||||||
.pypirc
|
.pypirc
|
||||||
|
|
||||||
# Tiled
|
|
||||||
.tiled-session
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<map version="1.10" tiledversion="1.12.1" orientation="isometric" renderorder="left-down" width="30" height="20" tilewidth="64" tileheight="32" infinite="0" nextlayerid="5" nextobjectid="1">
|
|
||||||
<tileset firstgid="1" source="tiles/base.tsx"/>
|
|
||||||
<layer id="2" name="flor" width="30" height="20">
|
|
||||||
<data encoding="base64">
|
|
||||||
SwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABKAAAASgAAAEoAAABKAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABKAAAASgAAAEoAAABKAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABKAAAASgAAAEoAAABKAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABKAAAASgAAAEoAAABKAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABKAAAASgAAAEoAAABKAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASAAAAEgAAABIAAAASAAAAEsAAABIAAAASAAAAEgAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAA
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="walls" width="30" height="20">
|
|
||||||
<data encoding="base64">
|
|
||||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAABqAAAAAAAAAGoAAAAAAAAAagAAAAAAAABqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAAAAAAADAAAAAtAAAALQAAAC0AAAAtAAAAKQAAAAAAAABqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAABqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAABqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAAAAAAAC4AAAAtAAAAJQAAAAAAAAAuAAAAJwAAAAAAAABqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAAAAAAAAAAAABGAAAAAAAAAAAAAAAAAAAARgAAAAAAAABqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="3" name="objects" width="30" height="20">
|
|
||||||
<data encoding="base64">
|
|
||||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="4" name="player" width="30" height="20">
|
|
||||||
<data encoding="base64">
|
|
||||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
</map>
|
|
||||||
|
Before Width: | Height: | Size: 112 KiB |
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<tileset version="1.10" tiledversion="1.12.1" name="base" tilewidth="64" tileheight="64" tilecount="192" columns="16">
|
|
||||||
<image source="64x64.png" width="1024" height="768"/>
|
|
||||||
</tileset>
|
|
||||||
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"expandedProjectPaths": [
|
|
||||||
"."
|
|
||||||
],
|
|
||||||
"openFiles": [
|
|
||||||
"level1.tmj",
|
|
||||||
"tiles.tsx",
|
|
||||||
"slimeBlock.tsx",
|
|
||||||
"gold.tsx"
|
|
||||||
],
|
|
||||||
"recentFiles": [
|
|
||||||
"gold.tsx",
|
|
||||||
"slimeBlock.tsx",
|
|
||||||
"tiles.tsx",
|
|
||||||
"level1.tmj"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
import arcade
|
|
||||||
from random import randint
|
|
||||||
|
|
||||||
SCREEN_WIDTH = 1920
|
|
||||||
SCREEN_HEIGHT = 1280
|
|
||||||
SCREEN_FULL = True
|
|
||||||
TILE_WIDTH = 64
|
|
||||||
TILE_HEIGHT = 32
|
|
||||||
|
|
||||||
class Engine:
|
|
||||||
def __init__(self,player_sprite,wall_list):
|
|
||||||
self.player = player_sprite
|
|
||||||
self.dynamic = arcade.SpriteList()
|
|
||||||
self.dynamic.append(self.player)
|
|
||||||
self.walls = wall_list
|
|
||||||
def add_list(self,sprite_list):
|
|
||||||
for sprite in sprite_list:
|
|
||||||
self.dynamic.append(sprite)
|
|
||||||
def can_move(self,obj,vec):
|
|
||||||
new_pos = (obj.center_x + vec[0]*TILE_WIDTH//2,obj.center_y + vec[1]*TILE_HEIGHT//2)
|
|
||||||
for wall in self.walls:
|
|
||||||
if wall.position == new_pos:
|
|
||||||
return False
|
|
||||||
return True
|
|
||||||
def update(self,delta_time):
|
|
||||||
pass
|
|
||||||
def draw(self):
|
|
||||||
dr = arcade.SpriteList()
|
|
||||||
for wall in self.walls:
|
|
||||||
for obj in self.dynamic:
|
|
||||||
if wall.position in [
|
|
||||||
(obj.center_x-TILE_WIDTH//2,obj.center_y-TILE_HEIGHT//2),
|
|
||||||
(obj.center_x+TILE_WIDTH//2,obj.center_y-TILE_HEIGHT//2),
|
|
||||||
(obj.center_x,obj.center_y-TILE_HEIGHT)]:
|
|
||||||
if not obj in dr:
|
|
||||||
dr.append(obj)
|
|
||||||
dr.append(wall)
|
|
||||||
for obj in self.dynamic:
|
|
||||||
if not obj in dr:
|
|
||||||
dr.append(obj)
|
|
||||||
dr.draw()
|
|
||||||
|
|
||||||
def to_iso(tile_list):
|
|
||||||
for tile in tile_list:
|
|
||||||
col = tile.center_x//TILE_WIDTH
|
|
||||||
row = tile.center_y//TILE_HEIGHT
|
|
||||||
tile.center_x = tile.center_x - TILE_WIDTH//2 * (col-row)
|
|
||||||
tile.center_y = tile.center_y - TILE_HEIGHT//2 * (col+row)
|
|
||||||
return tile_list
|
|
||||||
|
|
||||||
class Player(arcade.Sprite):
|
|
||||||
def __init__(self,sprite,lookLeft=True,control=False):
|
|
||||||
super().__init__()
|
|
||||||
self.texture = sprite.texture
|
|
||||||
self.lookLeft = lookLeft
|
|
||||||
self.center_x = sprite.center_x
|
|
||||||
self.center_y = sprite.center_y
|
|
||||||
self.move_timer = 0
|
|
||||||
def update(self,delta_time):
|
|
||||||
self.move_timer += delta_time
|
|
||||||
if self.move_timer >= 1:
|
|
||||||
self.move_timer = 0
|
|
||||||
way = randint(0,3)
|
|
||||||
if way == 0:
|
|
||||||
self.move(1,1,delta_time)
|
|
||||||
elif way == 1:
|
|
||||||
self.move(1,-1,delta_time)
|
|
||||||
elif way == 2:
|
|
||||||
self.move(-1,-1,delta_time)
|
|
||||||
elif way == 3:
|
|
||||||
self.move(-1,1,delta_time)
|
|
||||||
super().update()
|
|
||||||
|
|
||||||
def move(self,dx,dy,dt=1):
|
|
||||||
self.lookLeft = False if self.change_x > 0 else True
|
|
||||||
self.center_x = self.center_x + dx*TILE_WIDTH//2
|
|
||||||
self.center_y = self.center_y + dy*TILE_HEIGHT//2
|
|
||||||
if dx > 0 and self.lookLeft:
|
|
||||||
self.texture = self.texture.flip_left_right()
|
|
||||||
self.lookLeft = False
|
|
||||||
elif dx < 0 and not self.lookLeft:
|
|
||||||
self.texture = self.texture.flip_left_right()
|
|
||||||
self.lookLeft = True
|
|
||||||
|
|
||||||
class MainView(arcade.View):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.background_color = (100,100,200)
|
|
||||||
self.move = (0,0)
|
|
||||||
self.tilemap = arcade.load_tilemap('./assets/level1.tmx',scaling=1)
|
|
||||||
self.flor = self.tilemap.sprite_lists["flor"]
|
|
||||||
self.flor = to_iso(self.flor)
|
|
||||||
self.walls = self.tilemap.sprite_lists["walls"]
|
|
||||||
self.walls = to_iso(self.walls)
|
|
||||||
objects = self.tilemap.sprite_lists["objects"]
|
|
||||||
objects = to_iso(objects)
|
|
||||||
self.enemys = arcade.SpriteList()
|
|
||||||
for obj in objects:
|
|
||||||
self.enemys.append(Player(obj))
|
|
||||||
|
|
||||||
self.camera = arcade.Camera2D()
|
|
||||||
objects = self.tilemap.sprite_lists["player"]
|
|
||||||
objects = to_iso(objects)
|
|
||||||
self.player = Player(objects[0],control=True)
|
|
||||||
|
|
||||||
self.engine = Engine(self.player,self.walls)
|
|
||||||
self.engine.add_list(self.enemys)
|
|
||||||
def on_draw(self):
|
|
||||||
self.clear()
|
|
||||||
self.camera.use()
|
|
||||||
self.flor.draw()
|
|
||||||
self.engine.draw()
|
|
||||||
#self.enemys.draw()
|
|
||||||
|
|
||||||
def on_update(self,delta_time):
|
|
||||||
self.camera.position = (self.player.center_x,self.player.center_y)
|
|
||||||
self.engine.update(delta_time)
|
|
||||||
#self.enemys.update(delta_time)
|
|
||||||
def on_mouse_press(self,x,y,but,mod):
|
|
||||||
world_point = self.camera.unproject((x,y))
|
|
||||||
tile_col = world_point.x/TILE_WIDTH
|
|
||||||
tile_row = world_point.y/TILE_HEIGHT
|
|
||||||
sheet = arcade.load_spritesheet('./assets/tiles/64x64.png')
|
|
||||||
textures = sheet.get_texture_grid((64,64),16,184)
|
|
||||||
self.walls.append(
|
|
||||||
arcade.Sprite(
|
|
||||||
textures[165],
|
|
||||||
center_x=world_point.x - world_point.x%(TILE_WIDTH//2),
|
|
||||||
center_y=world_point.y - world_point.y%(TILE_HEIGHT//2)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
def on_key_press(self,key,mod):
|
|
||||||
if key == arcade.key.W and self.engine.can_move(self.player,(1,1)):
|
|
||||||
self.player.move(1,1)
|
|
||||||
elif key == arcade.key.A and self.engine.can_move(self.player,(-1,1)):
|
|
||||||
self.player.move(-1,1)
|
|
||||||
elif key == arcade.key.S and self.engine.can_move(self.player,(-1,-1)):
|
|
||||||
self.player.move(-1,-1)
|
|
||||||
elif key == arcade.key.D and self.engine.can_move(self.player,(1,-1)):
|
|
||||||
self.player.move(1,-1)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
window = arcade.Window(
|
|
||||||
SCREEN_WIDTH,
|
|
||||||
SCREEN_HEIGHT,
|
|
||||||
'Isometric game',
|
|
||||||
fullscreen=SCREEN_FULL)
|
|
||||||
view = MainView()
|
|
||||||
window.show_view(view)
|
|
||||||
arcade.run()
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"automappingRulesFile": "",
|
|
||||||
"commands": [
|
|
||||||
],
|
|
||||||
"compatibilityVersion": 1100,
|
|
||||||
"extensionsPath": "extensions",
|
|
||||||
"folders": [
|
|
||||||
"."
|
|
||||||
],
|
|
||||||
"properties": [
|
|
||||||
],
|
|
||||||
"propertyTypes": [
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"activeFile": "assets/level1.tmx",
|
|
||||||
"expandedProjectPaths": [
|
|
||||||
],
|
|
||||||
"fileStates": {
|
|
||||||
"assets/level1.tmx": {
|
|
||||||
"scale": 1,
|
|
||||||
"selectedLayer": 1,
|
|
||||||
"viewCenter": {
|
|
||||||
"x": 623.5,
|
|
||||||
"y": 417
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"assets/tiles/base.tsx": {
|
|
||||||
"scaleInDock": 1,
|
|
||||||
"scaleInEditor": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"last.imagePath": "C:/Users/laktionov/Downloads/TanksGame/arcade/assets/tiles",
|
|
||||||
"map.lastUsedFormat": "tmx",
|
|
||||||
"map.layerDataFormat": "1",
|
|
||||||
"map.orientation": "2",
|
|
||||||
"map.renderOrder": "2",
|
|
||||||
"map.tileHeight": 64,
|
|
||||||
"map.tileWidth": 64,
|
|
||||||
"openFiles": [
|
|
||||||
"assets/level1.tmx",
|
|
||||||
"assets/tiles/base.tsx"
|
|
||||||
],
|
|
||||||
"project": "map.tiled-project",
|
|
||||||
"recentFiles": [
|
|
||||||
"assets/tiles/base.tsx",
|
|
||||||
"assets/level1.tmx"
|
|
||||||
],
|
|
||||||
"tileset.lastUsedFormat": "tsx",
|
|
||||||
"tileset.tileSize": {
|
|
||||||
"height": 64,
|
|
||||||
"width": 64
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
import arcade
|
||||||
|
from random import randint
|
||||||
|
|
||||||
|
class MainView(arcade.View):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.background_color = (100,100,200)
|
||||||
|
self.engine = arcade.PymunkPhysicsEngine(gravity=(0, 0))
|
||||||
|
self.key_up = False
|
||||||
|
self.key_down = False
|
||||||
|
self.key_left = False
|
||||||
|
self.key_right = False
|
||||||
|
|
||||||
|
self.objects = arcade.SpriteList()
|
||||||
|
for _ in range(10):
|
||||||
|
self.objects.append(
|
||||||
|
arcade.Sprite(
|
||||||
|
':resources:/images/tiles/bomb.png',
|
||||||
|
scale=0.5,
|
||||||
|
center_x = randint(0,800),
|
||||||
|
center_y = randint(0,800)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.engine.add_sprite_list(
|
||||||
|
self.objects,
|
||||||
|
mass=1,
|
||||||
|
friction=0.0,
|
||||||
|
elasticity=0.0,
|
||||||
|
moment_of_inertia=float('inf'),
|
||||||
|
damping=0.1
|
||||||
|
)
|
||||||
|
|
||||||
|
self.walls = arcade.SpriteList()
|
||||||
|
for i in range(15):
|
||||||
|
for j in range(15):
|
||||||
|
if i==0 or j==0 or i==12 or j==12:
|
||||||
|
self.walls.append(
|
||||||
|
arcade.Sprite(
|
||||||
|
':resources:/images/tiles/brickBrown.png',
|
||||||
|
scale=0.5,
|
||||||
|
center_x = 32 + i*64,
|
||||||
|
center_y = 32 + j*64
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.engine.add_sprite_list(
|
||||||
|
self.walls,
|
||||||
|
body_type=arcade.PymunkPhysicsEngine.STATIC)
|
||||||
|
|
||||||
|
def on_update(self, delta_time):
|
||||||
|
self.objects.update()
|
||||||
|
for obj in self.objects:
|
||||||
|
if self.key_up:
|
||||||
|
self.engine.apply_force(obj,(0,100))
|
||||||
|
if self.key_down:
|
||||||
|
self.engine.apply_force(obj,(0,-100))
|
||||||
|
if self.key_left:
|
||||||
|
self.engine.apply_force(obj,(-100,0))
|
||||||
|
if self.key_right:
|
||||||
|
self.engine.apply_force(obj,(100,0))
|
||||||
|
|
||||||
|
self.engine.step(delta_time)
|
||||||
|
|
||||||
|
def on_draw(self):
|
||||||
|
self.clear()
|
||||||
|
self.objects.draw()
|
||||||
|
self.walls.draw()
|
||||||
|
|
||||||
|
def on_key_press(self,key,mod):
|
||||||
|
if key == arcade.key.W:
|
||||||
|
self.key_up = True
|
||||||
|
if key == arcade.key.S:
|
||||||
|
self.key_down = True
|
||||||
|
if key == arcade.key.A:
|
||||||
|
self.key_left = True
|
||||||
|
if key == arcade.key.D:
|
||||||
|
self.key_right = True
|
||||||
|
def on_key_release(self,key,mod):
|
||||||
|
if key == arcade.key.W:
|
||||||
|
self.key_up = False
|
||||||
|
if key == arcade.key.S:
|
||||||
|
self.key_down = False
|
||||||
|
if key == arcade.key.A:
|
||||||
|
self.key_left = False
|
||||||
|
if key == arcade.key.D:
|
||||||
|
self.key_right = False
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
window = arcade.Window(800,800,'')
|
||||||
|
view = MainView()
|
||||||
|
window.show_view(view)
|
||||||
|
arcade.run()
|
||||||