final touches

This commit is contained in:
Cameron Smart
2020-04-26 00:42:22 -07:00
parent b557111ab7
commit a91a0f4a73
14 changed files with 132 additions and 67 deletions
+9
View File
@@ -5,3 +5,12 @@ Team Triple Dungeon
## About ## About
This repository is Triple Dungeon's submittion for [Python Discord](https://pythondiscord.com/)'s [Game Jam 2020](https://pythondiscord.com/pages/events/game-jam-2020/). This repository is Triple Dungeon's submittion for [Python Discord](https://pythondiscord.com/)'s [Game Jam 2020](https://pythondiscord.com/pages/events/game-jam-2020/).
This game is far from complete. We ran into some serious lag issues half way though the project, but all agreed that it was a good experience.
## Install
This game can be installed with `pipenv sync`
## Instructions
Use WASD to move and the mouse to aim and fire.
Use left shift to cycle through different monster combinations and try to shoot the monsters in that order.
+6 -2
View File
@@ -43,8 +43,10 @@ class Dungeon(object):
center = "resources/levels/map1/center.json" center = "resources/levels/map1/center.json"
self.levels = [ self.levels = [
[Level.load_file(x, y, center) for y in range(size)] for x in range(size) [Level.load_file(x, y) for y in range(size)] for x in range(size)
] ]
print('--------------------------------------------------')
print(self.levels)
self.matrix = [[1 for yy in range(size * 10)] for xx in range(10 * size)] self.matrix = [[1 for yy in range(size * 10)] for xx in range(10 * size)]
for column in self.levels: for column in self.levels:
for level in column: for level in column:
@@ -125,7 +127,7 @@ class Level:
self.wall_list = [] self.wall_list = []
@staticmethod @staticmethod
def load_file(level_x: int, level_y: int, path: str) -> Level: def load_file(level_x: int, level_y: int) -> Level:
""" """
Builds a Level from a given file path. Builds a Level from a given file path.
@@ -135,6 +137,8 @@ class Level:
:return: The new generated Level file. :return: The new generated Level file.
""" """
path = f'resources/levels/map1/{random.randint(1, 9)}.json'
level = Level(level_x, level_y) level = Level(level_x, level_y)
with open(path) as file: with open(path) as file:
data = json.load(file) data = json.load(file)
-19
View File
@@ -1,19 +0,0 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png",
"e" : ""
},
"structure" : [
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"]
]
}
@@ -9,8 +9,8 @@
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["e", " ", " ", " ", " ", " ", " ", " ", " ", "e"], ["e", " ", " ", " ", "w", "w", " ", " ", " ", "e"],
["e", " ", " ", " ", " ", " ", " ", " ", " ", "e"], ["e", " ", " ", " ", "w", "w", " ", " ", " ", "e"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
@@ -0,0 +1,19 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png",
"e" : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", "e", "e", "w", "w", "w", "w"],
["w", "w", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", "w", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", " ", " ", " ", "w"],
["e", " ", " ", " ", "w", " ", " ", " ", " ", "e"],
["e", " ", " ", " ", " ", "w", " ", " ", " ", "e"],
["w", " ", " ", " ", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", "e", "e", "w", "w", "w", "w"]
]
}
@@ -0,0 +1,18 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", "w", "w", " ", " ", "w", "w", " ", "w"],
["w", " ", "w", "w", " ", " ", "w", "w", " ", "w"],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
["w", " ", "w", "w", " ", " ", "w", "w", " ", "w"],
["w", " ", "w", "w", " ", " ", "w", "w", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"]
]
}
@@ -6,13 +6,13 @@
"structure" : [ "structure" : [
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"], ["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", "w", "w", " ", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
[" ", " ", " ", " ", " ", " ", "w", " ", " ", "w"],
[" ", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", " ", "w", "w", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"], ["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", "w", "w", " ", " ", " ", " "], ["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"]
["w", " ", " ", " ", "w", "w", " ", " ", " ", " "],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"]
] ]
} }
@@ -0,0 +1,18 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
[" ", " ", " ", " ", "w", "w", " ", " ", " ", " "],
[" ", " ", " ", " ", "w", "w", " ", " ", " ", " "],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"]
]
}
@@ -0,0 +1,18 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"],
["w", " ", " ", "w", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", "w", "w", "w", "w", " ", " ", "w"],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
["w", " ", " ", "w", "w", "w", "w", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"]
]
}
@@ -0,0 +1,18 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", "w", " ", " ", " ", " ", "w", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
[" ", " ", " ", " ", "w", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", "w", " ", " ", " ", " "],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", "w", " ", " ", " ", " ", "w", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"]
]
}
@@ -0,0 +1,18 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", " ", "w", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", "w", " ", "w", " ", " ", "w", " ", "w"],
["w", "w", " ", " ", " ", " ", " ", " ", " ", "w"],
[" ", " ", " ", " ", " ", " ", "w", " ", " ", " "],
[" ", "w", " ", "w", " ", " ", " ", " ", " ", " "],
["w", " ", " ", " ", " ", "w", " ", "w", " ", "w"],
["w", " ", " ", " ", "w", " ", " ", " ", " ", "w"],
["w", " ", "w", " ", " ", " ", "w", " ", " ", "w"],
["w", "w", "w", "w", " ", " ", "w", "w", "w", "w"]
]
}
@@ -1,19 +0,0 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png",
"e" : "resources/images/tiles/floor_tile.png"
},
"structure" : [
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["e", " ", " ", " ", "w", "w", " ", " ", " ", "w"],
["e", " ", " ", " ", "w", "w", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"]
]
}
@@ -1,19 +0,0 @@
{
"elements" : {
"w" : "resources/images/tiles/wall_tile.png",
" " : "resources/images/tiles/floor_tile.png",
"e" : ""
},
"structure" : [
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", " ", " ", " ", " ", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", " ", " ", "w", " ", " ", "w", " ", " ", "w"],
["w", "w", "w", "w", "w", "w", "w", "w", "w", "w"]
]
}