sandsim/index.html
Kacper Kostka (aider) a86acfff3a refactor: Spread game code into modular files for better maintainability
This commit reorganizes the game's source code into multiple files within a `js/` directory, creating a more modular and maintainable structure. The changes include:

- Created separate files for different game components:
  - `constants.js`: Game constants and element types
  - `world.js`: World management functions
  - `terrain.js`: Terrain generation logic
  - `physics.js`: Physics simulation
  - `render.js`: Rendering functions
  - `input.js`: Input handling
  - `main.js`: Main game initialization and loop
  - Element-specific files in `js/elements/`:
    - `basic.js`: Sand, water, dirt behaviors
    - `plants.js`: Grass, seeds, flowers
    - `trees.js`: Tree growth and leaf generation
    - `fire.js`: Fire and lava behaviors

- Updated `index.html` to load modules in the correct order
- Removed the monolithic `script.js`

The modular approach improves code readability, makes future extensions easier, and separates concerns more effectively.
2025-04-04 12:15:30 +02:00

54 lines
2.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pixel Sand Simulation</title>
<link rel="stylesheet" href="styles.css">
</head>
<body oncontextmenu="return false;">
<div class="container">
<div class="controls">
<div class="tools">
<button id="sand-btn" class="active">Sand</button>
<button id="water-btn">Water</button>
<button id="dirt-btn">Dirt</button>
<button id="stone-btn">Stone</button>
<button id="grass-btn">Grass</button>
<button id="wood-btn">Wood</button>
<button id="seed-btn">Seed</button>
<button id="tree-seed-btn">Tree Seed</button>
<button id="fire-btn">Fire</button>
<button id="lava-btn">Lava</button>
<button id="eraser-btn">Eraser</button>
</div>
<div class="navigation">
<button id="move-left"></button>
<button id="move-right"></button>
<button id="move-up"></button>
<button id="move-down"></button>
<button id="debug-btn">Debug</button>
</div>
<div class="info">
<span id="coords">Chunk: 0,0</span>
<span id="fps">FPS: 0</span>
<span class="help-text">Hold Shift/Ctrl or right-click to drag the world</span>
</div>
</div>
<canvas id="simulation-canvas"></canvas>
</div>
<!-- Load modules in the correct order -->
<script src="js/constants.js"></script>
<script src="js/world.js"></script>
<script src="js/elements/basic.js"></script>
<script src="js/elements/plants.js"></script>
<script src="js/elements/trees.js"></script>
<script src="js/elements/fire.js"></script>
<script src="js/render.js"></script>
<script src="js/input.js"></script>
<script src="js/physics.js"></script>
<script src="js/terrain.js"></script>
<script src="js/main.js"></script>
</body>
</html>