Files
pixel_tower_defense/README.md
T

2.4 KiB

README

Strcuture

pixel_tower_defense/   
|
|-- main.py                     Entry point. Instantiates Game and calls run().   
|                               Editor is commented out but importable.   
|   
|-- editor.py                   Standalone map editor (separate from the game loop).   
|                               Run by swapping the commented lines in main.py.   
|   
|-- requirements.txt            Python dependencies (pygame, pygame_gui).   
|   
|-- assets/   
|   |-- images/   
|   |   |-- tiles/   
|   |   |   |-- test/           Base/test tile set   
|   |   |   |-- jungle/         Jungle tile set   
|   |   |   `-- desert/         Desert tile set (currently active in gameplay)   
|   |   `-- entities/   
|   |       |-- enemies/   
|   |       |   `-- enemy.png   Single enemy sprite   
|   |       `-- towers/   
|   |           `-- cannon/   
|   |               |-- shoot/  Animation frames (0.png, 1.png, ...) for the shoot action   
|   |               `-- red_cannon.png  Red tint variant shown when placement is blocked   
|   |-- maps/   
|   |   `-- desert.json         Serialised tilemap for the desert level,   
|   |                           contains: tilemap dict, tile_size, waypoints list   
|   `-- theme/   
|       `-- theme.json          pygame_gui UI theme configuration   
|   
`-- game/   
    |-- game.py                 Core Game class (window, clock, asset loading, screen routing)   
    |-- camera.py               Camera class (pan + zoom, world<->screen coordinate conversion)   
    |-- tilemap.py              Tilemap class (load/save JSON maps, tile rendering, placement rules)   
    |-- enemy.py                Enemy, EnemyGroup, HealthBar classes   
    |-- tower.py                Tower, TowerGroup classes   
    |-- util.py                 Image loaders, coordinate converters, Animation class   
    `-- screens/   
        |-- base_screen.py      Abstract base class for all screens   
        |-- main_menu.py        Main menu screen (Play / Quit buttons)   
        `-- game_play.py        Gameplay screen (tilemap, enemies, towers, camera, UI)   
    ```
        
## Start the Game

python main.py

check with pylint
pylint game/


### Strcuture is written with Claude
### Ai was used as a thinking aid tool, only small parts are written with ai, most of the code is written by ScriptSorcerer
### For resources, Coding with Russ and Fluffypotato helped me alot.