Spaces:
Sleeping
Sleeping
Update game.py
Browse files
game.py
CHANGED
@@ -5,6 +5,7 @@ class Game:
|
|
5 |
def __init__(self):
|
6 |
self.map_size = 50 # Much larger dungeon
|
7 |
self.visible_size = 10 # 10x10 visible area on screen
|
|
|
8 |
self.terrain = self.generate_maze()
|
9 |
self.player_pos = [1, 1] # Start near top-left
|
10 |
self.player_health = 10
|
@@ -12,7 +13,6 @@ class Game:
|
|
12 |
self.inventory = []
|
13 |
self.monsters = self.generate_monsters()
|
14 |
self.items = self.generate_items()
|
15 |
-
self.door_pos = [48, 48] # Door to next level at far end
|
16 |
self.level = 1
|
17 |
|
18 |
def generate_maze(self):
|
@@ -36,7 +36,11 @@ class Game:
|
|
36 |
|
37 |
# Ensure player start and door positions are accessible
|
38 |
terrain[1][1] = 'f'
|
39 |
-
|
|
|
|
|
|
|
|
|
40 |
return terrain
|
41 |
|
42 |
def generate_monsters(self):
|
@@ -136,12 +140,12 @@ class Game:
|
|
136 |
emit('message', f'Entered Level {self.level}! New dungeon awaits.')
|
137 |
|
138 |
def reset_level(self):
|
|
|
139 |
self.terrain = self.generate_maze()
|
140 |
self.player_pos = [1, 1]
|
141 |
self.player_health = 10
|
142 |
self.monsters = self.generate_monsters()
|
143 |
self.items = self.generate_items()
|
144 |
-
self.door_pos = [48, 48]
|
145 |
|
146 |
def handle_combat(self, pos):
|
147 |
from flask_socketio import emit
|
|
|
5 |
def __init__(self):
|
6 |
self.map_size = 50 # Much larger dungeon
|
7 |
self.visible_size = 10 # 10x10 visible area on screen
|
8 |
+
self.door_pos = [48, 48] # Door to next level at far end - set before generating maze
|
9 |
self.terrain = self.generate_maze()
|
10 |
self.player_pos = [1, 1] # Start near top-left
|
11 |
self.player_health = 10
|
|
|
13 |
self.inventory = []
|
14 |
self.monsters = self.generate_monsters()
|
15 |
self.items = self.generate_items()
|
|
|
16 |
self.level = 1
|
17 |
|
18 |
def generate_maze(self):
|
|
|
36 |
|
37 |
# Ensure player start and door positions are accessible
|
38 |
terrain[1][1] = 'f'
|
39 |
+
if hasattr(self, 'door_pos'): # Safety check
|
40 |
+
terrain[self.door_pos[1]][self.door_pos[0]] = 'd' # 'd' for door
|
41 |
+
else:
|
42 |
+
print("Warning: door_pos not set, using default [48, 48]")
|
43 |
+
terrain[48][48] = 'd' # Fallback if door_pos is not set
|
44 |
return terrain
|
45 |
|
46 |
def generate_monsters(self):
|
|
|
140 |
emit('message', f'Entered Level {self.level}! New dungeon awaits.')
|
141 |
|
142 |
def reset_level(self):
|
143 |
+
self.door_pos = [48, 48] # Reset door position
|
144 |
self.terrain = self.generate_maze()
|
145 |
self.player_pos = [1, 1]
|
146 |
self.player_health = 10
|
147 |
self.monsters = self.generate_monsters()
|
148 |
self.items = self.generate_items()
|
|
|
149 |
|
150 |
def handle_combat(self, pos):
|
151 |
from flask_socketio import emit
|