Even more cleanup and removal of legacy code

This commit is contained in:
Marc Di Luzio 2014-12-18 13:58:21 +00:00
parent 157e6285eb
commit 5a56a400c5
8 changed files with 40 additions and 182 deletions

27
source/README.md Normal file
View file

@ -0,0 +1,27 @@
# Targets
### ttrts
Main TTRTS executable , runs from the command line and acts as client
### ttrts-test
Test executable, to be compiled and run to test various functionality
### ttrts-gen
Binary to generate map example map files
# 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
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
* ASCII Colour wrapper for separate teams
### maths
simple maths library for 2D calculations and types

View file

@ -1,4 +1,4 @@
Game Design
TTRTS Gameplay
=================
The game takes place in a series of simultaneous turns on an arbitrarily sized 2D board.
@ -11,22 +11,7 @@ The engine then takes all commands, evaluates all movement first simultaneously,
All attempted movement to the same square by two or more units will fail.
Friendly fire is enabled by default
Friendly fire is enabled by default.
--------------------------------------------------------
Units
-----
Currently only one unit, this will be expanded in the future.
Units have a set of properties, and commands than can be issued.
All units take one hit to kill.
##### properties
See [the unit header](unit.h) for full details on unit properties
##### orders
Commands take the form of a single char literal.
See [the order header](order.h) for details on the orders

View file

@ -54,4 +54,4 @@
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++`
`$ cat README.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++`

View file

@ -1,19 +0,0 @@
cmake_minimum_required(VERSION 2.8.7)
# game project
project( ui )
include_directories(
../maths
../game
)
# Set to use c++11, because we're cool like that
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11" )
# Add the sources
set( SOURCES
board.cpp
)
add_library( ui ${SOURCES} )

View file

@ -1,43 +0,0 @@
#include "board.h"
// ----------------------------------------------
// Default constructor for the board
CBoard::CBoard( unsigned int c, unsigned int r )
: cols ( c )
, rows ( r )
, total ( rows * cols )
{
board.resize(total,square_empty);
}
// constructor
CBoard::CBoard( unsigned int c, unsigned int r, vunitVis_c&& b )
: cols ( c )
, rows ( r )
, total ( rows * cols )
, board ( std::move(b) )
{
board.resize(total,square_empty);
}
// print get a slot on the board
unitVis_c CBoard::get( const unsigned int c, const unsigned int r ) const
{
if ( (r >= rows) || (c >= cols) )
return square_invalid;
return board[r*c];
}
// Get a square on the board
unitVis_c CBoard::set( const unsigned int c, const unsigned int r , const unitVis_c n )
{
if ( (r >= rows) || (c >= cols) )
return square_invalid;
unitVis_c old = board[r*c];
board[r*c] = n;
return old;
}

View file

@ -1,54 +0,0 @@
#ifndef _BOARD_H_
#define _BOARD_H_
#include "gametypes.h"
#include "mathtypes.h"
#include <limits> // std::numeric_limits
#include <vector> // std::vector
typedef std::vector< unitVis_c > vunitVis_c;
// Invalid value for the board square
constexpr unitVis_c square_invalid = std::numeric_limits<unitVis_c>::max();
constexpr unitVis_c square_empty = ' ';
// Class to store simple data about a board
class CBoard
{
public:
const unsigned int cols; // Number of columns
const unsigned int rows; // Number of rows
const unsigned int total; // Total number of pieces
// constructor
CBoard( unsigned int c, unsigned int r );
// constructor
CBoard( unsigned int c, unsigned int r, vunitVis_c&& b );
// Default destructor
~CBoard() = default;
// clear the board
inline void clear() { fill(square_empty); }
// fill the board
inline void fill(unitVis_c v) { std::fill(board.begin(),board.end(),v); };
// Get a square on the board
unitVis_c get( const unsigned int c, const unsigned int r ) const;
// Get the full board
inline const vunitVis_c& get() const { return board; };
// Get a square on the board
unitVis_c set( const unsigned int c, const unsigned int r , const unitVis_c n );
private:
vunitVis_c board; // Board data storage
};
#endif //_BOARD_H_