Change the games folder to maps and add it to the gitignore, updating the USAGE text to reflect this
This commit is contained in:
parent
7cf33ba458
commit
24e17450aa
4 changed files with 104 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,4 +1,6 @@
|
||||||
build
|
build
|
||||||
|
maps
|
||||||
|
ttrts
|
||||||
*.user
|
*.user
|
||||||
*.sublime*
|
*.sublime*
|
||||||
.idea
|
.idea
|
||||||
|
|
56
USAGE.txt
Normal file
56
USAGE.txt
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
To convert this file to c++ syntax use
|
||||||
|
$ cat USAGE.txt | sed 's/\t/\\t/g' | sed ':a;N;$!ba;s/\n/\\n\n/g' | sed 's/^/"/' | sed 's/$/"/'
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
File name formats:
|
||||||
|
gamestate Turn_{TURN_NUMBER}.txt
|
||||||
|
orders Turn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt
|
||||||
|
|
||||||
|
Once orders have been set for each player taking part, ttrts consumes order files,
|
||||||
|
calculates new game state and outputs a new file.
|
||||||
|
|
||||||
|
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:{UNIT_ID} tm:{TEAM_NUMBER} vs:{VISUAL} dr:{DIRECTION(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 space in front of unit
|
||||||
|
|
|
@ -20,7 +20,8 @@ if [[ $? != 0 ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "TTRTS: Generating maps"
|
echo "TTRTS: Generating maps"
|
||||||
cd ../games
|
test ! -e ../maps && mkdir ../maps
|
||||||
|
cd ../maps
|
||||||
./../build/gen/ttrts-gen
|
./../build/gen/ttrts-gen
|
||||||
if [[ $? != 0 ]]; then
|
if [[ $? != 0 ]]; then
|
||||||
echo "TTRTS: Generating maps, exiting Bootstrap"
|
echo "TTRTS: Generating maps, exiting Bootstrap"
|
||||||
|
@ -33,4 +34,4 @@ if [ ! -e build/ttrts/ttrts ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp build/ttrts/ttrts .
|
cp build/ttrts/ttrts .
|
||||||
chmod a+x ttrts
|
chmod a+x ttrts
|
||||||
|
|
|
@ -6,21 +6,59 @@
|
||||||
|
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
|
|
||||||
static const char* sk_usage = "NAME\n"
|
static const char* sk_usage =
|
||||||
|
"NAME\n"
|
||||||
"\tttrts - Tiny Terminal RTS\n"
|
"\tttrts - Tiny Terminal RTS\n"
|
||||||
"\n"
|
"\n"
|
||||||
"SYNOPSYS\n"
|
"SYNOPSYS\n"
|
||||||
"\tttrts [OPTIONS...] infile\n"
|
"\tttrts [OPTIONS...] MAPFILE\n"
|
||||||
"\n"
|
"\n"
|
||||||
"DESCRIPTION\n"
|
"DESCRIPTION\n"
|
||||||
"\tWhen invoked, ttrts will set up a full game and output a single file representing\n"
|
"\tttrts is a tiny terminal based RTS where that uses text files as order lists to control it's units.\n"
|
||||||
"\tthe current game state.\n"
|
"\n"
|
||||||
|
"\tThis means that any user, program or cat that can read and write to text files can play the game.\n"
|
||||||
|
"\n"
|
||||||
|
"USAGE\n"
|
||||||
|
"\tWhen 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}.\n"
|
||||||
|
"\n"
|
||||||
"\tThis file can be read in and interpretted by human, robot, or cat.\n"
|
"\tThis file can be read in and interpretted by human, robot, or cat.\n"
|
||||||
"\tttrts will wait for orders files to be placed in it's current working directory.\n"
|
"\tttrts will wait for orders files to be placed in it's current working directory.\n"
|
||||||
|
"\n"
|
||||||
|
"\tFile name formats:\n"
|
||||||
|
"\t gamestate Turn_{TURN_NUMBER}.txt\n"
|
||||||
|
"\t orders Turn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt\n"
|
||||||
|
"\n"
|
||||||
"\tOnce orders have been set for each player taking part, ttrts consumes order files,\n"
|
"\tOnce orders have been set for each player taking part, ttrts consumes order files,\n"
|
||||||
"\tcalculates new game state and outputs a new file.\n"
|
"\tcalculates new game state and outputs a new file.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"\tThis process repeats until a winner is chosen!\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\tTurn_{TURN_NUMBER}.txt\n"
|
||||||
|
"\tContents\n"
|
||||||
|
"\t\t===== {GAME_NAME} =====\n"
|
||||||
|
"\t\tSIZE:[{X},{Y}]\n"
|
||||||
|
"\t\tTURN:{TURN_NUMBER}\n"
|
||||||
|
"\t\t~~~~\n"
|
||||||
|
"\t\tUNIT:{UNIT_ID} tm:{TEAM_NUMBER} vs:{VISUAL} dr:{DIRECTION(NESW)} ps:[{X},{Y}]\n"
|
||||||
|
"\t\t...\n"
|
||||||
|
"\n"
|
||||||
|
"ORDER FILE FORMAT\n"
|
||||||
|
"\tName\n"
|
||||||
|
"\t\tTurn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt\n"
|
||||||
|
"\tContents\n"
|
||||||
|
"\t\tORDER:{ORDER_CHAR} id:{UNIT_ID}\n"
|
||||||
|
"\t\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";
|
||||||
|
|
||||||
// time for waiting between file stats
|
// time for waiting between file stats
|
||||||
static const std::chrono::milliseconds sk_waitTime = std::chrono::milliseconds(100);
|
static const std::chrono::milliseconds sk_waitTime = std::chrono::milliseconds(100);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue