2022-02-24 13:15:41 +01:00
# CodeTower
2022-02-24 15:06:22 +01:00
**Code your tower (coding tower defense)**
2022-04-06 18:40:27 +02:00
CodeTower is a Tower Defense coding game where the towers are driven by Python code.
2022-04-06 22:18:26 +02:00
It's a early prototype. CodeTower is a open source software distributed under the terms of the GPLv3 license.
2022-04-06 22:39:49 +02:00
2022-04-06 22:18:26 +02:00
The game engine is [Blender ](https://blender.org ) - [UPGE ](https://upbge.org ).
2022-04-06 18:40:27 +02:00
![Screenshot ](img/screenshot-01.jpg )
2022-04-06 22:18:26 +02:00
### Download
2022-04-06 18:40:27 +02:00
2022-04-06 22:18:26 +02:00
Source repository (Gitlab ) : https://gitlab.com/phroy/codetower
2022-04-06 18:40:27 +02:00
2022-04-06 22:33:16 +02:00
Binaries (GNU/Linux and Windows) : [www.phroy.org ](http://www.phroy.org/cloud/index.php/s/nyoWT6xMkxAJ9Pm )
2022-04-06 22:30:03 +02:00
2022-04-06 22:18:26 +02:00
### Tower commands
2022-04-06 22:39:49 +02:00
With your Python script, you can build, remove and upgrade your towers. For each tower, you will be able to choose dynamically most appropriate techno (archer tower) or
spell (mage tower). The Python script is the file **ct_cmd.py** , you have to edit it with editor sofware (Spyder, Emacs, Atom, ...).
2022-04-06 22:33:16 +02:00
* **Build a tower : ct_build (x, y, category, name, color, style)**
2022-04-06 22:30:03 +02:00
- x position (integer)
- y position (integer)
- category (string) : "Archer tower", "Mage tower" or "Barrack" (not implemented)
- name (string)
- color (RGB model) : purple, turquoise, magenta, orange, yellow, green, red or [R, G, B, 1]
- style : square or round and version (A,B or C), exemple : 'square-A'
- Return boolean flag
2022-04-06 22:33:16 +02:00
- True : builded with error
- False : not builded (error)
- Exemple : ct_build(1,1, "Archer tower", "Tower \#1",yellow,"round-A")
2022-04-06 22:18:26 +02:00
2022-04-06 22:33:16 +02:00
* **Remove a tower : ct_remove (x, y)**
2022-04-06 22:30:03 +02:00
- x position (integer)
- y position (integer)
2022-04-06 22:18:26 +02:00
2022-04-06 22:33:16 +02:00
* **Get your level : ct_level ()**
2022-04-06 22:30:03 +02:00
- Return your level (integer)
2022-04-06 22:18:26 +02:00
2022-04-06 22:33:16 +02:00
* **Time management (temporization) : ct_sleep (delay)**
2022-04-06 22:30:03 +02:00
- delay : delay in seconds (float)