Add new PNG images for clean and preview outputs
- Added `image_clean.png` to the output directory for the clean image representation. - Added `image_clean_preview.png` for the preview of the clean image. - Introduced `image_svg_clean.png` for the SVG clean image representation.
This commit is contained in:
@@ -8,6 +8,7 @@ Mice! is a strategic game where players must kill rats with bombs before they re
|
||||
## Features
|
||||
|
||||
- **Maze Generation**: Randomly generated mazes using Depth First Search (DFS) algorithm.
|
||||
- **Original Level Support**: Loads the original `level.dat` from `assets/Rat/level.dat` when present and falls back to `maze.json` otherwise.
|
||||
- **Units**: Different types of units such as rats, bombs, and points with specific behaviors.
|
||||
- **Graphics**: Custom graphics for maze tiles, units, and effects.
|
||||
- **Sound Effects**: Audio feedback for various game events.
|
||||
@@ -72,6 +73,7 @@ The Mice! game engine is built on a modular architecture designed for flexibilit
|
||||
- **Map Class**: Manages the game world structure
|
||||
- **Features**:
|
||||
- Maze data loading and parsing
|
||||
- DAT archive parsing for the original 32 built-in RATS levels
|
||||
- Collision detection system
|
||||
- Tile-based world representation
|
||||
- Pathfinding support for AI units
|
||||
@@ -238,6 +240,20 @@ Units interact through a centralized collision and event system:
|
||||
- **Libraries**:
|
||||
- `numpy` 2.3.4 for vectorized collision detection
|
||||
- `sdl2` for graphics and window management
|
||||
|
||||
## Level Sources
|
||||
|
||||
- Preferred source: `assets/Rat/level.dat`
|
||||
- Fallback source: `maze.json`
|
||||
- Current behavior: the loader can read any level from the DAT archive via `--level N`, while still falling back to `maze.json` when the DAT is unavailable.
|
||||
- Tile semantics are now preserved internally from the original format: `0=EMPTY`, `1=WALL`, `2=TUNNEL`.
|
||||
- Rendering uses those semantics directly: walls use themed grass/flower tiles, tunnel cells use themed cave tiles, and empty cells remain the generic walkable tunnel floor used by the Python version.
|
||||
|
||||
### Run examples
|
||||
|
||||
- `python rats.py`
|
||||
- `python rats.py --level 7`
|
||||
- `python rats.py --map maze.json`
|
||||
- `Pillow` for image processing
|
||||
- `uuid` for unique unit identification
|
||||
- `subprocess` for playing sound effects
|
||||
|
||||
Reference in New Issue
Block a user