#include <map>
#include <string>
#include <vector>
#include <utility>
#include "Benzene.hpp"
#include "Bitset.hpp"
#include "HexAssert.hpp"
#include "HexColor.hpp"
#include "HexPoints11x11.hpp"
Go to the source code of this file.
Namespaces | |
namespace | HexPointUtil |
Utilities on HexPoints: converting to/from strings, testing for edges, converting to/from x/y coordinates, etc. | |
Typedefs | |
typedef std::map< HexPoint, HexPoint > | PointToPoint |
A map of points to points. | |
typedef std::pair< HexPoint, HexPoint > | HexPointPair |
Pair of HexPoints. | |
typedef std::set< HexPoint > | HexPointSet |
Set of HexPoints. | |
typedef std::map< HexPoint, bitset_t > | PointToBitset |
Map of HexPoints to bitsets. | |
typedef std::vector< HexPoint > | PointSequence |
A sequence of HexPoints. | |
Enumerations | |
enum | HexDirection { DIR_EAST = 0, DIR_NORTH_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH_WEST, DIR_SOUTH, NUM_DIRECTIONS } |
Delta arrays. More... | |
Functions | |
std::string | HexPointUtil::ToString (HexPoint p) |
Converts a HexPoint to a string. | |
std::string | HexPointUtil::ToString (const HexPointPair &p) |
Converts a pair of HexPoints to a string. | |
std::string | HexPointUtil::ToString (const PointSequence &lst) |
Returns a space separated output of points in lst. | |
std::string | HexPointUtil::ToString (const bitset_t &b) |
Returns a string representation of the bitset's set bits. | |
HexPoint | HexPointUtil::FromString (const std::string &name) |
Returns the HexPoint with the given name; INVALID_POINT otherwise. | |
void | HexPointUtil::FromString (const std::string &str, PointSequence &pts) |
Reads a PointSequence from a string of space separated points. | |
bool | HexPointUtil::isSwap (HexPoint c) |
Returns true if this point is a swap move. | |
bool | HexPointUtil::isEdge (HexPoint c) |
Returns true if this point is an edge point. | |
bool | HexPointUtil::isInteriorCell (HexPoint c) |
Returns true if this point is an interior cell. | |
HexPoint | HexPointUtil::oppositeEdge (HexPoint edge) |
Returns the edge opposite the given edge. | |
HexPoint | HexPointUtil::leftEdge (HexPoint edge) |
Returns the edge to the left of the given edge. | |
HexPoint | HexPointUtil::rightEdge (HexPoint edge) |
Returns the edge to the right of the given edge. | |
HexPoint | HexPointUtil::colorEdge1 (HexColor color) |
Returns a color's first edge. | |
HexPoint | HexPointUtil::colorEdge2 (HexColor color) |
Returns a color's second edge. | |
bool | HexPointUtil::isColorEdge (HexPoint cell, HexColor color) |
Returns true if cell is one of color's edges. | |
void | HexPointUtil::pointToCoords (HexPoint cell, int &x, int &y) |
Converts cell into its x and y components, where. | |
HexPoint | HexPointUtil::coordsToPoint (int x, int y) |
Returns the HexPoint corresponding to the given x and y coords. | |
int | HexPointUtil::DeltaX (int dir) |
Returns the change in the x-coordinate when travelling in the given direction. | |
int | HexPointUtil::DeltaY (int dir) |
Returns the change in the y-coordinate when travelling in the given direction. | |
std::ostream & | operator<< (std::ostream &os, HexPoint p) |
Extends standard output operator to handle HexPoints. | |
Variables | |
static const HexPoint | FIRST_SPECIAL = RESIGN |
The value of the first special HexPoint. | |
static const HexPoint | FIRST_EDGE = NORTH |
The value of the first edge HexPoint. | |
static const HexPoint | FIRST_CELL = HEX_CELL_A1 |
The value of the first interior cell; this should always be A1. | |
Maximum dimensions. | |
static const int | MAX_WIDTH = 11 |
The maximum width of a valid ConstBoard. | |
static const int | MAX_HEIGHT = 11 |
The maximum height of a valid ConstBoard. |
Definition in file HexPoint.hpp.
typedef std::pair<HexPoint, HexPoint> HexPointPair |
Pair of HexPoints.
Definition at line 146 of file HexPoint.hpp.
typedef std::set<HexPoint> HexPointSet |
Set of HexPoints.
Definition at line 149 of file HexPoint.hpp.
typedef std::vector<HexPoint> PointSequence |
A sequence of HexPoints.
Definition at line 155 of file HexPoint.hpp.
typedef std::map<HexPoint, bitset_t> PointToBitset |
Map of HexPoints to bitsets.
Definition at line 152 of file HexPoint.hpp.
typedef std::map<HexPoint, HexPoint> PointToPoint |
A map of points to points.
Definition at line 143 of file HexPoint.hpp.
enum HexDirection |
Delta arrays.
On a hex board, we can travel only in the following six directions: EAST, NORTH_EAST, NORTH, WEST, SOUTH_WEST, SOUTH.
| / |/ --- o --- /| / |
Definition at line 173 of file HexPoint.hpp.
std::ostream& operator<< | ( | std::ostream & | os, | |
HexPoint | p | |||
) | [inline] |
Extends standard output operator to handle HexPoints.
Definition at line 362 of file HexPoint.hpp.
References HexPointUtil::ToString().
const HexPoint FIRST_CELL = HEX_CELL_A1 [static] |
The value of the first interior cell; this should always be A1.
Definition at line 138 of file HexPoint.hpp.
Referenced by ConstBoard::ComputePointList(), HexPointUtil::coordsToPoint(), ConstBoard::CreateIterators(), HexPointUtil::isInteriorCell(), and HexPointUtil::pointToCoords().
const HexPoint FIRST_EDGE = NORTH [static] |
The value of the first edge HexPoint.
Definition at line 135 of file HexPoint.hpp.
Referenced by ConstBoard::CreateIterators(), PatternMatcherData::Initialize(), and PatternState::Update().
const HexPoint FIRST_SPECIAL = RESIGN [static] |
The value of the first special HexPoint.
Definition at line 132 of file HexPoint.hpp.
Referenced by ConstBoard::ComputePointList(), and ConstBoard::CreateIterators().
const int MAX_HEIGHT = 11 [static] |
The maximum height of a valid ConstBoard.
Definition at line 105 of file HexPoint.hpp.
Referenced by HexHtpEngine::CmdNewGame(), ConstBoard::ConstBoard(), and HexPointUtil::coordsToPoint().
const int MAX_WIDTH = 11 [static] |
The maximum width of a valid ConstBoard.
Definition at line 102 of file HexPoint.hpp.
Referenced by HexHtpEngine::CmdNewGame(), ConstBoard::ConstBoard(), HexPointUtil::coordsToPoint(), HexPointUtil::pointToCoords(), and HandicapPlayer::threeToOne().