mirror of
https://forge.apps.education.fr/phroy/codetower.git
synced 2024-01-27 11:35:17 +01:00
68 lines
2.6 KiB
Markdown
68 lines
2.6 KiB
Markdown
# CodeTower
|
|
|
|
**Code your tower (coding tower defense)**
|
|
|
|
CodeTower is a Tower Defense coding game where the towers are driven by Python code (with your favorite editing software).
|
|
|
|
Edit the python script to stop the minions wave !
|
|
|
|
<!-- [!Screenshot](img/screen-04.jpg "Screenshot") -->
|
|
|
|
<!-- * [Screencast : CodeTower - Gameplay](https://www.youtube.com/watch?v=snZaTSre8FA) -->
|
|
|
|
[![CodeTower - Gameplay](img/screen-04.jpg)](https://www.youtube.com/watch?v=snZaTSre8FA "CodeTower - Gameplay")
|
|
|
|
<!-- [![CodeTower - Gameplay](https://img.youtube.com/vi/snZaTSre8FA/0.jpg)](https://www.youtube.com/watch?v=snZaTSre8FA "CodeTower - Gameplay") -->
|
|
|
|
<!-- * [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).
|
|
|
|
Assets (3D models, sounds, icons) : [Kenney]( https://www.kenney.nl/ ) and [Kaylousberg](https://www.kaylousberg.com).
|
|
|
|
### Download
|
|
|
|
* itch.io marketplace : [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)
|