From 9e44d5144b18842255decdc6f845136297b94bdf Mon Sep 17 00:00:00 2001 From: mdiluzio Date: Sun, 21 Dec 2014 11:04:26 +0000 Subject: [PATCH] Rename all usages of Team to Player This was confusingly inconsistent in the codebase. fixes #7 --- source/game/game.cpp | 64 ++++++++++++++++++++--------------------- source/game/game.h | 14 ++++----- source/game/gametypes.h | 4 +-- source/game/unit.cpp | 18 ++++++------ source/game/unit.h | 18 ++++++------ source/gen/gen.cpp | 24 ++++++++-------- source/test/test.cpp | 20 ++++++------- source/ttrts/README.md | 2 +- source/ttrts/main.cpp | 34 +++++++++++----------- 9 files changed, 98 insertions(+), 100 deletions(-) diff --git a/source/game/game.cpp b/source/game/game.cpp index 90cf422..04292ca 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -30,7 +30,7 @@ CTTRTSGame& CTTRTSGame::operator=(CTTRTSGame&& game) } // Interpret a string of orders -int CTTRTSGame::IssueOrders( Team team, const std::string& _orders ) +int CTTRTSGame::IssueOrders( Player player, const std::string& _orders ) { COrderVector orderVector; @@ -53,17 +53,17 @@ int CTTRTSGame::IssueOrders( Team team, const std::string& _orders ) } // Call our add order by vector method - return IssueOrders(team,orderVector); + return IssueOrders(player,orderVector); } // Issue orders by vector to the game -int CTTRTSGame::IssueOrders( Team team, const COrderVector& orders ) +int CTTRTSGame::IssueOrders( Player player, const COrderVector& orders ) { // verify all the orders for ( auto order : orders ) { // If any order returns non-zero, back out - if ( IssueOrder(team,order) ) + if ( IssueOrder(player,order) ) return 1; } @@ -71,10 +71,10 @@ int CTTRTSGame::IssueOrders( Team team, const COrderVector& orders ) } // Issue a single order -int CTTRTSGame::IssueOrder( Team team, const SOrder & order ) +int CTTRTSGame::IssueOrder( Player player, const SOrder & order ) { // Verify the order - if ( VerifyOrder(team,order) ) + if ( VerifyOrder(player,order) ) return 1; // Get the right unit for the order @@ -366,7 +366,7 @@ int CTTRTSGame::AddUnits( CUnitVector&& units ) } // Verify any order -int CTTRTSGame::VerifyOrder( Team team, const SOrder & order ) const +int CTTRTSGame::VerifyOrder( Player player, const SOrder & order ) const { int ret = 1; @@ -378,7 +378,7 @@ int CTTRTSGame::VerifyOrder( Team team, const SOrder & order ) const { // Accept if we have the unit if (pair.unit.GetID() == unitID - && pair.unit.GetTeam() == team ) + && pair.unit.GetPlayer() == player) { ret = 0; break; @@ -434,60 +434,60 @@ CUnit& CTTRTSGame::GetUnitByID( unit_id_t id ) return invalid_unit; } -// Get a vector of the teams in the current game -std::vector CTTRTSGame::GetTeams() const +// Get a vector of the players in the current game +std::vector CTTRTSGame::GetPlayers() const { - std::vector teams; - teams.reserve(GetNumUnits()); + std::vector players; + players.reserve(GetNumUnits()); - // Grab all teams + // Grab all players for ( const SOrderUnitPair & pair : m_OrderUnitPairs ) { - teams.push_back(pair.unit.GetTeam()); + players.push_back(pair.unit.GetPlayer()); } // Remove dupes - std::sort( teams.begin(), teams.end() ); - teams.erase( std::unique( teams.begin(), teams.end() ), teams.end() ); + std::sort( players.begin(), players.end() ); + players.erase( std::unique( players.begin(), players.end() ), players.end() ); - return teams; + return players; } // Check if we have a win state -Team CTTRTSGame::CheckForWin() const +Player CTTRTSGame::CheckForWin() const { - // Array of units for each Team - unsigned int units[(int) Team::NUM_INVALID]; + // Array of units for each Player + unsigned int units[(int) Player::NUM_INVALID]; memset(units,0,sizeof(units)); - // Count up all the units for each Team + // Count up all the units for each Player for ( const SOrderUnitPair & pair : m_OrderUnitPairs ) { - const int team = (int) pair.unit.GetTeam(); - units[team] += 1; + const int player = (int) pair.unit.GetPlayer(); + units[player] += 1; } - // Default winning Team to invalid (no win) - Team winningTeam = Team::NUM_INVALID; + // Default winning Player to invalid (no win) + Player winningPlayer = Player::NUM_INVALID; - // For each of the teams + // For each of the players for ( unsigned int i = 0; i < _countof(units); i++ ) { - // if there are still units in this Team, and the winning Team hasn't been set - if( units[i] > 0 && winningTeam == Team::NUM_INVALID ) + // if there are still units in this Player, and the winning Player hasn't been set + if( units[i] > 0 && winningPlayer == Player::NUM_INVALID ) { - winningTeam = (Team)i; + winningPlayer = (Player)i; } - // Otherwise, if there are units in this Team and the winning Team HAS been set + // Otherwise, if there are units in this Player and the winning Player HAS been set else if ( units[i] > 0 ) { // Set back to invalid and break out of the loop - winningTeam = Team::NUM_INVALID; + winningPlayer = Player::NUM_INVALID; break; } } - return winningTeam; + return winningPlayer; } // Get the game information as a string diff --git a/source/game/game.h b/source/game/game.h index 9eeb76e..76451f6 100644 --- a/source/game/game.h +++ b/source/game/game.h @@ -33,15 +33,15 @@ public: // Check for a win, returns invalid for no win state reached // Note: this function will return invalid a draw was reached // best practice would be to call with GetNumUnits() == 0 - Team CheckForWin() const; + Player CheckForWin() const; // Get the game information as a string std::string GetStateAsString() const; // Issue orders to the game, returns non-zero if orders are incorrect - int IssueOrders( Team team, const std::string& orders ); - int IssueOrders( Team team, const COrderVector& orders ); - int IssueOrder( Team team, const SOrder & order ); + int IssueOrders( Player player, const std::string& orders ); + int IssueOrders( Player player, const COrderVector& orders ); + int IssueOrder( Player player, const SOrder & order ); // Add a units to the game, nonzero return value indicates error int AddUnit( CUnit&& unit ); @@ -70,8 +70,8 @@ public: inline int SetTurn( int in ) { return (turn = in); } inline int GetTurn() const { return turn; } - // Get a vector of the teams in the current game - std::vector GetTeams() const; + // Get a vector of the players in the current game + std::vector GetPlayers() const; private: @@ -79,7 +79,7 @@ private: static bool CheckForPassThrough( const CUnit& one, const CUnit& two ); // Verify any order or position - non-zero is error - int VerifyOrder( Team team, const SOrder & order ) const; + int VerifyOrder( Player player, const SOrder & order ) const; int VerifyPos( uvector2 vec ) const; // Get a units new position after an order diff --git a/source/game/gametypes.h b/source/game/gametypes.h index 12ed9b0..23b7aaf 100644 --- a/source/game/gametypes.h +++ b/source/game/gametypes.h @@ -3,8 +3,8 @@ #include // std::numeric_limits -// Type for a team IDs -enum class Team : char +// Type for a Player IDs +enum class Player : char { Red = 0, Green, diff --git a/source/game/unit.cpp b/source/game/unit.cpp index 0f7c8c0..166020e 100644 --- a/source/game/unit.cpp +++ b/source/game/unit.cpp @@ -51,7 +51,6 @@ CUnit CUnit::GetUnitFromVis( unitvis_c vis ) } // Get a string descriptor of a unit -// "U id:[unit_id] team:[team_id] player:[player_id] vis:[unit_vis] dir:[dir] pos:[pos.x],[pos.y]" std::string CUnit::GetStringFromUnit(const CUnit& unit ) { static char buff[128]; @@ -59,7 +58,7 @@ std::string CUnit::GetStringFromUnit(const CUnit& unit ) snprintf(buff,128, UNIT_FORMATTER, unit.unit_id, - (int)unit.team_id, + (int)unit.player_id, unit.unit_vis, unit.dir, unit.pos.x, @@ -69,13 +68,12 @@ std::string CUnit::GetStringFromUnit(const CUnit& unit ) } // Get a unit from a string descriptor -// "U id:[unit_id] team:[team_id] player:[player_id] vis:[unit_vis] dir:[dir] pos:[pos.x],[pos.y]" CUnit CUnit::GetUnitFromString(const std::string& unit ) { CUnit ret; unsigned int id; - int team; + int player; char vis; char dir; unsigned int posx; @@ -83,14 +81,14 @@ CUnit CUnit::GetUnitFromString(const std::string& unit ) sscanf(unit.c_str(), UNIT_FORMATTER, &id, - &team, + &player, &vis, &dir, &posx, &posy ); ret.unit_id = (unit_id_t)id; - ret.team_id = (Team)team; + ret.player_id = (Player) player; ret.unit_vis = (unitvis_c)vis; ret.dir = (dir_t)dir; ret.pos = uvector2(posx,posy); @@ -101,7 +99,7 @@ CUnit CUnit::GetUnitFromString(const std::string& unit ) // Plain constructor CUnit::CUnit() : unit_id ( get_unique_unit_id() ) -, team_id ( Team::NUM_INVALID ) +, player_id ( Player::NUM_INVALID ) , unit_vis (unitvis_invalid) , dir ( dir_t::S ) , pos ( { ucoord_invalid, ucoord_invalid } ) @@ -112,7 +110,7 @@ CUnit::CUnit() // Move constructor CUnit::CUnit(CUnit&& unit) : unit_id ( std::move(unit.unit_id) ) -, team_id ( std::move(unit.team_id) ) +, player_id ( std::move(unit.player_id) ) , unit_vis ( std::move(unit.unit_vis) ) , dir ( std::move(unit.dir) ) , pos ( std::move(unit.pos) ) @@ -125,7 +123,7 @@ CUnit::CUnit(CUnit&& unit) CUnit& CUnit::operator=(CUnit&& unit) { unit_id = std::move(unit.unit_id) ; - team_id = std::move(unit.team_id) ; + player_id = std::move(unit.player_id) ; unit_vis = std::move(unit.unit_vis) ; dir = std::move(unit.dir) ; pos = std::move(unit.pos) ; @@ -136,7 +134,7 @@ CUnit& CUnit::operator=(CUnit&& unit) bool CUnit::operator==(const CUnit& rhs) { return (unit_id == rhs.unit_id) - && (team_id == rhs.team_id) + && (player_id == rhs.player_id) && (unit_vis == rhs.unit_vis) && (dir == rhs.dir) && (pos == rhs.pos); diff --git a/source/game/unit.h b/source/game/unit.h index c53ae0b..a51ddff 100644 --- a/source/game/unit.h +++ b/source/game/unit.h @@ -7,7 +7,7 @@ #include "gametypes.h" #include "vector2.h" -#define UNIT_FORMATTER "UNIT:%u tm:%u vs:%c dr:%c ps:[%u,%u]" +#define UNIT_FORMATTER "UNIT:%u pl:%u vs:%c dr:%c ps:[%u,%u]" // force a reset of the unit ID value void __forceResetCUnitID(); @@ -36,14 +36,14 @@ public: // Getters for all the members inline const unit_id_t& GetID() const { return unit_id; } - inline const Team & GetTeam() const { return team_id; } - inline const unitvis_c & GetVisual() const { return unit_vis; } + inline const Player & GetPlayer() const { return player_id; } + inline const unitvis_c & GetVisual() const { return unit_vis; } inline const dir_t& GetDir() const { return dir; } inline const uvector2& GetPos() const { return pos; } // Set - inline Team SetTeam(const Team &v) { return (team_id = v); } - inline unitvis_c SetVisual(const unitvis_c &v) { return ( unit_vis = v ); } + inline Player SetPlayer(const Player &v) { return (player_id = v); } + inline unitvis_c SetVisual(const unitvis_c &v) { return (unit_vis = v); } inline dir_t SetDir(const dir_t &v) { return (dir = v); } inline void SetPos(const uvector2 &v) { pos = v; } @@ -70,10 +70,10 @@ private: unit_id_t unit_id; // Visual - unitvis_c unit_vis; + unitvis_c unit_vis; - // Team ID - Team team_id; + // Player ID + Player player_id; // Direction dir_t dir; @@ -90,7 +90,7 @@ typedef std::vector< unit_id_t > CUnitIDVector; inline bool CUnit::Valid() const { return (unit_id != unit_id_invalid ) - && (team_id != Team::NUM_INVALID ) + && (player_id != Player::NUM_INVALID ) && (unit_vis != unitvis_invalid); } diff --git a/source/gen/gen.cpp b/source/gen/gen.cpp index 25bde6f..9e385ed 100644 --- a/source/gen/gen.cpp +++ b/source/gen/gen.cpp @@ -3,11 +3,11 @@ #include #include -void AddUnitToGame( Team team, char vis, uvector2 vec, CTTRTSGame& game ) +void AddUnitToGame( Player player, char vis, uvector2 vec, CTTRTSGame& game ) { CUnit unit = CUnit::GetUnitFromVis(vis); unit.SetPos(vec); - unit.SetTeam(team); + unit.SetPlayer(player); game.AddUnit(std::move(unit)); } @@ -28,10 +28,10 @@ int main() CTTRTSGame game(6, 6); game.SetName("Tiny2v2"); - AddUnitToGame( Team::Red, '<', uvector2(4, 2), game); - AddUnitToGame( Team::Red, '<', uvector2(4, 4), game); - AddUnitToGame( Team::Green, '>', uvector2(1, 1), game); - AddUnitToGame( Team::Green, '>', uvector2(1, 3), game); + AddUnitToGame( Player::Red, '<', uvector2(4, 2), game); + AddUnitToGame( Player::Red, '<', uvector2(4, 4), game); + AddUnitToGame( Player::Green, '>', uvector2(1, 1), game); + AddUnitToGame( Player::Green, '>', uvector2(1, 3), game); OutputGame(std::move(game)); } @@ -42,9 +42,9 @@ int main() game.SetName("Big2v2"); for ( ucoord_t y : { 2,4,6,8,10 } ) - AddUnitToGame( Team::Red, '<', uvector2(18, y), game); + AddUnitToGame( Player::Red, '<', uvector2(18, y), game); for ( ucoord_t y : { 1,3,5,7,9 } ) - AddUnitToGame( Team::Green, '>', uvector2(1, y), game); + AddUnitToGame( Player::Green, '>', uvector2(1, y), game); OutputGame(std::move(game)); @@ -56,13 +56,13 @@ int main() game.SetName("Chess"); for ( ucoord_t y : { 1,3,5,7 } ) { - AddUnitToGame(Team::Red, '<', uvector2(6, y), game); - AddUnitToGame(Team::Red, '<', uvector2(7, y), game); + AddUnitToGame(Player::Red, '<', uvector2(6, y), game); + AddUnitToGame(Player::Red, '<', uvector2(7, y), game); } for ( ucoord_t y : { 0,2,4,6 } ) { - AddUnitToGame(Team::Green, '>', uvector2(0, y), game); - AddUnitToGame(Team::Green, '>', uvector2(1, y), game); + AddUnitToGame(Player::Green, '>', uvector2(0, y), game); + AddUnitToGame(Player::Green, '>', uvector2(1, y), game); } OutputGame(std::move(game)); diff --git a/source/test/test.cpp b/source/test/test.cpp index 4120df7..cdd9469 100644 --- a/source/test/test.cpp +++ b/source/test/test.cpp @@ -36,7 +36,7 @@ const char* tests() { CUnit unit1; unit1.SetFromVisual('v'); - unit1.SetTeam(Team::Green); + unit1.SetPlayer(Player::Green); unit1.SetPos(uvector2(5, 10)); std::string unit1Desc = CUnit::GetStringFromUnit(unit1); @@ -82,7 +82,7 @@ const char* tests() { CUnit unit = CUnit::GetUnitFromVis('^'); unit.SetPos({2, 2}); - unit.SetTeam(Team::Red); + unit.SetPlayer(Player::Red); game.AddUnit(std::move(unit)); } @@ -90,7 +90,7 @@ const char* tests() { CUnit unit = CUnit::GetUnitFromVis('^'); unit.SetPos({2, 2}); - unit.SetTeam(Team::Red); + unit.SetPlayer(Player::Red); if( !game.AddUnit(std::move(unit)) ) return "Game should have rejected unit placed on the same spot"; @@ -109,7 +109,7 @@ const char* tests() SOrder order; unit.SetPos({2, 2}); - unit.SetTeam(Team::Red); + unit.SetPlayer(Player::Red); if ( game.AddUnit(std::move(unit)) ) return "Game failed to add valid unit"; @@ -117,7 +117,7 @@ const char* tests() order.unit = id; order.command = command_c::F; - if( game.IssueOrder(Team::Red,order) ) + if( game.IssueOrder(Player::Red,order) ) return "Game failed to issue valid order"; if (game.SimulateToNextTurn() ) @@ -140,7 +140,7 @@ const char* tests() SOrder order; unit.SetPos({0, 0}); - unit.SetTeam(Team::Blue); + unit.SetPlayer(Player::Blue); if ( game.AddUnit(std::move(unit)) ) return "Game failed to add valid unit"; @@ -148,14 +148,14 @@ const char* tests() order.unit = id; order.command = command_c::A; - if( game.IssueOrder(Team::Blue,order) ) + if( game.IssueOrder(Player::Blue,order) ) return "Game failed to issue valid order"; } { CUnit unit = CUnit::GetUnitFromVis('<'); unit.SetPos({1, 0}); - unit.SetTeam(Team::Red); + unit.SetPlayer(Player::Red); if ( game.AddUnit(std::move(unit)) ) return "Game failed to add valid unit"; @@ -172,8 +172,8 @@ const char* tests() if (game.GetUnitByIndex(0).GetID() != id ) return "Game killed the wrong unit"; - if ( game.CheckForWin() != Team::Blue ) - return "Game failed to recognise a win for the right Team"; + if ( game.CheckForWin() != Player::Blue ) + return "Game failed to recognise a win for the right Player"; std::string game_string = game.GetStateAsString(); CTTRTSGame game2 = CTTRTSGame::CreateFromString(game_string); diff --git a/source/ttrts/README.md b/source/ttrts/README.md index 0bd15c2..1b0f1dc 100644 --- a/source/ttrts/README.md +++ b/source/ttrts/README.md @@ -47,7 +47,7 @@ ## ORDER FILE FORMAT ### Name - Turn_{TURN_NUMBER}_Team_{TEAM_NUMBER}.txt + Player_{TEAM_NUMBER}_Turn_{TURN_NUMBER}.txt ### Contents ORDER:{ORDER_CHAR} id:{UNIT_ID} ... {continue for all orders} diff --git a/source/ttrts/main.cpp b/source/ttrts/main.cpp index 16815f1..68a3b8d 100644 --- a/source/ttrts/main.cpp +++ b/source/ttrts/main.cpp @@ -96,8 +96,8 @@ int main(int argc, char* argv[]) // Create the game CTTRTSGame game = CTTRTSGame::CreateFromString(gameDescriptor); - // Grab the teams involved - auto teams = game.GetTeams(); + // Grab the players involved + auto players = game.GetPlayers(); // Current game directory std::string gameDir = "ttrts_" + game.GetName(); @@ -134,8 +134,8 @@ int main(int argc, char* argv[]) system(cmd1); // While the game hasn't been won - Team winningTeam; - while ( ((winningTeam = game.CheckForWin()) == Team::NUM_INVALID) // We have a winning team + Player winningPlayer; + while ( ((winningPlayer = game.CheckForWin()) == Player::NUM_INVALID) // We have a winning player && game.GetNumUnits() > 0 ) // We have no units left { std::cout<<"Starting turn "<(turnFile)),std::istreambuf_iterator()); // Issue the orders to the game - if( game.IssueOrders(team, orders) ) - std::cerr<<"Warning: Orders for team "<<(int)team<<" failed to correctly parse"<