Move USAGE.txt out to the ttrts target and convert to header appropriately

This commit is contained in:
Marc Di Luzio 2014-12-18 13:40:54 +00:00
parent 3fc1f5ee5d
commit 157e6285eb
3 changed files with 87 additions and 84 deletions

View file

@ -7,60 +7,8 @@
#include "game.h"
static const char* sk_usage =
"NAME\n"
"\tttrts - Tiny Terminal RTS\n"
"\n"
"SYNOPSYS\n"
"\tttrts [OPTIONS...] MAPFILE\n"
"\n"
"DESCRIPTION\n"
"\tttrts is a tiny terminal based RTS where that uses text\n"
"\tfiles as order lists to control it's units.\n"
"\n"
"\tThis means that any user, program or cat that can read\n"
"\tand write to text files can play the game.\n"
"\n"
"USAGE\n"
"\tWhen invoked, ttrts will set up a full game and output a\n"
"\tsingle file representing the current gamestate into a \n"
"\tlocal directory called ttrts_{GAME_NAME}.\n"
"\n"
"\tThis file can be read in and interpretted by human, robot\n"
"\tor cat. ttrts will wait for orders files to be placed in \n"
"\tit's current working directory.\n"
"\n"
"\tOnce orders have been set for each player taking part \n"
"\tttrts will calculate the new game state and output a new \n"
"\tgamestate file for the next turn.\n"
"\n"
"\tThis process repeats until a winner is chosen!\n"
"\n"
"OPTIONS\n"
"\tMAPFILE:\n"
"\t\tFile to read in the initial game state from\n"
"\n"
"GAMESTATE FILE FORMAT\n"
"\tName\n"
"\t Turn_{TURN_NUMBER}.txt\n"
"\tContents\n"
"\t ===== {GAME_NAME} =====\n"
"\t SIZE:[{X},{Y}]\n"
"\t TURN:{TURN_NUMBER}\n"
"\t ~~~~\n"
"\t UNIT:{ID} tm:{TEAM} vs:{VIS} dr:{DIR(NESW)} ps:[{X},{Y}]\n"
"\t ...\n"
"\n"
"ORDER FILE FORMAT\n"
"\tName\n"
"\t Turn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt\n"
"\tContents\n"
"\t ORDER:{ORDER_CHAR} id:{UNIT_ID}\n"
"\t ...\n"
"\n"
"ORDERS\n"
"\tF - Move unit forward one space\n"
"\tL/R - Rotate unit left or right\n"
"\tA - Attack space in front of unit\n";
#include "usage.h"
;
// time for waiting between file stats
static const std::chrono::milliseconds sk_waitTime = std::chrono::milliseconds(100);

56
source/ttrts/usage.h Normal file
View file

@ -0,0 +1,56 @@
"NAME\n"
"\tttrts - Tiny Terminal RTS\n"
"\n"
"SYNOPSYS\n"
"\tttrts [OPTIONS...] MAPFILE\n"
"\n"
"DESCRIPTION\n"
"\tttrts is a tiny terminal based RTS where that uses text\n"
"\tfiles as order lists to control it's units.\n"
"\n"
"\tThis means that any user, program or cat that can read\n"
"\tand write to text files can play the game.\n"
"\n"
"USAGE\n"
"\tWhen invoked, ttrts will set up a full game and output a\n"
"\tsingle file representing the current gamestate into a \n"
"\tlocal directory called `ttrts_{GAME_NAME}`.\n"
"\n"
"\tThis file can be read in and interpretted by human, robot\n"
"\tor cat. ttrts will wait for orders files to be placed in \n"
"\tit's current working directory.\n"
"\n"
"\tOnce orders have been set for each player taking part \n"
"\tttrts will calculate the new game state and output a new \n"
"\tgamestate file for the next turn.\n"
"\n"
"\tThis process repeats until a winner is chosen!\n"
"\n"
"OPTIONS\n"
"\tMAPFILE - File to read in the initial game state from\n"
"\n"
"-------------------------------------------------------------------------------\n"
"\n"
"GAMESTATE FILE FORMAT\n"
"Name\n"
"\tTurn_{TURN_NUMBER}.txt\n"
"Contents\n"
"\t===== {GAME_NAME} =====\n"
"\tSIZE:[{X},{Y}]\n"
"\tTURN:{TURN_NUMBER}\n"
"\t~~~~\n"
"\tUNIT:{ID} tm:{TEAM} vs:{VIS} dr:{DIR(NESW)} ps:[{X},{Y}]\n"
"\t...\n"
"\n"
"ORDER FILE FORMAT\n"
"Name\n"
"\tTurn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt\n"
"Contents\n"
"\tORDER:{ORDER_CHAR} id:{UNIT_ID}\n"
"\t...\n"
"\n"
"Orders\n"
"\tF - Move unit forward one space\n"
"\tL/R - Rotate unit left or right\n"
"\tA - Attack row in front of unit\n"
"\t\n"

57
source/ttrts/usage.md Normal file
View file

@ -0,0 +1,57 @@
## NAME
ttrts - Tiny Terminal RTS
## SYNOPSYS
ttrts [OPTIONS...] MAPFILE
## DESCRIPTION
ttrts is a tiny terminal based RTS where that uses text
files as order lists to control it's units.
This means that any user, program or cat that can read
and write to text files can play the game.
## USAGE
When invoked, ttrts will set up a full game and output a
single file representing the current gamestate into a
local directory called `ttrts_{GAME_NAME}`.
This file can be read in and interpretted by human, robot
or cat. ttrts will wait for orders files to be placed in
it's current working directory.
Once orders have been set for each player taking part
ttrts will calculate the new game state and output a new
gamestate file for the next turn.
This process repeats until a winner is chosen!
## OPTIONS
MAPFILE - File to read in the initial game state from
-------------------------------------------------------------------------------
## GAMESTATE FILE FORMAT
### Name
Turn_{TURN_NUMBER}.txt
### Contents
===== {GAME_NAME} =====
SIZE:[{X},{Y}]
TURN:{TURN_NUMBER}
~~~~
UNIT:{ID} tm:{TEAM} vs:{VIS} dr:{DIR(NESW)} ps:[{X},{Y}]
...
## ORDER FILE FORMAT
### Name
Turn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt
### Contents
ORDER:{ORDER_CHAR} id:{UNIT_ID}
...
### Orders
F - Move unit forward one space
L/R - Rotate unit left or right
A - Attack row in front of unit
`$ cat usage.md | sed 's/^#* //g' | sed 's/\t/\\t/g' | sed ':a;N;$!ba;s/\n/\\n\n/g' | sed 's/^/"/' | sed 's/$/"/' | sed '$ d' > usage.h # To convert this file to c++`