mirror of
https://forge.apps.education.fr/phroy/codetower.git
synced 2024-01-27 11:35:17 +01:00
50 lines
1.8 KiB
Markdown
50 lines
1.8 KiB
Markdown
# CodeTower
|
|
|
|
**Code your tower (coding tower defense)**
|
|
|
|
CodeTower is a Tower Defense coding game where the towers are driven by Python code.
|
|
|
|
* [Screencast](http://www.phroy.org/cloud/index.php/s/djBtGFSXBfCFJM7)
|
|
|
|
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').
|
|
|
|
The game engine is [Blender](https://blender.org) / [UPGE](https://upbge.org).
|
|
|
|
![Screenshot](img/screenshot-01.jpg)
|
|
|
|
### Download
|
|
|
|
Source repository (Gitlab) : https://gitlab.com/phroy/codetower
|
|
|
|
Binaries (GNU/Linux and Windows) : [www.phroy.org](http://www.phroy.org/cloud/index.php/s/nyoWT6xMkxAJ9Pm)
|
|
|
|
### Tower commands
|
|
|
|
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** (in the game folder), you have to edit it with editing software (Spyder, Emacs, Atom, ...).
|
|
|
|
* **Build a tower : ct_build (x, y, category, name, color, style)**
|
|
- 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
|
|
- True : builded without error
|
|
- False : not builded (error)
|
|
- Exemple : ct_build(1,1, "Archer tower", "Tower \#1",yellow,"round-A")
|
|
|
|
* **Remove a tower : ct_remove (x, y)**
|
|
- x position (integer)
|
|
- y position (integer)
|
|
|
|
* **Get your level : ct_level ()**
|
|
- Return your level (integer)
|
|
|
|
* **Time management (temporization) : ct_sleep (delay)**
|
|
- delay : delay in seconds (float)
|