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-12 00:23:06 +02:00
* [Screencast ](http://www.phroy.org/cloud/index.php/s/djBtGFSXBfCFJM7 )
2022-04-07 19:04:26 +02:00
2022-04-11 22:42:09 +02:00
It's a early prototype. CodeTower is a open source software distributed under the terms of the [GPLv3 license ]('https://www.gnu.org/licenses/gpl-3.0.html' ).
2022-04-06 22:39:49 +02:00
2022-04-11 22:42:09 +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:44:36 +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:44:36 +02:00
With your Python script, you can build, remove and upgrade your towers.
2022-04-06 22:44:59 +02:00
2022-04-06 22:44:36 +02:00
For each tower, you will be able to choose dynamically most appropriate techno (archer tower) or spell (mage tower).
2022-04-06 22:44:59 +02:00
2022-04-11 22:42:09 +02:00
The Python script is the file **ct_cmd.py** (in the game folder), you have to edit it with editing software (Spyder, Emacs, Atom, ...).
2022-04-06 22:39:49 +02:00
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:43:24 +02:00
- True : builded without error
2022-04-06 22:33:16 +02:00
- 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)