Update the README.md

This commit is contained in:
Marc Di Luzio 2014-12-16 13:12:53 +00:00
parent 5f7dbb34d9
commit 51cdda821d
2 changed files with 39 additions and 24 deletions

View file

@ -1,37 +1,52 @@
ttrts
=====
# TTRTS
*The Tiny Terminal RTS where the players write their AIs*
*the Tiny Terminal RTS where the players write their AIs*
------------------------------------------------------------------------------------
## Introduction
We aim to create a simple terminal based rts where a user can program an AI to control their army
Introduction
------------
We aim to create a simple terminal based rts where the user programs their armies AI.
------------------------------------------------------------------------------------
## Gameplay
1. TTRTS clients are run from the command line
2. clients will connect and confirm initial board state
1. clients output a text file with game data for this turn
2. a player, or program, reads the game data file and outputs an instructions file
3. clients read the instructions file, simulates the turn
4. game state is verified between clients and output
5. repeat until an end state is reached
3. once game is finished, host and clients disconnect and a winner is notified
Targets
-------
### ttrts
Main ttrts executable , runs from the command line and can act as host or client
*see [the game directory](game) for full game rules*
### ttrts-test
------------------------------------------------------------------------------------
## Source
### Targets
##### ttrts
Main TTRTS executable , runs from the command line and can act as host or client
##### ttrts-test
Test executable, to be compiled and run to test various functionality
Libraries
---------
### game
Implementation of the RTS rules and simulation
##### player
Custom player AI code, this should contain examples and test code to help newcomers begin their journey
### net
### Libraries
##### game
Implementation of the RTS rules and simulation. [game](game) has full information on it's implementation.
##### net
Net code for hosting the server and communicating with clients
### ui
##### ui
Wrapper for user interface for the terminal, this only really needs three stages
* Initialise the game with settings and connect the clients
* Run the game simulation to it's conclusion
* Display the game result
* Acsii Colour wrapper for separate teams
### maths
##### maths
simple maths library for 2D calculations and types
### player
Custom player AI code, this should contain examples and test code to help newcomers begin their journey

View file

@ -22,21 +22,21 @@ Commands take the form of a single char literal.
All units have 1 health.
## X
X is your basic slow melee unit. It has very basic data and controls, basically acting like a turtle.
## V
V is your basic slow melee unit. It has very basic data and controls, basically acting like a turtle.
Can be represented based on direction by `<` `^` `>` `v`
##### properties
| property | type | description |
|:---------|:--------|:----------------------------------|
| pos | char[2] | x,y position on the board |
| dir | char[2] | compass direction unit is facing |
| dir | char | compass direction unit is facing |
##### commands
| command | description |
|:---------|:--------------------------------------------|
| L/R | turn left/right |
| F | move forward |
| B | move backward |
| A | deal 1 damage to unit directly in front |
--------------------------------------------------------