mirror of
https://github.com/n0remac/game-jam-2020.git
synced 2025-12-08 12:05:14 -06:00
final touches
This commit is contained in:
@@ -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.
|
||||||
@@ -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)
|
||||||
|
|||||||
@@ -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"],
|
||||||
19
triple-dungeon/resources/levels/map1/3.json
Normal file
19
triple-dungeon/resources/levels/map1/3.json
Normal file
@@ -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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
18
triple-dungeon/resources/levels/map1/4.json
Normal file
18
triple-dungeon/resources/levels/map1/4.json
Normal file
@@ -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"]
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
18
triple-dungeon/resources/levels/map1/6.json
Normal file
18
triple-dungeon/resources/levels/map1/6.json
Normal file
@@ -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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
18
triple-dungeon/resources/levels/map1/7.json
Normal file
18
triple-dungeon/resources/levels/map1/7.json
Normal file
@@ -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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
18
triple-dungeon/resources/levels/map1/8.json
Normal file
18
triple-dungeon/resources/levels/map1/8.json
Normal file
@@ -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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
18
triple-dungeon/resources/levels/map1/9.json
Normal file
18
triple-dungeon/resources/levels/map1/9.json
Normal file
@@ -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"]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user