Issue #8 (pylint problem resolved with this change) Upgrade system not done, only simplel upgrading added
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/