dir_t -> dir_c
This commit is contained in:
parent
83020d9120
commit
263f6187d3
6 changed files with 53 additions and 53 deletions
|
@ -296,26 +296,26 @@ bool CTTRTSGame::CheckForPassThrough( const CUnit& one, const CUnit& two )
|
||||||
{
|
{
|
||||||
uvector2 pos1 = one.GetPos();
|
uvector2 pos1 = one.GetPos();
|
||||||
uvector2 pos2 = two.GetPos();
|
uvector2 pos2 = two.GetPos();
|
||||||
dir_t dir1 = one.GetDir();
|
dir_c dir1 = one.GetDir();
|
||||||
dir_t dir2 = two.GetDir();
|
dir_c dir2 = two.GetDir();
|
||||||
|
|
||||||
if( pos1.x == pos2.x ) { // Same col
|
if( pos1.x == pos2.x ) { // Same col
|
||||||
if (pos1.y == (pos2.y + 1)) {
|
if (pos1.y == (pos2.y + 1)) {
|
||||||
if (dir1 == dir_t::N && dir2 == dir_t::S)
|
if (dir1 == dir_c::N && dir2 == dir_c::S)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (pos1.y == (pos2.y - 1)) {
|
else if (pos1.y == (pos2.y - 1)) {
|
||||||
if (dir1 == dir_t::S && dir2 == dir_t::N)
|
if (dir1 == dir_c::S && dir2 == dir_c::N)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( pos1.y == pos2.y ) { // Same row
|
else if( pos1.y == pos2.y ) { // Same row
|
||||||
if( pos1.x == (pos2.x+1) ) {
|
if( pos1.x == (pos2.x+1) ) {
|
||||||
if( dir1 == dir_t::E && dir2 == dir_t::W )
|
if( dir1 == dir_c::E && dir2 == dir_c::W )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if( pos1.x == (pos2.x-1) ) {
|
else if( pos1.x == (pos2.x-1) ) {
|
||||||
if( dir1 == dir_t::E && dir2 == dir_t::W )
|
if( dir1 == dir_c::E && dir2 == dir_c::W )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,17 +18,17 @@ namespace
|
||||||
}
|
}
|
||||||
|
|
||||||
// Map of visual representation of unit V
|
// Map of visual representation of unit V
|
||||||
typedef std::map< dir_t, unitvis_c> dir_to_vis_map;
|
typedef std::map<dir_c, unitvis_c> dir_to_vis_map;
|
||||||
|
|
||||||
// Helper function to get the vis map during static init
|
// Helper function to get the vis map during static init
|
||||||
const dir_to_vis_map& get_vis_map_V()
|
const dir_to_vis_map& get_vis_map_V()
|
||||||
{
|
{
|
||||||
static const dir_to_vis_map sk_visMap =
|
static const dir_to_vis_map sk_visMap =
|
||||||
{
|
{
|
||||||
{dir_t::N,'^'},
|
{dir_c::N,'^'},
|
||||||
{dir_t::E,'>'},
|
{dir_c::E,'>'},
|
||||||
{dir_t::S,'v'},
|
{dir_c::S,'v'},
|
||||||
{dir_t::W,'<'},
|
{dir_c::W,'<'},
|
||||||
};
|
};
|
||||||
|
|
||||||
return sk_visMap;
|
return sk_visMap;
|
||||||
|
@ -90,7 +90,7 @@ CUnit CUnit::GetUnitFromString(const std::string& unit )
|
||||||
ret.unit_id = (unit_id_t)id;
|
ret.unit_id = (unit_id_t)id;
|
||||||
ret.player_id = (player_t) player;
|
ret.player_id = (player_t) player;
|
||||||
ret.unit_vis = (unitvis_c)vis;
|
ret.unit_vis = (unitvis_c)vis;
|
||||||
ret.dir = (dir_t)dir;
|
ret.dir = (dir_c)dir;
|
||||||
ret.pos = uvector2(posx,posy);
|
ret.pos = uvector2(posx,posy);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -101,7 +101,7 @@ CUnit::CUnit()
|
||||||
: unit_id ( get_unique_unit_id() )
|
: unit_id ( get_unique_unit_id() )
|
||||||
, player_id ( player_t::NUM_INVALID )
|
, player_id ( player_t::NUM_INVALID )
|
||||||
, unit_vis (unitvis_invalid)
|
, unit_vis (unitvis_invalid)
|
||||||
, dir ( dir_t::S )
|
, dir ( dir_c::S )
|
||||||
, pos ( { ucoord_invalid, ucoord_invalid } )
|
, pos ( { ucoord_invalid, ucoord_invalid } )
|
||||||
{
|
{
|
||||||
UpdateMyVisual();
|
UpdateMyVisual();
|
||||||
|
@ -175,24 +175,24 @@ bool CUnit::SetFromVisual(const unitvis_c &vis)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Turn unit left
|
// Turn unit left
|
||||||
dir_t CUnit::TurnLeft()
|
dir_c CUnit::TurnLeft()
|
||||||
{
|
{
|
||||||
switch( dir )
|
switch( dir )
|
||||||
{
|
{
|
||||||
case dir_t::N:
|
case dir_c::N:
|
||||||
dir = dir_t::W;
|
dir = dir_c::W;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::E:
|
case dir_c::E:
|
||||||
dir = dir_t::N;
|
dir = dir_c::N;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::S:
|
case dir_c::S:
|
||||||
dir = dir_t::E;
|
dir = dir_c::E;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::W:
|
case dir_c::W:
|
||||||
dir = dir_t::S;
|
dir = dir_c::S;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,24 +202,24 @@ dir_t CUnit::TurnLeft()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Turn unit right
|
// Turn unit right
|
||||||
dir_t CUnit::TurnRight()
|
dir_c CUnit::TurnRight()
|
||||||
{
|
{
|
||||||
switch( dir )
|
switch( dir )
|
||||||
{
|
{
|
||||||
case dir_t::N:
|
case dir_c::N:
|
||||||
dir = dir_t::E;
|
dir = dir_c::E;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::E:
|
case dir_c::E:
|
||||||
dir = dir_t::S;
|
dir = dir_c::S;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::S:
|
case dir_c::S:
|
||||||
dir = dir_t::W;
|
dir = dir_c::W;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::W:
|
case dir_c::W:
|
||||||
dir = dir_t::N;
|
dir = dir_c::N;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,24 +229,24 @@ dir_t CUnit::TurnRight()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Turn unit around
|
// Turn unit around
|
||||||
dir_t CUnit::TurnAround()
|
dir_c CUnit::TurnAround()
|
||||||
{
|
{
|
||||||
switch( dir )
|
switch( dir )
|
||||||
{
|
{
|
||||||
case dir_t::N:
|
case dir_c::N:
|
||||||
dir = dir_t::S;
|
dir = dir_c::S;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::E:
|
case dir_c::E:
|
||||||
dir = dir_t::W;
|
dir = dir_c::W;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::S:
|
case dir_c::S:
|
||||||
dir = dir_t::N;
|
dir = dir_c::N;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case dir_t::W:
|
case dir_c::W:
|
||||||
dir = dir_t::E;
|
dir = dir_c::E;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,13 +38,13 @@ public:
|
||||||
inline const unit_id_t& GetID() const { return unit_id; }
|
inline const unit_id_t& GetID() const { return unit_id; }
|
||||||
inline const player_t & GetPlayer() const { return player_id; }
|
inline const player_t & GetPlayer() const { return player_id; }
|
||||||
inline const unitvis_c & GetVisual() const { return unit_vis; }
|
inline const unitvis_c & GetVisual() const { return unit_vis; }
|
||||||
inline const dir_t& GetDir() const { return dir; }
|
inline const dir_c & GetDir() const { return dir; }
|
||||||
inline const uvector2& GetPos() const { return pos; }
|
inline const uvector2& GetPos() const { return pos; }
|
||||||
|
|
||||||
// Set
|
// Set
|
||||||
inline player_t SetPlayer(const player_t &v) { return (player_id = v); }
|
inline player_t SetPlayer(const player_t &v) { return (player_id = v); }
|
||||||
inline unitvis_c SetVisual(const unitvis_c &v) { return (unit_vis = 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 dir_c SetDir(const dir_c &v) { return (dir = v); }
|
||||||
inline void SetPos(const uvector2 &v) { pos = v; }
|
inline void SetPos(const uvector2 &v) { pos = v; }
|
||||||
|
|
||||||
// Get the co-ordinate in front of the unit
|
// Get the co-ordinate in front of the unit
|
||||||
|
@ -57,9 +57,9 @@ public:
|
||||||
bool SetFromVisual(const unitvis_c &vis);
|
bool SetFromVisual(const unitvis_c &vis);
|
||||||
|
|
||||||
// Orientation methods
|
// Orientation methods
|
||||||
dir_t TurnLeft();
|
dir_c TurnLeft();
|
||||||
dir_t TurnRight();
|
dir_c TurnRight();
|
||||||
dir_t TurnAround();
|
dir_c TurnAround();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ private:
|
||||||
player_t player_id;
|
player_t player_id;
|
||||||
|
|
||||||
// Direction
|
// Direction
|
||||||
dir_t dir;
|
dir_c dir;
|
||||||
|
|
||||||
// Position
|
// Position
|
||||||
uvector2 pos;
|
uvector2 pos;
|
||||||
|
|
|
@ -17,7 +17,7 @@ static const coord_t coord_invalid = std::numeric_limits<coord_t>::max();
|
||||||
static const ucoord_t ucoord_invalid = std::numeric_limits<ucoord_t>::max();
|
static const ucoord_t ucoord_invalid = std::numeric_limits<ucoord_t>::max();
|
||||||
|
|
||||||
// Direction representation
|
// Direction representation
|
||||||
enum class dir_t : char
|
enum class dir_c : char
|
||||||
{
|
{
|
||||||
N = 'N',
|
N = 'N',
|
||||||
S = 'S',
|
S = 'S',
|
||||||
|
|
|
@ -60,20 +60,20 @@ struct uvector2
|
||||||
|
|
||||||
inline vector2::operator uvector2() const { return { (ucoord_t)x, (ucoord_t)y }; }
|
inline vector2::operator uvector2() const { return { (ucoord_t)x, (ucoord_t)y }; }
|
||||||
|
|
||||||
inline vector2 vecFromDir( dir_t dir )
|
inline vector2 vecFromDir( dir_c dir )
|
||||||
{
|
{
|
||||||
switch( dir )
|
switch( dir )
|
||||||
{
|
{
|
||||||
case dir_t::N:
|
case dir_c::N:
|
||||||
return { 0,1 };
|
return { 0,1 };
|
||||||
|
|
||||||
case dir_t::E:
|
case dir_c::E:
|
||||||
return { 1,0 };
|
return { 1,0 };
|
||||||
|
|
||||||
case dir_t::S:
|
case dir_c::S:
|
||||||
return { 0,-1 };
|
return { 0,-1 };
|
||||||
|
|
||||||
case dir_t::W:
|
case dir_c::W:
|
||||||
return { -1,0 };
|
return { -1,0 };
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -166,7 +166,7 @@ const char* tests()
|
||||||
if ( game.GetNumUnits() != 1 )
|
if ( game.GetNumUnits() != 1 )
|
||||||
return "Game failed to kill a unit when it logically should have";
|
return "Game failed to kill a unit when it logically should have";
|
||||||
|
|
||||||
if (game.GetUnitByIndex(0).GetDir() != dir_t::E )
|
if (game.GetUnitByIndex(0).GetDir() != dir_c::E )
|
||||||
return "Game killed the wrong unit";
|
return "Game killed the wrong unit";
|
||||||
|
|
||||||
if (game.GetUnitByIndex(0).GetID() != id )
|
if (game.GetUnitByIndex(0).GetID() != id )
|
||||||
|
|
Loading…
Add table
Reference in a new issue