How macchiato1239/plant-and-bees works
Plant-and-Bees is a Tkinter tower-defense game. The player uses the game interface to select and place towers; the game controller schedules waves, moves enemies along a path, applies tower effects, and updates money and health. The code separates game orchestration, enemy and tower rules, catalog data, and basic drawable objects. The README gives no further feature details, and some controller code is excerpted only partially, so the graph includes only relationships visible in excerpts or the source index.
Main entry points: main.py Game controller · enemy.py Enemies · module_tower.py Tower types · interactable.py Interactable objects
Components 12
Game orchestration
- Game controller
main.py - Map path
build.py - Tower hotbar
hotbar.py
Game entities
- Enemies
enemy.py - Tower types
module_tower.py - Effect types
debuff.py - Spawn and base
build.py
Game data
- Wave and tower catalogs
dictionary.py
Drawable foundation
- Interactable objects
interactable.py - Canvas rectangles
rect.py - Element stub
element.py
Other components
- Player
Connections 18
- Player → Game controller: plays through
README.md - Game controller → Map path: creates paths
main.py - Game controller → Wave and tower catalogs: gets wave data
main.py - Game controller → Enemies: spawns enemies
main.py - Game controller → Enemies: moves and updates
main.py - Game controller → Tower types: runs tower actions
main.py - Game controller → Tower types: places tower
main.py - Game controller → Tower hotbar: creates slots
main.py - Wave and tower catalogs → Enemies: defines enemy data
dictionary.py - Wave and tower catalogs → Tower types: builds tower types
dictionary.py - Tower types → Effect types: uses effect types
module_tower.py - Enemies → Interactable objects: inherits
enemy.py - Tower types → Interactable objects: inherits
module_tower.py - Tower hotbar → Interactable objects: inherits
hotbar.py - Spawn and base → Interactable objects: inherits
build.py - Interactable objects → Canvas rectangles: stores rectangle
interactable.py - Enemies → Canvas rectangles: creates rectangle
enemy.py - Spawn and base → Canvas rectangles: creates rectangles
build.py