mirror of
https://forge.apps.education.fr/phroy/codetower.git
synced 2024-01-27 11:35:17 +01:00
63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
# CodeTower
|
|
|
|
**Code your tower ! (coding tower defense)**
|
|
|
|
CodeTower is a Tower Defense coding game where the towers are driven by Python code.
|
|
|
|
**Stop the minions waves with your favorite editing software !**
|
|
|
|
[![CodeTower - Gameplay](img/screen-04-ytb.png)](https://www.youtube.com/watch?v=snZaTSre8FA "CodeTower - Gameplay")
|
|
|
|
|
|
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 open source : [Blender](https://blender.org) / [UPBGE](https://upbge.org).
|
|
|
|
Assets (3D models, sounds, icons) : [Kenney]( https://www.kenney.nl/ ) and [Kaylousberg](https://www.kaylousberg.com).
|
|
|
|
### Download
|
|
|
|
* itch.io : [itch.io / codetower](https://phroy.itch.io/codetower)
|
|
|
|
* Source repository (Gitlab) : https://gitlab.com/phroy/codetower
|
|
|
|
* Binaries repository (GNU/Linux and Windows) : [www.phroy.org](http://www.phroy.org/cloud/index.php/s/nyoWT6xMkxAJ9Pm)
|
|
|
|
### Python script
|
|
|
|
The Python script is the file **"ct_cmd.py"** (in the game folder), you have to edit it with your favorite editing software (Spyder, Emacs, Atom, ...).
|
|
|
|
### Map commands
|
|
|
|
The level points will be spent for build or upgrade. So you have to know your level before action.
|
|
|
|
* **Get your level : ct_level ()**
|
|
- Return your level (integer)
|
|
|
|
* **Time management (temporization) : ct_sleep (delay)**
|
|
- delay : duration in seconds (float)
|
|
|
|
### 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).
|
|
|
|
* **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)
|