diff --git a/src/scripts_demo/game.py b/src/scripts_demo/game.py index 5db32a3..f039fef 100644 --- a/src/scripts_demo/game.py +++ b/src/scripts_demo/game.py @@ -304,6 +304,7 @@ class Game: ) self.grid.entities.append(stairs) self.stairs_pos = (sx, sy) + self.occupied.add((sx, sy)) # Place enemies (more enemies on deeper levels) num_enemies = min(3 + self.depth * 2, 15) @@ -357,7 +358,9 @@ class Game: self.items.append({"entity": item, "kind": "treasure", "pos": pos}) self.occupied.add(pos) - # Set up fog of war + # Set up fog of war (remove old layer first to prevent accumulation) + if self.fog_layer is not None: + self.grid.remove_layer(self.fog_layer) self.fog_layer = mcrfpy.ColorLayer(name="fog", z_index=10) self.grid.add_layer(self.fog_layer) self.fog_layer.fill(mcrfpy.Color(0, 0, 0, 255)) @@ -521,6 +524,7 @@ class Game: self.depth = 1 self.score = 0 self.player = None + self.fog_layer = None # Old grid is being discarded # Remove overlay if hasattr(self, 'game_over_overlay'): # Rebuild UI from scratch diff --git a/web/index.html b/web/index.html index e4b66fe..25bc364 100644 --- a/web/index.html +++ b/web/index.html @@ -362,7 +362,7 @@ var Module = { preRun: [function() { - FS.mkdir('/save'); + try { FS.mkdir('/save'); } catch(e) { /* already exists */ } FS.mount(IDBFS, {}, '/save'); Module.addRunDependency('idbfs-restore'); FS.syncfs(true, function(err) {