From 2b896823b7d99e36972789510716589b01a717b0 Mon Sep 17 00:00:00 2001 From: Bennywang1007 Date: Sat, 26 Aug 2023 01:52:42 +0800 Subject: [PATCH 1/4] Map Generator Added Add a generator module for different amount of players, and adjust some image's position and window's size. --- asset/maps/map_1_v_1.tmx | 45 +++--- asset/maps/map_2_v_2.tmx | 22 +-- asset/maps/map_3_v_3.tmx | 42 ++++-- asset/maps/{ => oldMap}/map.tmx | 0 asset/maps/{ => oldMap}/map_0.tmx | 0 asset/maps/{ => oldMap}/map_00.tmx | 0 asset/maps/{ => oldMap}/map_01.tmx | 0 asset/maps/{ => oldMap}/map_011.tmx | 0 asset/maps/{ => oldMap}/map_012.tmx | 0 asset/maps/{ => oldMap}/map_013.tmx | 0 asset/maps/{ => oldMap}/map_014.tmx | 0 asset/maps/{ => oldMap}/map_015.tmx | 0 asset/maps/{ => oldMap}/map_02.tmx | 0 asset/maps/oldMap/map_1_v_1.tmx | 22 +++ asset/maps/{ => oldMap}/map_1_v_2.tmx | 0 asset/maps/{ => oldMap}/map_1_v_3.tmx | 0 asset/maps/{ => oldMap}/map_1_v_4.tmx | 0 asset/maps/{ => oldMap}/map_1_v_5.tmx | 0 asset/maps/{ => oldMap}/map_2_v_1.tmx | 0 asset/maps/oldMap/map_2_v_2.tmx | 22 +++ asset/maps/{ => oldMap}/map_2_v_3.tmx | 0 asset/maps/{ => oldMap}/map_2_v_4.tmx | 0 asset/maps/{ => oldMap}/map_3_v_1.tmx | 0 asset/maps/{ => oldMap}/map_3_v_2.tmx | 0 asset/maps/oldMap/map_3_v_3.tmx | 22 +++ asset/maps/{ => oldMap}/map_4_v_1.tmx | 0 asset/maps/{ => oldMap}/map_4_v_2.tmx | 0 asset/maps/{ => oldMap}/map_5_v_1.tmx | 0 asset/maps/oldMap/map_test.tmx | 34 +++++ asset/maps/{ => oldMap}/test_map_3_v_3.tmx | 0 src/Game.py | 6 +- src/GenerateMap.py | 155 +++++++++++++++++++++ src/TeamBattleMode.py | 38 +++-- 33 files changed, 356 insertions(+), 52 deletions(-) rename asset/maps/{ => oldMap}/map.tmx (100%) rename asset/maps/{ => oldMap}/map_0.tmx (100%) rename asset/maps/{ => oldMap}/map_00.tmx (100%) rename asset/maps/{ => oldMap}/map_01.tmx (100%) rename asset/maps/{ => oldMap}/map_011.tmx (100%) rename asset/maps/{ => oldMap}/map_012.tmx (100%) rename asset/maps/{ => oldMap}/map_013.tmx (100%) rename asset/maps/{ => oldMap}/map_014.tmx (100%) rename asset/maps/{ => oldMap}/map_015.tmx (100%) rename asset/maps/{ => oldMap}/map_02.tmx (100%) create mode 100644 asset/maps/oldMap/map_1_v_1.tmx rename asset/maps/{ => oldMap}/map_1_v_2.tmx (100%) rename asset/maps/{ => oldMap}/map_1_v_3.tmx (100%) rename asset/maps/{ => oldMap}/map_1_v_4.tmx (100%) rename asset/maps/{ => oldMap}/map_1_v_5.tmx (100%) rename asset/maps/{ => oldMap}/map_2_v_1.tmx (100%) create mode 100644 asset/maps/oldMap/map_2_v_2.tmx rename asset/maps/{ => oldMap}/map_2_v_3.tmx (100%) rename asset/maps/{ => oldMap}/map_2_v_4.tmx (100%) rename asset/maps/{ => oldMap}/map_3_v_1.tmx (100%) rename asset/maps/{ => oldMap}/map_3_v_2.tmx (100%) create mode 100644 asset/maps/oldMap/map_3_v_3.tmx rename asset/maps/{ => oldMap}/map_4_v_1.tmx (100%) rename asset/maps/{ => oldMap}/map_4_v_2.tmx (100%) rename asset/maps/{ => oldMap}/map_5_v_1.tmx (100%) create mode 100644 asset/maps/oldMap/map_test.tmx rename asset/maps/{ => oldMap}/test_map_3_v_3.tmx (100%) create mode 100644 src/GenerateMap.py diff --git a/asset/maps/map_1_v_1.tmx b/asset/maps/map_1_v_1.tmx index e1683e0..0cc0fef 100644 --- a/asset/maps/map_1_v_1.tmx +++ b/asset/maps/map_1_v_1.tmx @@ -1,22 +1,35 @@ - - + + - + -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, -3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,4,0,4,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,4,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + \ No newline at end of file diff --git a/asset/maps/map_2_v_2.tmx b/asset/maps/map_2_v_2.tmx index ce030b2..aa58154 100644 --- a/asset/maps/map_2_v_2.tmx +++ b/asset/maps/map_2_v_2.tmx @@ -1,21 +1,21 @@ - - + + - + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, -3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, -3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,5,0,0,0,0,0,0,0,3, +3,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,3, +3,0,0,0,0,0,0,0,5,0,3,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,3, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 diff --git a/asset/maps/map_3_v_3.tmx b/asset/maps/map_3_v_3.tmx index 731e859..5e22ec6 100644 --- a/asset/maps/map_3_v_3.tmx +++ b/asset/maps/map_3_v_3.tmx @@ -1,22 +1,34 @@ - - + + - + -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, -3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, -3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, -3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,5,0,0,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 diff --git a/asset/maps/map.tmx b/asset/maps/oldMap/map.tmx similarity index 100% rename from asset/maps/map.tmx rename to asset/maps/oldMap/map.tmx diff --git a/asset/maps/map_0.tmx b/asset/maps/oldMap/map_0.tmx similarity index 100% rename from asset/maps/map_0.tmx rename to asset/maps/oldMap/map_0.tmx diff --git a/asset/maps/map_00.tmx b/asset/maps/oldMap/map_00.tmx similarity index 100% rename from asset/maps/map_00.tmx rename to asset/maps/oldMap/map_00.tmx diff --git a/asset/maps/map_01.tmx b/asset/maps/oldMap/map_01.tmx similarity index 100% rename from asset/maps/map_01.tmx rename to asset/maps/oldMap/map_01.tmx diff --git a/asset/maps/map_011.tmx b/asset/maps/oldMap/map_011.tmx similarity index 100% rename from asset/maps/map_011.tmx rename to asset/maps/oldMap/map_011.tmx diff --git a/asset/maps/map_012.tmx b/asset/maps/oldMap/map_012.tmx similarity index 100% rename from asset/maps/map_012.tmx rename to asset/maps/oldMap/map_012.tmx diff --git a/asset/maps/map_013.tmx b/asset/maps/oldMap/map_013.tmx similarity index 100% rename from asset/maps/map_013.tmx rename to asset/maps/oldMap/map_013.tmx diff --git a/asset/maps/map_014.tmx b/asset/maps/oldMap/map_014.tmx similarity index 100% rename from asset/maps/map_014.tmx rename to asset/maps/oldMap/map_014.tmx diff --git a/asset/maps/map_015.tmx b/asset/maps/oldMap/map_015.tmx similarity index 100% rename from asset/maps/map_015.tmx rename to asset/maps/oldMap/map_015.tmx diff --git a/asset/maps/map_02.tmx b/asset/maps/oldMap/map_02.tmx similarity index 100% rename from asset/maps/map_02.tmx rename to asset/maps/oldMap/map_02.tmx diff --git a/asset/maps/oldMap/map_1_v_1.tmx b/asset/maps/oldMap/map_1_v_1.tmx new file mode 100644 index 0000000..e1683e0 --- /dev/null +++ b/asset/maps/oldMap/map_1_v_1.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/map_1_v_2.tmx b/asset/maps/oldMap/map_1_v_2.tmx similarity index 100% rename from asset/maps/map_1_v_2.tmx rename to asset/maps/oldMap/map_1_v_2.tmx diff --git a/asset/maps/map_1_v_3.tmx b/asset/maps/oldMap/map_1_v_3.tmx similarity index 100% rename from asset/maps/map_1_v_3.tmx rename to asset/maps/oldMap/map_1_v_3.tmx diff --git a/asset/maps/map_1_v_4.tmx b/asset/maps/oldMap/map_1_v_4.tmx similarity index 100% rename from asset/maps/map_1_v_4.tmx rename to asset/maps/oldMap/map_1_v_4.tmx diff --git a/asset/maps/map_1_v_5.tmx b/asset/maps/oldMap/map_1_v_5.tmx similarity index 100% rename from asset/maps/map_1_v_5.tmx rename to asset/maps/oldMap/map_1_v_5.tmx diff --git a/asset/maps/map_2_v_1.tmx b/asset/maps/oldMap/map_2_v_1.tmx similarity index 100% rename from asset/maps/map_2_v_1.tmx rename to asset/maps/oldMap/map_2_v_1.tmx diff --git a/asset/maps/oldMap/map_2_v_2.tmx b/asset/maps/oldMap/map_2_v_2.tmx new file mode 100644 index 0000000..ce030b2 --- /dev/null +++ b/asset/maps/oldMap/map_2_v_2.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/map_2_v_3.tmx b/asset/maps/oldMap/map_2_v_3.tmx similarity index 100% rename from asset/maps/map_2_v_3.tmx rename to asset/maps/oldMap/map_2_v_3.tmx diff --git a/asset/maps/map_2_v_4.tmx b/asset/maps/oldMap/map_2_v_4.tmx similarity index 100% rename from asset/maps/map_2_v_4.tmx rename to asset/maps/oldMap/map_2_v_4.tmx diff --git a/asset/maps/map_3_v_1.tmx b/asset/maps/oldMap/map_3_v_1.tmx similarity index 100% rename from asset/maps/map_3_v_1.tmx rename to asset/maps/oldMap/map_3_v_1.tmx diff --git a/asset/maps/map_3_v_2.tmx b/asset/maps/oldMap/map_3_v_2.tmx similarity index 100% rename from asset/maps/map_3_v_2.tmx rename to asset/maps/oldMap/map_3_v_2.tmx diff --git a/asset/maps/oldMap/map_3_v_3.tmx b/asset/maps/oldMap/map_3_v_3.tmx new file mode 100644 index 0000000..731e859 --- /dev/null +++ b/asset/maps/oldMap/map_3_v_3.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/map_4_v_1.tmx b/asset/maps/oldMap/map_4_v_1.tmx similarity index 100% rename from asset/maps/map_4_v_1.tmx rename to asset/maps/oldMap/map_4_v_1.tmx diff --git a/asset/maps/map_4_v_2.tmx b/asset/maps/oldMap/map_4_v_2.tmx similarity index 100% rename from asset/maps/map_4_v_2.tmx rename to asset/maps/oldMap/map_4_v_2.tmx diff --git a/asset/maps/map_5_v_1.tmx b/asset/maps/oldMap/map_5_v_1.tmx similarity index 100% rename from asset/maps/map_5_v_1.tmx rename to asset/maps/oldMap/map_5_v_1.tmx diff --git a/asset/maps/oldMap/map_test.tmx b/asset/maps/oldMap/map_test.tmx new file mode 100644 index 0000000..fb363e5 --- /dev/null +++ b/asset/maps/oldMap/map_test.tmx @@ -0,0 +1,34 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + + \ No newline at end of file diff --git a/asset/maps/test_map_3_v_3.tmx b/asset/maps/oldMap/test_map_3_v_3.tmx similarity index 100% rename from asset/maps/test_map_3_v_3.tmx rename to asset/maps/oldMap/test_map_3_v_3.tmx diff --git a/src/Game.py b/src/Game.py index 56839c5..1615cf7 100644 --- a/src/Game.py +++ b/src/Game.py @@ -7,6 +7,8 @@ from .TeamBattleMode import TeamBattleMode from .game_module.fuctions import get_sprites_progress_data +from .GenerateMap import MapGenerator + MAP_WIDTH = 1000 MAP_HEIGHT = 600 GAME_DIR = path.dirname(__file__) @@ -111,6 +113,8 @@ def set_game_mode(self): sound_path = "" if self.is_sound: sound_path = SOUND_DIR - play_rect_area = pygame.Rect(0, 0, MAP_WIDTH, MAP_HEIGHT) + map_width, map_height = MapGenerator(1, 1).getScreeenSize() + # play_rect_area = pygame.Rect(0, 0, MAP_WIDTH, MAP_HEIGHT) + play_rect_area = pygame.Rect(0, 0, map_width, MAP_HEIGHT) game_mode = TeamBattleMode(self.green_team_num, self.blue_team_num, self.is_manual, self.frame_limit, sound_path, play_rect_area) return game_mode diff --git a/src/GenerateMap.py b/src/GenerateMap.py new file mode 100644 index 0000000..a6cc664 --- /dev/null +++ b/src/GenerateMap.py @@ -0,0 +1,155 @@ +from os import path +import random +import math + + +PLAYER_NUM = 1 +OIL_NUM = 2 +BULLET_NUM = 2 +MAP_DIR = path.join(path.dirname(__file__), "..", "asset", 'maps') +MAP_VERSION = "1.9" +TILED_VERSION = "1.9.2" + +class MapGenerator: + + def __init__(self, green_team_num : int, blue_team_num : int) -> None: + + self.green_team_num = green_team_num + self.blue_team_num = blue_team_num + + #height should be a factor of 600 + #default is 20, 12 + + self.width = 40 + self.height = 24 + + self.height_per_tile = math.floor(600/self.height) + self.width_per_tile = self.height_per_tile + + self.screen_width = self.width * self.height_per_tile + self.screen_height = 700 + + + def getTileSize(self) -> int: + return self.height_per_tile + + def getScreeenSize(self) -> tuple: + return self.screen_width, self.screen_height + + + def pos2index(self, x : int, y : int) -> int: + return y * (self.width * 2 + 1) + x * 2 + + def mirrored_pos(self, x : int, y : int) -> tuple: + return self.width - x - 1, self.height - y - 1 + + + def random_pos(self, map_arr) -> tuple: + random_x, random_y = random.randint(1, self.width-2), random.randint(1, self.height-2) + mir_x, mir_y = self.mirrored_pos(random_x, random_y) + while map_arr[random_y][random_x] != 0 or map_arr[mir_y][mir_x] != 0: + random_x, random_y = random.randint(1, self.width-2), random.randint(1, self.height-2) + mir_x, mir_y = self.mirrored_pos(random_x, random_y) + + return random_x, random_y + + def generate_map_str(self) -> str: + + #generate default map[y][x] + map_arr = [[0 for _ in range(self.width)] for _ in range(self.height)] + + for x in range(self.width): + map_arr[0][x] = 3 + map_arr[self.height-1][x] = 3 + + for y in range(self.height): + map_arr[y][0] = 3 + map_arr[y][self.width-1] = 3 + + if self.width % 2 == 1: + for y in range(1, self.height-1): + map_arr[y][self.width//2] = 3 + else: + for y in range(1, self.height): + if y < math.ceil(self.height/2): + map_arr[y][self.width//2-1] = 3 + else: + map_arr[y][self.width//2] = 3 + + #add player + for _ in range(min(self.green_team_num, self.blue_team_num)): + rand_x, rand_y = self.random_pos(map_arr) + while rand_x < self.width // 2: + rand_x, rand_y = self.random_pos(map_arr) + mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) + + map_arr[rand_y][rand_x] = 1 + map_arr[mir_y][mir_x] = 2 + + #add remaining green team + for _ in range(self.green_team_num - self.blue_team_num): + rand_x, rand_y = self.random_pos(map_arr) + while rand_x < self.width // 2: + rand_x, rand_y = self.random_pos(map_arr) + + map_arr[rand_y][rand_x] = 1 + + #add remaining blue team + for _ in range(self.blue_team_num - self.green_team_num): + rand_x, rand_y = self.random_pos(map_arr) + while rand_x >= self.width // 2: + rand_x, rand_y = self.random_pos(map_arr) + + map_arr[rand_y][rand_x] = 2 + + #add bullet station + for _ in range(BULLET_NUM): + rand_x, rand_y = self.random_pos(map_arr) + mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) + map_arr[rand_y][rand_x] = 4 + map_arr[mir_y][mir_x] = 4 + + #add oil station + for _ in range(OIL_NUM): + rand_x, rand_y = self.random_pos(map_arr) + mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) + map_arr[rand_y][rand_x] = 5 + map_arr[mir_y][mir_x] = 5 + + map_str = "" + + for row in map_arr: + for id in row: + map_str += str(id) + "," + map_str += "\n" + map_str = map_str[:-2] + + return map_str + + def generate_map(self): + map_name = f"map_{self.green_team_num}_v_{self.blue_team_num}.tmx" + map_path = path.join(MAP_DIR, map_name) + print(f'generate map at : {map_path}', flush=True) + + + with open(map_path, "w") as file: + # file.write("test") + file.write(f"""\ + + + + + + + +{self.generate_map_str()} + + + + """) + +if __name__ == "__main__": + map_generator = MapGenerator(1, 1) + map_generator.generate_map() + + diff --git a/src/TeamBattleMode.py b/src/TeamBattleMode.py index 8323b0f..507e434 100644 --- a/src/TeamBattleMode.py +++ b/src/TeamBattleMode.py @@ -18,6 +18,7 @@ from .collide_hit_rect import * from .env import * from .game_module.fuctions import set_topleft, add_score, set_shoot +from .GenerateMap import MapGenerator class TeamBattleMode: @@ -29,8 +30,12 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra self.blue_team_num = blue_team_num if (6 - (green_team_num + blue_team_num)) >= 0 else (6 - green_team_num) self.map_name = f"map_{green_team_num}_v_{self.blue_team_num}.tmx" if not IS_DEBUG else f"test_map_{green_team_num}_v_{self.blue_team_num}.tmx" self.map_path = path.join(MAP_DIR, self.map_name) + self.map_generator = MapGenerator(self.green_team_num, self.blue_team_num) + self.tileSize = self.map_generator.getTileSize() + self.map_generator.generate_map() self.map = TiledMap(self.map_path) - self.scene_width = self.map.map_width + # self.scene_width = self.map.map_width + self.scene_width, _ = self.map_generator.getScreeenSize() self.scene_height = self.map.map_height + 100 self.width_center = self.scene_width // 2 self.height_center = self.scene_height // 2 @@ -101,9 +106,10 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra for pos in self.all_pos_list: no = random.randrange(3) self.background.append( - create_image_view_data(f"floor_{no}", pos[0], pos[1], 50, 50, 0)) + create_image_view_data(f"floor_{no}", pos[0], pos[1], self.tileSize, self.tileSize, 0)) self.obj_list = [self.oil_stations, self.bullet_stations, self.bullets, self.all_players, self.guns, self.walls] self.background.append(create_image_view_data("border", 0, -50, self.scene_width, WINDOW_HEIGHT, 0)) + # self.background.append(create_image_view_data("border", 0, -self.tileSize, self.scene_width, self.scene_height, 0)) def update(self, command: dict): # refactor @@ -296,21 +302,26 @@ def get_init_image_data(self): def get_toggle_progress_data(self): toggle_data = [] hourglass_index = 0 + hourglass_size = self.tileSize*20/50 if self.is_manual: hourglass_index = self.used_frame // 10 % 15 toggle_data.append( - create_image_view_data(image_id=f"hourglass_{hourglass_index}", x=0, y=2, width=20, height=20, angle=0)) + # create_image_view_data(image_id=f"hourglass_{hourglass_index}", x=0, y=2, width=20, height=20, angle=0)) + create_image_view_data(image_id=f"hourglass_{hourglass_index}", x=0, y=2, width=hourglass_size, height=hourglass_size, angle=0)) x = 23 y = 8 for frame in range((self.frame_limit - self.used_frame) // int((30 * 2))): toggle_data.append(create_rect_view_data("frame", x, y, 3, 10, RED)) x += 3.5 + # toggle_data.append(create_text_view_data(f"Frame: {self.frame_limit - self.used_frame}", + # self.width_center + self.width_center // 2 + 85, 8, RED, + # "24px Arial BOLD")) toggle_data.append(create_text_view_data(f"Frame: {self.frame_limit - self.used_frame}", - self.width_center + self.width_center // 2 + 85, 8, RED, + self.scene_width-165, 8, RED, "24px Arial BOLD")) x = 24 y = 20 - for score in range(min(self.team_green_score, self. team_blue_score)): + for score in range(min(self.team_green_score, self.team_blue_score)): toggle_data.append(create_rect_view_data(name="score", x=x, y=y, width=1, height=10, color=ORANGE)) x += 1.5 if x > self.width_center: @@ -332,12 +343,15 @@ def get_toggle_progress_data(self): y = 32 x = 24 # 1P - x = WINDOW_WIDTH - 125 - y = WINDOW_HEIGHT - 40 + # x = WINDOW_WIDTH - 125 + # y = WINDOW_HEIGHT - 40 + x = self.scene_width - 125 + y = self.scene_height - 40 toggle_data.append(create_text_view_data(f"Score: {self.team_green_score}", x, y, DARKGREEN, "24px Arial BOLD")) # 2P x = 5 - y = WINDOW_HEIGHT - 40 + # y = WINDOW_HEIGHT - 40 + y = self.scene_height - 40 toggle_data.append(create_text_view_data(f"Score: {self.team_blue_score}", x, y, BLUE, "24px Arial BOLD")) for player in self.all_players: if isinstance(player, Player) and player.is_alive: @@ -350,7 +364,7 @@ def get_toggle_progress_data(self): toggle_data.append( create_text_view_data(f"{player.no}P", x - 5, y - 25, color, "22px Arial BOLD")) for live in range(1, player.lives+1): - toggle_data.append(create_image_view_data(f"{team_id}_{live}", x, y, LIVES_SIZE[0], LIVES_SIZE[1])) + toggle_data.append(create_image_view_data(f"{team_id}_{live}", x, y, LIVES_SIZE[0], LIVES_SIZE[1])) x += 10 y -= 10 return toggle_data @@ -371,11 +385,17 @@ def get_toggle_with_bias_data(self): team_id = "team_b" # oil y = player.rect.bottom + multiplier = self.tileSize / 50 + x = player.rect.x - 25 * (1 - multiplier) + # toggle_with_bias_data.append(create_rect_view_data(f"{team_id}_oil", x, y, int(player.oil*0.5)*multiplier, 8*multiplier, ORANGE)) toggle_with_bias_data.append(create_rect_view_data(f"{team_id}_oil", x, y, int(player.oil*0.5), 8, ORANGE)) + # power y = player.rect.bottom + 10 + # x = player.rect.midbottom - 4 for power in range(player.power): toggle_with_bias_data.append(create_rect_view_data(f"{team_id}_power", x+1, y, 3, 8, BLUE)) + # toggle_with_bias_data.append(create_rect_view_data(f"{team_id}_power", x+1, y, 3*multiplier, 8*multiplier, BLUE)) x += 5 return toggle_with_bias_data From 966dfb91cd3c721b0c1f9bfefdb0711639e0b330 Mon Sep 17 00:00:00 2001 From: Bennywang1007 Date: Sun, 10 Sep 2023 18:03:44 +0800 Subject: [PATCH 2/4] Changed speed and size of bullets and players. --- asset/maps/map_1_v_1.tmx | 44 ++++++++++++++++++++++++++++++++-------- src/Bullet.py | 9 ++++---- src/Game.py | 6 +++--- src/GenerateMap.py | 6 +++--- src/Player.py | 4 ++-- src/TeamBattleMode.py | 8 ++++++-- 6 files changed, 54 insertions(+), 23 deletions(-) diff --git a/asset/maps/map_1_v_1.tmx b/asset/maps/map_1_v_1.tmx index 0cc0fef..85f7dc4 100644 --- a/asset/maps/map_1_v_1.tmx +++ b/asset/maps/map_1_v_1.tmx @@ -1,30 +1,56 @@ - - + + - + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,4,0,4,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,4,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, diff --git a/src/Bullet.py b/src/Bullet.py index 10ba001..c86bd3c 100644 --- a/src/Bullet.py +++ b/src/Bullet.py @@ -3,7 +3,8 @@ import pygame from mlgame.view.view_model import create_asset_init_data, create_image_view_data -from .env import WINDOW_HEIGHT, WINDOW_WIDTH, IMAGE_DIR +from .env import WINDOW_HEIGHT, WINDOW_WIDTH, IMAGE_DIR, BULLET_SIZE + Vec = pygame.math.Vector2 @@ -17,7 +18,7 @@ def __init__(self, construction, **kwargs): self.rect.center = construction["_init_pos"] self.rot = kwargs["rot"] self.play_rect_area = kwargs["play_rect_area"] - self.speed = kwargs["bullet_speed"] + self.speed = kwargs["bullet_speed"] * construction["_init_size"][0] / BULLET_SIZE[0] self.map_width = WINDOW_WIDTH self.map_height = WINDOW_HEIGHT self.angle = 3.14 / 180 * (self.rot + 90) @@ -29,9 +30,9 @@ def __init__(self, construction, **kwargs): "left": Vec(-self.speed, 0), "right": Vec(self.speed, 0), "up": Vec(0, -self.speed), "down": Vec(0, self.speed)} - assert kwargs["bullet_travel_distance"] % self.speed == 0, "bullet_travel_distance must be a multiple of bullet_speed" + # assert kwargs["bullet_travel_distance"] % self.speed == 0, "bullet_travel_distance must be a multiple of bullet_speed" - self.max_travel_distance = kwargs["bullet_travel_distance"] + self.max_travel_distance = kwargs["bullet_travel_distance"] * construction["_init_size"][0] / BULLET_SIZE[0] self.travel_distance = 0 def update(self): diff --git a/src/Game.py b/src/Game.py index 1615cf7..f2ae95a 100644 --- a/src/Game.py +++ b/src/Game.py @@ -113,8 +113,8 @@ def set_game_mode(self): sound_path = "" if self.is_sound: sound_path = SOUND_DIR - map_width, map_height = MapGenerator(1, 1).getScreeenSize() - # play_rect_area = pygame.Rect(0, 0, MAP_WIDTH, MAP_HEIGHT) - play_rect_area = pygame.Rect(0, 0, map_width, MAP_HEIGHT) + # map_width, map_height = MapGenerator(1, 1).getScreeenSize() + play_rect_area = pygame.Rect(0, 0, MAP_WIDTH, MAP_HEIGHT) + # play_rect_area = pygame.Rect(0, 0, map_width, MAP_HEIGHT) game_mode = TeamBattleMode(self.green_team_num, self.blue_team_num, self.is_manual, self.frame_limit, sound_path, play_rect_area) return game_mode diff --git a/src/GenerateMap.py b/src/GenerateMap.py index a6cc664..099b2d4 100644 --- a/src/GenerateMap.py +++ b/src/GenerateMap.py @@ -12,7 +12,7 @@ class MapGenerator: - def __init__(self, green_team_num : int, blue_team_num : int) -> None: + def __init__(self, green_team_num : int, blue_team_num : int, width : int, height : int) -> None: self.green_team_num = green_team_num self.blue_team_num = blue_team_num @@ -20,8 +20,8 @@ def __init__(self, green_team_num : int, blue_team_num : int) -> None: #height should be a factor of 600 #default is 20, 12 - self.width = 40 - self.height = 24 + self.width = width + self.height = height self.height_per_tile = math.floor(600/self.height) self.width_per_tile = self.height_per_tile diff --git a/src/Player.py b/src/Player.py index ea5c36e..b880640 100644 --- a/src/Player.py +++ b/src/Player.py @@ -7,6 +7,7 @@ from .env import TURN_LEFT_CMD, TURN_RIGHT_CMD, FORWARD_CMD, BACKWARD_CMD, \ AIM_LEFT_CMD, AIM_RIGHT_CMD, SHOOT, SHOOT_COOLDOWN, IMAGE_DIR, ORANGE, BLUE, IS_DEBUG from .Gun import Gun +from .GenerateMap import MapGenerator Vec = pygame.math.Vector2 @@ -37,8 +38,7 @@ def __init__(self, construction, **kwargs): self.lives = 3 self.power = 10 self.vel = Vec(0, 0) - - self.speed = 8 + self.speed = 8 * construction["_init_size"][0] / 50 # TODO refactor use vel self.move_dict = {"left_up": Vec(-self.speed, -self.speed), "right_up": Vec(self.speed, -self.speed), "left_down": Vec(-self.speed, self.speed), "right_down": Vec(self.speed, self.speed), diff --git a/src/TeamBattleMode.py b/src/TeamBattleMode.py index 507e434..b16a520 100644 --- a/src/TeamBattleMode.py +++ b/src/TeamBattleMode.py @@ -30,8 +30,9 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra self.blue_team_num = blue_team_num if (6 - (green_team_num + blue_team_num)) >= 0 else (6 - green_team_num) self.map_name = f"map_{green_team_num}_v_{self.blue_team_num}.tmx" if not IS_DEBUG else f"test_map_{green_team_num}_v_{self.blue_team_num}.tmx" self.map_path = path.join(MAP_DIR, self.map_name) - self.map_generator = MapGenerator(self.green_team_num, self.blue_team_num) + self.map_generator = MapGenerator(self.green_team_num, self.blue_team_num, 40, 24) self.tileSize = self.map_generator.getTileSize() + self.size_multiplier = self.tileSize / 50 self.map_generator.generate_map() self.map = TiledMap(self.map_path) # self.scene_width = self.map.map_width @@ -40,6 +41,7 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra self.width_center = self.scene_width // 2 self.height_center = self.scene_height // 2 self.play_rect_area = play_rect_area + self.play_rect_area.width = self.scene_width self.used_frame = 0 self.state = GameResultState.FAIL self.status = GameStatus.GAME_ALIVE @@ -239,7 +241,7 @@ def create_bullet(self, sprites: pygame.sprite.Group): continue bullet_speed = 30 self.sound_controller.play_sound("shoot", 0.03, -1) - init_data = create_construction(sprite.id, sprite.no, sprite.rect.center, (BULLET_SIZE[0], BULLET_SIZE[1])) + init_data = create_construction(sprite.id, sprite.no, sprite.rect.center, (BULLET_SIZE[0] * self.size_multiplier, BULLET_SIZE[1] * self.size_multiplier)) bullet = Bullet(init_data, rot=sprite.gun.get_rot(), margin=2, spacing=2, bullet_speed=bullet_speed, bullet_travel_distance=600 , play_rect_area=self.play_rect_area) self.bullets.add(bullet) @@ -424,6 +426,7 @@ def get_ai_data_to_player(self): to_game_data["bullets_info"] = bullets_info to_game_data["bullet_stations_info"] = bullet_stations_info to_game_data["oil_stations_info"] = oil_stations_info + to_game_data["size_multiplier"] = self.size_multiplier to_player_data[get_ai_name(num)] = to_game_data num += 1 for player in self.players_b: @@ -437,6 +440,7 @@ def get_ai_data_to_player(self): to_game_data["bullets_info"] = bullets_info to_game_data["bullet_stations_info"] = bullet_stations_info to_game_data["oil_stations_info"] = oil_stations_info + to_game_data["size_multiplier"] = self.size_multiplier to_player_data[get_ai_name(num)] = to_game_data num += 1 From 5ea97abdca48b79f31f6a9a31cbfb29449d6b284 Mon Sep 17 00:00:00 2001 From: Bennywang1007 Date: Sun, 10 Sep 2023 18:36:59 +0800 Subject: [PATCH 3/4] Changed speed and size of bullets and players. --- asset/maps/map_1_v_1.tmx | 44 ++++++++-------------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/asset/maps/map_1_v_1.tmx b/asset/maps/map_1_v_1.tmx index 85f7dc4..0cc0fef 100644 --- a/asset/maps/map_1_v_1.tmx +++ b/asset/maps/map_1_v_1.tmx @@ -1,56 +1,30 @@ - - + + - + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,4,0,4,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,4,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, From 26654c17864feb4bcce6ee3a165f5fbd227370e2 Mon Sep 17 00:00:00 2001 From: Bennywang1007 Date: Thu, 28 Sep 2023 00:44:56 +0800 Subject: [PATCH 4/4] Add unbreakable walls and update some parameters --- asset/image/TankManObj_new.png | Bin 0 -> 23599 bytes asset/image/wall_unbreak.png | Bin 0 -> 5211 bytes asset/maps/map_1_v_1.tmx | 36 ++++---- asset/maps/map_2_v_2.tmx | 45 ++++------ asset/maps/map_3_v_3.tmx | 31 ++++--- asset/maps/oldMap/map.tmx | 25 ++++++ asset/maps/oldMap/map_0.tmx | 22 +++++ asset/maps/oldMap/map_00.tmx | 22 +++++ asset/maps/oldMap/map_01.tmx | 22 +++++ asset/maps/oldMap/map_011.tmx | 22 +++++ asset/maps/oldMap/map_012.tmx | 22 +++++ asset/maps/oldMap/map_013.tmx | 22 +++++ asset/maps/oldMap/map_014.tmx | 22 +++++ asset/maps/oldMap/map_015.tmx | 22 +++++ asset/maps/oldMap/map_02.tmx | 22 +++++ asset/maps/oldMap/map_1_v_1.tmx | 22 +++++ asset/maps/oldMap/map_1_v_2.tmx | 22 +++++ asset/maps/oldMap/map_1_v_3.tmx | 22 +++++ asset/maps/oldMap/map_1_v_4.tmx | 22 +++++ asset/maps/oldMap/map_1_v_5.tmx | 22 +++++ asset/maps/oldMap/map_2_v_1.tmx | 22 +++++ asset/maps/oldMap/map_2_v_2.tmx | 22 +++++ asset/maps/oldMap/map_2_v_3.tmx | 22 +++++ asset/maps/oldMap/map_2_v_4.tmx | 22 +++++ asset/maps/oldMap/map_3_v_1.tmx | 22 +++++ asset/maps/oldMap/map_3_v_2.tmx | 22 +++++ asset/maps/oldMap/map_3_v_3.tmx | 22 +++++ asset/maps/oldMap/map_4_v_1.tmx | 22 +++++ asset/maps/oldMap/map_4_v_2.tmx | 22 +++++ asset/maps/oldMap/map_5_v_1.tmx | 22 +++++ asset/maps/oldMap/map_test.tmx | 34 ++++++++ asset/maps/oldMap/test_map_3_v_3.tmx | 22 +++++ src/Bullet.py | 9 +- src/Game.py | 4 +- src/{GenerateMap.py => MapGenerator.py} | 107 +++++++++++++++++------- src/Player.py | 4 +- src/TeamBattleMode.py | 59 +++++++++---- src/Unbreakable_Wall.py | 38 +++++++++ src/collide_hit_rect.py | 5 +- src/env.py | 1 + 40 files changed, 829 insertions(+), 119 deletions(-) create mode 100644 asset/image/TankManObj_new.png create mode 100644 asset/image/wall_unbreak.png create mode 100644 asset/maps/oldMap/map.tmx create mode 100644 asset/maps/oldMap/map_0.tmx create mode 100644 asset/maps/oldMap/map_00.tmx create mode 100644 asset/maps/oldMap/map_01.tmx create mode 100644 asset/maps/oldMap/map_011.tmx create mode 100644 asset/maps/oldMap/map_012.tmx create mode 100644 asset/maps/oldMap/map_013.tmx create mode 100644 asset/maps/oldMap/map_014.tmx create mode 100644 asset/maps/oldMap/map_015.tmx create mode 100644 asset/maps/oldMap/map_02.tmx create mode 100644 asset/maps/oldMap/map_1_v_1.tmx create mode 100644 asset/maps/oldMap/map_1_v_2.tmx create mode 100644 asset/maps/oldMap/map_1_v_3.tmx create mode 100644 asset/maps/oldMap/map_1_v_4.tmx create mode 100644 asset/maps/oldMap/map_1_v_5.tmx create mode 100644 asset/maps/oldMap/map_2_v_1.tmx create mode 100644 asset/maps/oldMap/map_2_v_2.tmx create mode 100644 asset/maps/oldMap/map_2_v_3.tmx create mode 100644 asset/maps/oldMap/map_2_v_4.tmx create mode 100644 asset/maps/oldMap/map_3_v_1.tmx create mode 100644 asset/maps/oldMap/map_3_v_2.tmx create mode 100644 asset/maps/oldMap/map_3_v_3.tmx create mode 100644 asset/maps/oldMap/map_4_v_1.tmx create mode 100644 asset/maps/oldMap/map_4_v_2.tmx create mode 100644 asset/maps/oldMap/map_5_v_1.tmx create mode 100644 asset/maps/oldMap/map_test.tmx create mode 100644 asset/maps/oldMap/test_map_3_v_3.tmx rename src/{GenerateMap.py => MapGenerator.py} (59%) create mode 100644 src/Unbreakable_Wall.py diff --git a/asset/image/TankManObj_new.png b/asset/image/TankManObj_new.png new file mode 100644 index 0000000000000000000000000000000000000000..626fcb1e09406676991c9c86d13eba68dae5d272 GIT binary patch literal 23599 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

LZC0in63$uhVQbaHc{k<5 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 V)k_6s+}8jA002ovPDHLkV1nG(1C;;( literal 0 HcmV?d00001 diff --git a/asset/maps/map_1_v_1.tmx b/asset/maps/map_1_v_1.tmx index 0d83e0e..74fb28c 100644 --- a/asset/maps/map_1_v_1.tmx +++ b/asset/maps/map_1_v_1.tmx @@ -1,33 +1,33 @@ - - + + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,4,0,0,5,0,0,0,0,0,0,6,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,4,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,6,0,0,0,0,0,0,5,0,0,4,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,3, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 diff --git a/asset/maps/map_2_v_2.tmx b/asset/maps/map_2_v_2.tmx index a6b1cf0..aa58154 100644 --- a/asset/maps/map_2_v_2.tmx +++ b/asset/maps/map_2_v_2.tmx @@ -1,35 +1,22 @@ - - + + - + -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,2,0,0,0,0,0,4,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,4,0,0,0,0,0,1,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,5,0,0,0,0,0,0,0,3, +3,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,3, +3,0,0,0,0,0,0,0,5,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + - \ No newline at end of file diff --git a/asset/maps/map_3_v_3.tmx b/asset/maps/map_3_v_3.tmx index b623fda..5e22ec6 100644 --- a/asset/maps/map_3_v_3.tmx +++ b/asset/maps/map_3_v_3.tmx @@ -6,30 +6,29 @@ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,5,0,0,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - + - \ No newline at end of file diff --git a/asset/maps/oldMap/map.tmx b/asset/maps/oldMap/map.tmx new file mode 100644 index 0000000..3d377de --- /dev/null +++ b/asset/maps/oldMap/map.tmx @@ -0,0 +1,25 @@ + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + diff --git a/asset/maps/oldMap/map_0.tmx b/asset/maps/oldMap/map_0.tmx new file mode 100644 index 0000000..ce030b2 --- /dev/null +++ b/asset/maps/oldMap/map_0.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_00.tmx b/asset/maps/oldMap/map_00.tmx new file mode 100644 index 0000000..2a17a81 --- /dev/null +++ b/asset/maps/oldMap/map_00.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3, +3,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,3, +3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_01.tmx b/asset/maps/oldMap/map_01.tmx new file mode 100644 index 0000000..0a628cc --- /dev/null +++ b/asset/maps/oldMap/map_01.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,5,0,0,0,0,3,3,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,2,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,1,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,3,3,0,0,0,0,5,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_011.tmx b/asset/maps/oldMap/map_011.tmx new file mode 100644 index 0000000..9539afd --- /dev/null +++ b/asset/maps/oldMap/map_011.tmx @@ -0,0 +1,22 @@ + + + + + + + +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5, +0,3,3,3,0,0,3,0,0,3,3,3,0,0,3,0,0,3,3,0, +0,3,0,3,0,3,0,3,0,0,3,0,0,3,0,3,0,3,3,0, +0,3,3,3,0,3,3,3,0,0,3,0,0,3,3,3,0,0,0,0, +0,3,0,0,0,3,0,3,0,3,3,3,0,3,0,3,0,3,3,0, +0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,1,0, +0,2,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0, +0,3,3,0,3,0,3,0,3,3,3,0,3,0,3,0,0,0,3,0, +0,0,0,0,3,3,3,0,0,3,0,0,3,3,3,0,3,3,3,0, +0,3,3,0,3,0,3,0,0,3,0,0,3,0,3,0,3,0,3,0, +0,3,3,0,0,3,0,0,3,3,3,0,0,3,0,0,3,3,3,0, +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5 + + + diff --git a/asset/maps/oldMap/map_012.tmx b/asset/maps/oldMap/map_012.tmx new file mode 100644 index 0000000..bc25464 --- /dev/null +++ b/asset/maps/oldMap/map_012.tmx @@ -0,0 +1,22 @@ + + + + + + + +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +0,3,3,3,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0, +0,3,5,3,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0, +0,3,3,3,0,0,0,0,0,0,3,0,0,0,3,0,0,1,0,0, +0,3,0,0,0,0,0,0,0,0,3,5,3,0,3,0,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,3,0,3,0,0,0,0,0,0, +0,0,0,0,3,3,3,3,3,0,0,0,0,0,0,0,0,3,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,5,3,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,3,0, +0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,3,3,3,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,3,0, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4 + + + diff --git a/asset/maps/oldMap/map_013.tmx b/asset/maps/oldMap/map_013.tmx new file mode 100644 index 0000000..3636bae --- /dev/null +++ b/asset/maps/oldMap/map_013.tmx @@ -0,0 +1,22 @@ + + + + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3,3,0,3,3,0,0,0,0,1,0,0, +0,0,0,3,0,0,0,3,3,3,3,3,3,3,0,0,3,3,3,0, +0,0,3,0,3,0,0,3,3,3,3,3,3,3,0,0,4,3,0,0, +0,3,0,0,0,3,0,0,3,3,3,3,3,0,0,0,0,3,0,0, +0,3,0,0,0,3,0,0,0,3,3,3,0,0,0,0,0,3,0,0, +0,3,3,3,3,3,0,0,0,0,3,0,0,0,0,0,0,3,0,0, +0,3,0,4,0,3,0,0,0,0,4,0,0,0,0,0,0,3,0,0, +0,3,0,0,0,3,0,0,0,0,5,0,0,0,0,0,3,3,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + diff --git a/asset/maps/oldMap/map_014.tmx b/asset/maps/oldMap/map_014.tmx new file mode 100644 index 0000000..722245f --- /dev/null +++ b/asset/maps/oldMap/map_014.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,3,3,3,0,0,0,0,0,3,3,3,3,3,0,3,3, +3,0,3,0,3,3,3,0,2,0,0,0,3,3,3,3,0,3,0,3, +3,0,0,0,3,3,3,0,0,0,0,0,3,3,3,3,0,0,0,3, +3,0,3,3,3,3,3,3,3,3,4,0,3,0,3,3,0,3,0,3, +3,3,3,3,3,3,5,0,0,0,0,0,3,0,3,3,3,3,3,3, +3,3,3,3,3,3,0,3,0,0,0,0,0,5,3,3,3,3,3,3, +3,3,0,0,0,3,0,3,0,4,3,3,3,3,3,3,0,3,3,3, +3,3,3,0,3,3,3,3,0,0,0,0,0,3,3,0,3,0,3,3, +3,3,3,0,3,3,3,3,0,0,0,1,0,3,3,0,0,0,3,3, +3,3,0,0,0,3,3,3,0,0,0,0,0,3,3,0,3,0,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_015.tmx b/asset/maps/oldMap/map_015.tmx new file mode 100644 index 0000000..78716c0 --- /dev/null +++ b/asset/maps/oldMap/map_015.tmx @@ -0,0 +1,22 @@ + + + + + + + +0,3,0,0,0,0,0,0,0,0,4,3,0,0,0,0,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,3,0,0,0,0,0,3,0,0,0,3,0,0,0,0,3,0,0,0, +0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,0, +0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,0,1,3, +5,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5, +0,0,0,0,0,3,0,0,0,3,0,0,0,0,3,0,0,0,0,0, +0,0,0,0,4,3,0,0,0,3,0,0,0,0,3,0,0,3,0,0, +0,0,0,0,0,0,0,0,4,3,0,0,0,0,3,0,0,3,0,0, +0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3,0,0, +0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0 + + + diff --git a/asset/maps/oldMap/map_02.tmx b/asset/maps/oldMap/map_02.tmx new file mode 100644 index 0000000..adf2948 --- /dev/null +++ b/asset/maps/oldMap/map_02.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,5,4,0,0,0,3,3,0,0,0,5,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,1,0,0,3, +3,0,2,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,5,0,0,0,3,3,0,0,0,4,5,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_1_v_1.tmx b/asset/maps/oldMap/map_1_v_1.tmx new file mode 100644 index 0000000..e1683e0 --- /dev/null +++ b/asset/maps/oldMap/map_1_v_1.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_1_v_2.tmx b/asset/maps/oldMap/map_1_v_2.tmx new file mode 100644 index 0000000..83e3162 --- /dev/null +++ b/asset/maps/oldMap/map_1_v_2.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_1_v_3.tmx b/asset/maps/oldMap/map_1_v_3.tmx new file mode 100644 index 0000000..bc119dc --- /dev/null +++ b/asset/maps/oldMap/map_1_v_3.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_1_v_4.tmx b/asset/maps/oldMap/map_1_v_4.tmx new file mode 100644 index 0000000..35fc93d --- /dev/null +++ b/asset/maps/oldMap/map_1_v_4.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_1_v_5.tmx b/asset/maps/oldMap/map_1_v_5.tmx new file mode 100644 index 0000000..fc830ae --- /dev/null +++ b/asset/maps/oldMap/map_1_v_5.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_2_v_1.tmx b/asset/maps/oldMap/map_2_v_1.tmx new file mode 100644 index 0000000..b7101b0 --- /dev/null +++ b/asset/maps/oldMap/map_2_v_1.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_2_v_2.tmx b/asset/maps/oldMap/map_2_v_2.tmx new file mode 100644 index 0000000..ce030b2 --- /dev/null +++ b/asset/maps/oldMap/map_2_v_2.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_2_v_3.tmx b/asset/maps/oldMap/map_2_v_3.tmx new file mode 100644 index 0000000..dba563b --- /dev/null +++ b/asset/maps/oldMap/map_2_v_3.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_2_v_4.tmx b/asset/maps/oldMap/map_2_v_4.tmx new file mode 100644 index 0000000..074a512 --- /dev/null +++ b/asset/maps/oldMap/map_2_v_4.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_3_v_1.tmx b/asset/maps/oldMap/map_3_v_1.tmx new file mode 100644 index 0000000..e172e17 --- /dev/null +++ b/asset/maps/oldMap/map_3_v_1.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_3_v_2.tmx b/asset/maps/oldMap/map_3_v_2.tmx new file mode 100644 index 0000000..3fe8591 --- /dev/null +++ b/asset/maps/oldMap/map_3_v_2.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_3_v_3.tmx b/asset/maps/oldMap/map_3_v_3.tmx new file mode 100644 index 0000000..731e859 --- /dev/null +++ b/asset/maps/oldMap/map_3_v_3.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_4_v_1.tmx b/asset/maps/oldMap/map_4_v_1.tmx new file mode 100644 index 0000000..77b8fc8 --- /dev/null +++ b/asset/maps/oldMap/map_4_v_1.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_4_v_2.tmx b/asset/maps/oldMap/map_4_v_2.tmx new file mode 100644 index 0000000..8935214 --- /dev/null +++ b/asset/maps/oldMap/map_4_v_2.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_5_v_1.tmx b/asset/maps/oldMap/map_5_v_1.tmx new file mode 100644 index 0000000..a3c1345 --- /dev/null +++ b/asset/maps/oldMap/map_5_v_1.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,5,0,0,0,3,0,0,0,0,0,4,0,0,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3, +3,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,4,0,0,0,0,0,3,0,0,0,5,0,0,1,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/asset/maps/oldMap/map_test.tmx b/asset/maps/oldMap/map_test.tmx new file mode 100644 index 0000000..fb363e5 --- /dev/null +++ b/asset/maps/oldMap/map_test.tmx @@ -0,0 +1,34 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + + \ No newline at end of file diff --git a/asset/maps/oldMap/test_map_3_v_3.tmx b/asset/maps/oldMap/test_map_3_v_3.tmx new file mode 100644 index 0000000..23fe5f0 --- /dev/null +++ b/asset/maps/oldMap/test_map_3_v_3.tmx @@ -0,0 +1,22 @@ + + + + + + + +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,2,3,0,3,3,0,3,2,3,1,3,0,3,0,3,0,3,1,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,0,3,0,3,5,3,3,0,3,3,0,3,0,3,4,3,3,0,3, +3,3,3,3,3,3,3,3,3,3,3,3,0,3,0,3,0,3,3,3, +3,0,3,0,3,0,3,0,3,3,0,3,3,3,3,3,3,3,0,3, +3,3,3,3,3,3,3,3,3,0,3,0,3,0,3,0,3,0,3,3, +3,0,3,0,3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3, +3,3,3,3,4,3,3,3,3,0,3,3,0,3,5,3,0,3,0,3, +3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3, +3,2,3,0,3,0,3,3,3,0,3,0,3,0,3,3,0,3,1,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + + diff --git a/src/Bullet.py b/src/Bullet.py index c86bd3c..10ba001 100644 --- a/src/Bullet.py +++ b/src/Bullet.py @@ -3,8 +3,7 @@ import pygame from mlgame.view.view_model import create_asset_init_data, create_image_view_data -from .env import WINDOW_HEIGHT, WINDOW_WIDTH, IMAGE_DIR, BULLET_SIZE - +from .env import WINDOW_HEIGHT, WINDOW_WIDTH, IMAGE_DIR Vec = pygame.math.Vector2 @@ -18,7 +17,7 @@ def __init__(self, construction, **kwargs): self.rect.center = construction["_init_pos"] self.rot = kwargs["rot"] self.play_rect_area = kwargs["play_rect_area"] - self.speed = kwargs["bullet_speed"] * construction["_init_size"][0] / BULLET_SIZE[0] + self.speed = kwargs["bullet_speed"] self.map_width = WINDOW_WIDTH self.map_height = WINDOW_HEIGHT self.angle = 3.14 / 180 * (self.rot + 90) @@ -30,9 +29,9 @@ def __init__(self, construction, **kwargs): "left": Vec(-self.speed, 0), "right": Vec(self.speed, 0), "up": Vec(0, -self.speed), "down": Vec(0, self.speed)} - # assert kwargs["bullet_travel_distance"] % self.speed == 0, "bullet_travel_distance must be a multiple of bullet_speed" + assert kwargs["bullet_travel_distance"] % self.speed == 0, "bullet_travel_distance must be a multiple of bullet_speed" - self.max_travel_distance = kwargs["bullet_travel_distance"] * construction["_init_size"][0] / BULLET_SIZE[0] + self.max_travel_distance = kwargs["bullet_travel_distance"] self.travel_distance = 0 def update(self): diff --git a/src/Game.py b/src/Game.py index a4bc3d4..5ee0e48 100644 --- a/src/Game.py +++ b/src/Game.py @@ -7,7 +7,7 @@ from .TeamBattleMode import TeamBattleMode from .game_module.fuctions import get_sprites_progress_data -from .GenerateMap import MapGenerator +from .MapGenerator import MapGenerator GAME_DIR = path.dirname(__file__) MAP_DIR = path.join(GAME_DIR, "..", "asset", "maps") @@ -111,7 +111,7 @@ def set_game_mode(self): sound_path = "" if self.is_sound: sound_path = SOUND_DIR - map_width, map_height = MapGenerator(1, 1).getScreeenSize() + map_width, map_height = MapGenerator(1, 1, 40, 24).getScreeenSize() play_rect_area = pygame.Rect(0, 0, map_width, map_height-100) game_mode = TeamBattleMode(self.green_team_num, self.blue_team_num, self.is_manual, self.frame_limit, sound_path, play_rect_area) return game_mode diff --git a/src/GenerateMap.py b/src/MapGenerator.py similarity index 59% rename from src/GenerateMap.py rename to src/MapGenerator.py index 8630581..534d922 100644 --- a/src/GenerateMap.py +++ b/src/MapGenerator.py @@ -1,15 +1,26 @@ from os import path import random import math +# from .env import PLAYER_1_IMG_NO, PLAYER_2_IMG_NO, WALL_IMG_NO, BULLET_STATION_IMG_NO, OIL_STATION_IMG_NO, UNBREAK_WALL_IMG_NO + +"""map data numbers""" +PLAYER_1_IMG_NO = 1 +PLAYER_2_IMG_NO = 2 +WALL_IMG_NO = 3 +BULLET_STATION_IMG_NO = 4 +OIL_STATION_IMG_NO = 5 +UNBREAK_WALL_IMG_NO = 6 + PLAYER_NUM = 1 OIL_NUM = 2 BULLET_NUM = 2 +UNBREAK_WALL_NUM = 8 MAP_DIR = path.join(path.dirname(__file__), "..", "asset", 'maps') MAP_VERSION = "1.9" TILED_VERSION = "1.9.2" - +TILE_COUNT = 6 class MapGenerator: @@ -18,8 +29,8 @@ def __init__(self, green_team_num : int, blue_team_num : int, width : int, heigh self.green_team_num = green_team_num self.blue_team_num = blue_team_num - # height should be a factor of 600 - # default is 20, 12 + #height should be a factor of 600 + #default is 20, 12 self.width = width self.height = height @@ -30,18 +41,33 @@ def __init__(self, green_team_num : int, blue_team_num : int, width : int, heigh self.screen_width = self.width * self.height_per_tile self.screen_height = 700 + def get_neighbour(self, x : int, y : int) -> list: + neighbour = [] + if x > 0: + neighbour.append((x-1, y)) + if x < self.width-1: + neighbour.append((x+1, y)) + if y > 0: + neighbour.append((x, y-1)) + if y < self.height-1: + neighbour.append((x, y+1)) + return neighbour + + def getTileSize(self) -> int: return self.height_per_tile def getScreeenSize(self) -> tuple: return self.screen_width, self.screen_height + def pos2index(self, x : int, y : int) -> int: return y * (self.width * 2 + 1) + x * 2 def mirrored_pos(self, x : int, y : int) -> tuple: return self.width - x - 1, self.height - y - 1 + def random_pos(self, map_arr) -> tuple: random_x, random_y = random.randint(1, self.width-2), random.randint(1, self.height-2) mir_x, mir_y = self.mirrored_pos(random_x, random_y) @@ -50,69 +76,90 @@ def random_pos(self, map_arr) -> tuple: mir_x, mir_y = self.mirrored_pos(random_x, random_y) return random_x, random_y + + def random_pos_no_neighbour(self, map_arr) -> tuple: + rand_x, rand_y = self.random_pos(map_arr) + while True: + neighbour = self.get_neighbour(rand_x, rand_y) + fail = False + for x, y in neighbour: + if map_arr[y][x] != 0: + fail = True + if fail: + rand_x, rand_y = self.random_pos(map_arr) + else: + break + return rand_x, rand_y def generate_map_str(self) -> str: - # generate default map[y][x] + #generate default map[y][x] map_arr = [[0 for _ in range(self.width)] for _ in range(self.height)] for x in range(self.width): - map_arr[0][x] = 3 - map_arr[self.height-1][x] = 3 + map_arr[0][x] = WALL_IMG_NO + map_arr[self.height-1][x] = WALL_IMG_NO for y in range(self.height): - map_arr[y][0] = 3 - map_arr[y][self.width-1] = 3 + map_arr[y][0] = WALL_IMG_NO + map_arr[y][self.width-1] = WALL_IMG_NO if self.width % 2 == 1: for y in range(1, self.height-1): - map_arr[y][self.width//2] = 3 + map_arr[y][self.width//2] = WALL_IMG_NO else: for y in range(1, self.height): if y < math.ceil(self.height/2): - map_arr[y][self.width//2-1] = 3 + map_arr[y][self.width//2-1] = WALL_IMG_NO else: - map_arr[y][self.width//2] = 3 + map_arr[y][self.width//2] = WALL_IMG_NO + + #add unbreakable wall + for _ in range(UNBREAK_WALL_NUM): + rand_x, rand_y = self.random_pos_no_neighbour(map_arr) + mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) + map_arr[rand_y][rand_x] = UNBREAK_WALL_IMG_NO + map_arr[mir_y][mir_x] = UNBREAK_WALL_IMG_NO - # add player + #add player for _ in range(min(self.green_team_num, self.blue_team_num)): rand_x, rand_y = self.random_pos(map_arr) while rand_x < self.width // 2: rand_x, rand_y = self.random_pos(map_arr) mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) - map_arr[rand_y][rand_x] = 1 - map_arr[mir_y][mir_x] = 2 + map_arr[rand_y][rand_x] = PLAYER_1_IMG_NO + map_arr[mir_y][mir_x] = PLAYER_2_IMG_NO - # add remaining green team + #add remaining green team for _ in range(self.green_team_num - self.blue_team_num): rand_x, rand_y = self.random_pos(map_arr) while rand_x < self.width // 2: rand_x, rand_y = self.random_pos(map_arr) - map_arr[rand_y][rand_x] = 1 + map_arr[rand_y][rand_x] = PLAYER_1_IMG_NO - # add remaining blue team + #add remaining blue team for _ in range(self.blue_team_num - self.green_team_num): rand_x, rand_y = self.random_pos(map_arr) while rand_x >= self.width // 2: rand_x, rand_y = self.random_pos(map_arr) - map_arr[rand_y][rand_x] = 2 + map_arr[rand_y][rand_x] = PLAYER_2_IMG_NO - # add bullet station + #add bullet station for _ in range(BULLET_NUM): rand_x, rand_y = self.random_pos(map_arr) mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) - map_arr[rand_y][rand_x] = 4 - map_arr[mir_y][mir_x] = 4 + map_arr[rand_y][rand_x] = BULLET_STATION_IMG_NO + map_arr[mir_y][mir_x] = BULLET_STATION_IMG_NO - # add oil station + #add oil station for _ in range(OIL_NUM): rand_x, rand_y = self.random_pos(map_arr) mir_x, mir_y = self.mirrored_pos(rand_x, rand_y) - map_arr[rand_y][rand_x] = 5 - map_arr[mir_y][mir_x] = 5 + map_arr[rand_y][rand_x] = OIL_STATION_IMG_NO + map_arr[mir_y][mir_x] = OIL_STATION_IMG_NO map_str = "" @@ -129,13 +176,14 @@ def generate_map(self): map_path = path.join(MAP_DIR, map_name) print(f'generate map at : {map_path}', flush=True) + with open(map_path, "w") as file: - # file.write("test") + #write map file.write(f"""\ - - + + @@ -144,10 +192,9 @@ def generate_map(self): """) - - + if __name__ == "__main__": - map_generator = MapGenerator(1, 1) + map_generator = MapGenerator(1, 1, 20, 12) map_generator.generate_map() diff --git a/src/Player.py b/src/Player.py index b880640..ea5c36e 100644 --- a/src/Player.py +++ b/src/Player.py @@ -7,7 +7,6 @@ from .env import TURN_LEFT_CMD, TURN_RIGHT_CMD, FORWARD_CMD, BACKWARD_CMD, \ AIM_LEFT_CMD, AIM_RIGHT_CMD, SHOOT, SHOOT_COOLDOWN, IMAGE_DIR, ORANGE, BLUE, IS_DEBUG from .Gun import Gun -from .GenerateMap import MapGenerator Vec = pygame.math.Vector2 @@ -38,7 +37,8 @@ def __init__(self, construction, **kwargs): self.lives = 3 self.power = 10 self.vel = Vec(0, 0) - self.speed = 8 * construction["_init_size"][0] / 50 + + self.speed = 8 # TODO refactor use vel self.move_dict = {"left_up": Vec(-self.speed, -self.speed), "right_up": Vec(self.speed, -self.speed), "left_down": Vec(-self.speed, self.speed), "right_down": Vec(self.speed, self.speed), diff --git a/src/TeamBattleMode.py b/src/TeamBattleMode.py index 9ef25d9..70297b4 100644 --- a/src/TeamBattleMode.py +++ b/src/TeamBattleMode.py @@ -18,7 +18,8 @@ from .collide_hit_rect import * from .env import * from .game_module.fuctions import set_topleft, add_score, set_shoot -from .GenerateMap import MapGenerator +from .MapGenerator import MapGenerator +from .Unbreakable_Wall import Unbreakable_Wall class TeamBattleMode: @@ -35,7 +36,9 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra self.size_multiplier = self.tileSize / 50 self.map_generator.generate_map() self.map = TiledMap(self.map_path) - self.scene_width, self.scene_height = self.map_generator.getScreeenSize() + # self.scene_width = self.map.map_width + self.scene_width, _ = self.map_generator.getScreeenSize() + self.scene_height = self.map.map_height + 100 self.width_center = self.scene_width // 2 self.height_center = self.scene_height // 2 self.play_rect_area = play_rect_area @@ -61,6 +64,7 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra self.all_players = pygame.sprite.Group() self.guns = pygame.sprite.Group() self.walls = pygame.sprite.Group() + self.unbreakable_walls = pygame.sprite.Group() self.bullets = pygame.sprite.Group() self.bullet_stations = pygame.sprite.Group() self.oil_stations = pygame.sprite.Group() @@ -74,6 +78,7 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra self.map.add_init_obj_data(WALL_IMG_NO, Wall, margin=8, spacing=8) self.map.add_init_obj_data(BULLET_STATION_IMG_NO, Station, spawn_cd=30, margin=2, spacing=2, capacity=5, quadrant=1) self.map.add_init_obj_data(OIL_STATION_IMG_NO, Station, spawn_cd=30, margin=2, spacing=2, capacity=30, quadrant=1) + self.map.add_init_obj_data(UNBREAK_WALL_IMG_NO, Unbreakable_Wall, margin=8, spacing=8) # create obj all_obj = self.map.create_init_obj_dict() # init players @@ -93,6 +98,9 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra # init walls self.walls.add(all_obj[WALL_IMG_NO]) self.all_sprites.add(*self.walls) + # init unbreakable walls + self.unbreakable_walls.add(all_obj[UNBREAK_WALL_IMG_NO]) + self.all_sprites.add(*self.unbreakable_walls) # init bullet stations self.bullet_stations.add(all_obj[BULLET_STATION_IMG_NO]) self.all_sprites.add(*self.bullet_stations) @@ -107,7 +115,7 @@ def __init__(self, green_team_num: int, blue_team_num: int, is_manual: bool, fra no = random.randrange(3) self.background.append( create_image_view_data(f"floor_{no}", pos[0], pos[1], self.tileSize, self.tileSize, 0)) - self.obj_list = [self.oil_stations, self.bullet_stations, self.bullets, self.all_players, self.guns, self.walls] + self.obj_list = [self.oil_stations, self.bullet_stations, self.bullets, self.all_players, self.guns, self.walls, self.unbreakable_walls] self.background.append(create_image_view_data("border", 0, -50, self.scene_width, WINDOW_HEIGHT, 0)) # self.background.append(create_image_view_data("border", 0, -self.tileSize, self.scene_width, self.scene_height, 0)) @@ -118,6 +126,7 @@ def update(self, command: dict): self.used_frame += 1 self.check_collisions() self.walls.update() + self.unbreakable_walls.update() self.create_bullet(self.all_players) self.bullets.update() self.bullet_stations.update() @@ -180,6 +189,8 @@ def get_player_result(self) -> list: def check_collisions(self): if not self.is_through_wall: collide_with_walls(self.all_players, self.walls) + collide_with_walls(self.all_players, self.unbreakable_walls) + if not self.is_invincible: player_score_data = collide_with_bullets(self.all_players, self.bullets, self.green_team_num) for player, score in player_score_data.items(): @@ -199,6 +210,7 @@ def check_collisions(self): # Update stations position self.change_obj_pos(supply_stations) + collide_with_bullets(self.unbreakable_walls, self.bullets) player_score_data = collide_with_bullets(self.walls, self.bullets) for player, score in player_score_data.items(): self.add_player_score(player, score) @@ -237,10 +249,11 @@ def create_bullet(self, sprites: pygame.sprite.Group): for sprite in sprites: if not sprite.is_shoot: continue - bullet_speed = 30 + bullet_speed = 30 * self.size_multiplier self.sound_controller.play_sound("shoot", 0.03, -1) + bullet_travel_distance = int(600 * self.size_multiplier) init_data = create_construction(sprite.id, sprite.no, sprite.rect.center, (BULLET_SIZE[0] * self.size_multiplier, BULLET_SIZE[1] * self.size_multiplier)) - bullet = Bullet(init_data, rot=sprite.gun.get_rot(), margin=2, spacing=2, bullet_speed=bullet_speed, bullet_travel_distance=600 + bullet = Bullet(init_data, rot=sprite.gun.get_rot(), margin=2, spacing=2, bullet_speed=bullet_speed, bullet_travel_distance=bullet_travel_distance , play_rect_area=self.play_rect_area) self.bullets.add(bullet) self.all_sprites.add(bullet) @@ -266,6 +279,12 @@ def get_init_image_data(self): for data in wall.get_obj_init_data(): init_image_data.append(data) break + for unbreakable_wall in self.unbreakable_walls: + if isinstance(unbreakable_wall, Unbreakable_Wall): + for data in unbreakable_wall.get_obj_init_data(): + init_image_data.append(data) + break + img_id = ["team_a_bullet", "team_b_bullet"] for id in img_id: img_url = f"https://raw.githubusercontent.com/Jesse-Jumbo/TankMan/main/asset/image/{id}.svg" @@ -302,30 +321,34 @@ def get_init_image_data(self): def get_toggle_progress_data(self): toggle_data = [] hourglass_index = 0 - hourglass_size = self.tileSize + hourglass_size = self.tileSize*20/50 if self.is_manual: hourglass_index = self.used_frame // 10 % 15 toggle_data.append( + # create_image_view_data(image_id=f"hourglass_{hourglass_index}", x=0, y=2, width=20, height=20, angle=0)) create_image_view_data(image_id=f"hourglass_{hourglass_index}", x=0, y=2, width=hourglass_size, height=hourglass_size, angle=0)) - x = 28 + x = 23 y = 8 for frame in range((self.frame_limit - self.used_frame) // int((30 * 2))): - toggle_data.append(create_rect_view_data("frame", x, y, 3, 15, RED)) + toggle_data.append(create_rect_view_data("frame", x, y, 3, 10, RED)) x += 3.5 + # toggle_data.append(create_text_view_data(f"Frame: {self.frame_limit - self.used_frame}", + # self.width_center + self.width_center // 2 + 85, 8, RED, + # "24px Arial BOLD")) toggle_data.append(create_text_view_data(f"Frame: {self.frame_limit - self.used_frame}", self.scene_width-165, 8, RED, "24px Arial BOLD")) - x = 28 - y = 25 + x = 24 + y = 20 for score in range(min(self.team_green_score, self.team_blue_score)): toggle_data.append(create_rect_view_data(name="score", x=x, y=y, width=1, height=10, color=ORANGE)) x += 1.5 if x > self.width_center: - if y == 25: - y = 36 + if y == 32: + y = 44 else: - y = 25 - x = 28 + y = 32 + x = 24 for score in range(abs(self.team_green_score - self. team_blue_score)): if self.team_green_score > self.team_blue_score: toggle_data.append(create_rect_view_data("score", x, y, 1, 10, DARKGREEN)) @@ -339,17 +362,21 @@ def get_toggle_progress_data(self): y = 32 x = 24 # 1P + # x = WINDOW_WIDTH - 125 + # y = WINDOW_HEIGHT - 40 x = self.scene_width - 125 y = self.scene_height - 40 toggle_data.append(create_text_view_data(f"Score: {self.team_green_score}", x, y, DARKGREEN, "24px Arial BOLD")) # 2P x = 5 + # y = WINDOW_HEIGHT - 40 + y = self.scene_height - 40 toggle_data.append(create_text_view_data(f"Score: {self.team_blue_score}", x, y, BLUE, "24px Arial BOLD")) for player in self.all_players: if isinstance(player, Player) and player.is_alive: # lives team_id = "team_a_lives" if player.id == 1 else "team_b_lives" - color = DARKGREEN if player.id == 1 else BLUE + color = DARKGREEN if player.id == 1 else BLUE x = player.play_rect_area.midbottom[0] + 7 + (player.no - 1) * 60 if player.id == 1 \ else player.play_rect_area.midbottom[0] - (player.no - self.green_team_num) * 60 y = player.play_rect_area.height + 73 @@ -399,6 +426,8 @@ def get_ai_data_to_player(self): , 2: [player.get_data_from_obj_to_game() for player in self.players_b if isinstance(player, Player)] } walls_info = [wall.get_data_from_obj_to_game() for wall in self.walls if isinstance(wall, Wall)] + unbreak_wall_info = [wall.get_data_from_obj_to_game() for wall in self.unbreakable_walls if isinstance(wall, Unbreakable_Wall)] + walls_info.extend(unbreak_wall_info) bullet_stations_info = [bullst_station.get_data_from_obj_to_game() for bullst_station in self.bullet_stations if isinstance(bullst_station, Station)] oil_stations_info = [oil_station.get_data_from_obj_to_game() for oil_station in self.oil_stations if diff --git a/src/Unbreakable_Wall.py b/src/Unbreakable_Wall.py new file mode 100644 index 0000000..dc1a59f --- /dev/null +++ b/src/Unbreakable_Wall.py @@ -0,0 +1,38 @@ +from os import path + +import pygame +from mlgame.view.view_model import create_asset_init_data, create_image_view_data + +from .env import IMAGE_DIR + + +class Unbreakable_Wall(pygame.sprite.Sprite): + def __init__(self, construction, **kwargs): + super().__init__() + self.id = construction["_id"] + self.no = 0 + self.rect = pygame.Rect(construction["_init_pos"], construction["_init_size"]) + self.angle = 0 + self.is_alive = True + self.lives = -1 + + def update(self, *args, **kwargs) -> None: + pass + + def collide_with_bullets(self): + pass + + def get_data_from_obj_to_game(self): + info = {"id": f"wall_unbreak", "x": self.rect.x, "y": self.rect.y, "lives": self.lives} + return info + + def get_obj_progress_data(self): + return create_image_view_data(f"wall_unbreak", self.rect.x, self.rect.y + , self.rect.width, self.rect.height, self.angle) + + def get_obj_init_data(self): + image_init_data = [] + image_init_data.append(create_asset_init_data(f"wall_unbreak", self.rect.width, self.rect.height, + path.join(IMAGE_DIR, f"wall_unbreak.png"), + f"https://raw.githubusercontent.com/Jesse-Jumbo/TankMan/main/asset/image/wall_unbreak.png")) + return image_init_data diff --git a/src/collide_hit_rect.py b/src/collide_hit_rect.py index f71a861..3c825dd 100644 --- a/src/collide_hit_rect.py +++ b/src/collide_hit_rect.py @@ -4,6 +4,7 @@ from src.Player import Player from src.Bullet import Bullet from src.Wall import Wall +from src.Unbreakable_Wall import Unbreakable_Wall def collide_with_walls(group1: pygame.sprite.Group, group2: pygame.sprite.Group): @@ -17,7 +18,7 @@ def collide_with_bullets(group1: pygame.sprite.Group, group2: pygame.sprite.Grou player_score_data = {} for sprite, bullets in hits.items(): for bullet in bullets: - if bullet.no != sprite.no and sprite.lives > 0: + if bullet.no != sprite.no and sprite.lives != 0: bullet.kill() if isinstance(sprite, Player): @@ -27,7 +28,7 @@ def collide_with_bullets(group1: pygame.sprite.Group, group2: pygame.sprite.Grou score = -20 else: score = 20 - elif isinstance(sprite, Wall): + elif isinstance(sprite, Wall) or isinstance(sprite, Unbreakable_Wall): score = 1 if sprite.lives == 1: score += 5 diff --git a/src/env.py b/src/env.py index 07581da..01336a2 100644 --- a/src/env.py +++ b/src/env.py @@ -75,6 +75,7 @@ WALL_IMG_NO = 3 BULLET_STATION_IMG_NO = 4 OIL_STATION_IMG_NO = 5 +UNBREAK_WALL_IMG_NO = 6 """music""" BGM = 'background_music.ogg/.wav/.mp3'