broadfield-dev commited on
Commit
312acdf
·
verified ·
1 Parent(s): 438862f

Update game.py

Browse files
Files changed (1) hide show
  1. game.py +8 -5
game.py CHANGED
@@ -28,7 +28,7 @@ class Game:
28
  if (0 <= nx < self.map_size and 0 <= ny < self.map_size and
29
  terrain[ny][nx] == 'w'):
30
  mid_x, mid_y = x + dx // 2, y + dy // 2
31
- terrain[mid_y][mid_y] = 'f' # Carve path
32
  carve(nx, ny)
33
 
34
  # Start carving from (1,1) to avoid edges
@@ -64,7 +64,7 @@ class Game:
64
  return items
65
 
66
  def get_visible_area(self):
67
- # Center the visible 10x10 area around the player
68
  px, py = self.player_pos
69
  half_size = self.visible_size // 2
70
  start_x = max(0, px - half_size)
@@ -72,7 +72,6 @@ class Game:
72
  end_x = min(self.map_size, px + half_size + 1)
73
  end_y = min(self.map_size, py + half_size + 1)
74
 
75
- # Pad with empty space if near edges
76
  visible_terrain = [['' for _ in range(self.visible_size)] for _ in range(self.visible_size)]
77
  visible_entities = [['' for _ in range(self.visible_size)] for _ in range(self.visible_size)]
78
 
@@ -81,7 +80,7 @@ class Game:
81
  grid_y = y - (py - half_size)
82
  grid_x = x - (px - half_size)
83
  if 0 <= grid_y < self.visible_size and 0 <= grid_x < self.visible_size:
84
- visible_terrain[grid_y][grid_x] = self.terrain[y][x]
85
  if (x, y) == tuple(self.player_pos):
86
  visible_entities[grid_y][grid_x] = 'player'
87
  elif (x, y) in self.monsters:
@@ -91,11 +90,13 @@ class Game:
91
  elif (x, y) == tuple(self.door_pos):
92
  visible_entities[grid_y][grid_x] = 'door'
93
 
 
 
94
  return {'terrain': visible_terrain, 'entities': visible_entities}
95
 
96
  def get_game_state(self):
97
  visible = self.get_visible_area()
98
- return {
99
  'terrain': visible['terrain'],
100
  'entities': visible['entities'],
101
  'health': self.player_health,
@@ -103,6 +104,8 @@ class Game:
103
  'attack': self.player_attack,
104
  'level': self.level
105
  }
 
 
106
 
107
  def is_valid_position(self, x, y):
108
  return (0 <= x < self.map_size and 0 <= y < self.map_size and
 
28
  if (0 <= nx < self.map_size and 0 <= ny < self.map_size and
29
  terrain[ny][nx] == 'w'):
30
  mid_x, mid_y = x + dx // 2, y + dy // 2
31
+ terrain[mid_y][mid_x] = 'f' # Carve path
32
  carve(nx, ny)
33
 
34
  # Start carving from (1,1) to avoid edges
 
64
  return items
65
 
66
  def get_visible_area(self):
67
+ print("Generating visible area for player at:", self.player_pos) # Debug log
68
  px, py = self.player_pos
69
  half_size = self.visible_size // 2
70
  start_x = max(0, px - half_size)
 
72
  end_x = min(self.map_size, px + half_size + 1)
73
  end_y = min(self.map_size, py + half_size + 1)
74
 
 
75
  visible_terrain = [['' for _ in range(self.visible_size)] for _ in range(self.visible_size)]
76
  visible_entities = [['' for _ in range(self.visible_size)] for _ in range(self.visible_size)]
77
 
 
80
  grid_y = y - (py - half_size)
81
  grid_x = x - (px - half_size)
82
  if 0 <= grid_y < self.visible_size and 0 <= grid_x < self.visible_size:
83
+ visible_terrain[grid_y][grid_x] = self.terrain[y][x] if self.terrain[y][x] else 'f' # Default to 'f'
84
  if (x, y) == tuple(self.player_pos):
85
  visible_entities[grid_y][grid_x] = 'player'
86
  elif (x, y) in self.monsters:
 
90
  elif (x, y) == tuple(self.door_pos):
91
  visible_entities[grid_y][grid_x] = 'door'
92
 
93
+ print("Visible terrain:", visible_terrain) # Debug log
94
+ print("Visible entities:", visible_entities) # Debug log
95
  return {'terrain': visible_terrain, 'entities': visible_entities}
96
 
97
  def get_game_state(self):
98
  visible = self.get_visible_area()
99
+ state = {
100
  'terrain': visible['terrain'],
101
  'entities': visible['entities'],
102
  'health': self.player_health,
 
104
  'attack': self.player_attack,
105
  'level': self.level
106
  }
107
+ print("Game state:", state) # Debug log
108
+ return state
109
 
110
  def is_valid_position(self, x, y):
111
  return (0 <= x < self.map_size and 0 <= y < self.map_size and