Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

HexPoints19x19.hpp

Go to the documentation of this file.
00001 //----------------------------------------------------------------------------
00002 /** @file
00003  */
00004 //----------------------------------------------------------------------------
00005 
00006 #ifndef HEXPOINT19x19_HPP
00007 #define HEXPOINT19x19_HPP
00008 
00009 /** A location on a Hex board.  A HexPoint's neighbours can be
00010     calculated only when considering what size board the point is in.
00011     See ConstBoard for an example board layout.
00012 
00013     @note The order of these points if very important. There are
00014     several pieces of code that rely on this ordering
00015     (StoneBoard::GetBoardID() is one of them). Change this only if you
00016     know what you are doing!
00017 */
00018 typedef enum
00019 {
00020     /** Dummy point. */
00021     INVALID_POINT = 0,
00022 
00023     /** Point used to denote a resign move by a player. 
00024 
00025         @todo since this is not really a point on a board, should we
00026         create a HexMove class and put this there? */
00027     RESIGN = 1,
00028 
00029     /** Point used to denote a swap move by a player. 
00030 
00031         @todo since this is not really a point on a board, should 
00032         we create a HexMove class and put this there?  */
00033     SWAP_PIECES = 2,
00034 
00035     /** The top edge. */
00036     NORTH = 3,
00037 
00038     /** The right edge. */
00039     EAST  = 4,
00040 
00041     /** The bottom edge. */
00042     SOUTH = 5,
00043 
00044     /** The left edge. */
00045     WEST  = 6,
00046 
00047     /** @name Interior cells. */
00048     // @{
00049 
00050     HEX_CELL_A1, HEX_CELL_B1, HEX_CELL_C1, HEX_CELL_D1, HEX_CELL_E1,
00051     HEX_CELL_F1, HEX_CELL_G1, HEX_CELL_H1, HEX_CELL_I1, HEX_CELL_J1,
00052     HEX_CELL_K1, HEX_CELL_L1, HEX_CELL_M1, HEX_CELL_N1, HEX_CELL_O1,
00053     HEX_CELL_P1, HEX_CELL_Q1, HEX_CELL_R1, HEX_CELL_S1,
00054 
00055     HEX_CELL_A2, HEX_CELL_B2, HEX_CELL_C2, HEX_CELL_D2, HEX_CELL_E2,
00056     HEX_CELL_F2, HEX_CELL_G2, HEX_CELL_H2, HEX_CELL_I2, HEX_CELL_J2,
00057     HEX_CELL_K2, HEX_CELL_L2, HEX_CELL_M2, HEX_CELL_N2, HEX_CELL_O2,
00058     HEX_CELL_P2, HEX_CELL_Q2, HEX_CELL_R2, HEX_CELL_S2,
00059 
00060     HEX_CELL_A3, HEX_CELL_B3, HEX_CELL_C3, HEX_CELL_D3, HEX_CELL_E3,
00061     HEX_CELL_F3, HEX_CELL_G3, HEX_CELL_H3, HEX_CELL_I3, HEX_CELL_J3,
00062     HEX_CELL_K3, HEX_CELL_L3, HEX_CELL_M3, HEX_CELL_N3, HEX_CELL_O3,
00063     HEX_CELL_P3, HEX_CELL_Q3, HEX_CELL_R3, HEX_CELL_S3,
00064 
00065     HEX_CELL_A4, HEX_CELL_B4, HEX_CELL_C4, HEX_CELL_D4, HEX_CELL_E4,
00066     HEX_CELL_F4, HEX_CELL_G4, HEX_CELL_H4, HEX_CELL_I4, HEX_CELL_J4,
00067     HEX_CELL_K4, HEX_CELL_L4, HEX_CELL_M4, HEX_CELL_N4, HEX_CELL_O4,
00068     HEX_CELL_P4, HEX_CELL_Q4, HEX_CELL_R4, HEX_CELL_S4,
00069 
00070     HEX_CELL_A5, HEX_CELL_B5, HEX_CELL_C5, HEX_CELL_D5, HEX_CELL_E5,
00071     HEX_CELL_F5, HEX_CELL_G5, HEX_CELL_H5, HEX_CELL_I5, HEX_CELL_J5,
00072     HEX_CELL_K5, HEX_CELL_L5, HEX_CELL_M5, HEX_CELL_N5, HEX_CELL_O5,
00073     HEX_CELL_P5, HEX_CELL_Q5, HEX_CELL_R5, HEX_CELL_S5,
00074 
00075     HEX_CELL_A6, HEX_CELL_B6, HEX_CELL_C6, HEX_CELL_D6, HEX_CELL_E6,
00076     HEX_CELL_F6, HEX_CELL_G6, HEX_CELL_H6, HEX_CELL_I6, HEX_CELL_J6,
00077     HEX_CELL_K6, HEX_CELL_L6, HEX_CELL_M6, HEX_CELL_N6, HEX_CELL_O6,
00078     HEX_CELL_P6, HEX_CELL_Q6, HEX_CELL_R6, HEX_CELL_S6,
00079 
00080     HEX_CELL_A7, HEX_CELL_B7, HEX_CELL_C7, HEX_CELL_D7, HEX_CELL_E7,
00081     HEX_CELL_F7, HEX_CELL_G7, HEX_CELL_H7, HEX_CELL_I7, HEX_CELL_J7,
00082     HEX_CELL_K7, HEX_CELL_L7, HEX_CELL_M7, HEX_CELL_N7, HEX_CELL_O7,
00083     HEX_CELL_P7, HEX_CELL_Q7, HEX_CELL_R7, HEX_CELL_S7,
00084 
00085     HEX_CELL_A8, HEX_CELL_B8, HEX_CELL_C8, HEX_CELL_D8, HEX_CELL_E8,
00086     HEX_CELL_F8, HEX_CELL_G8, HEX_CELL_H8, HEX_CELL_I8, HEX_CELL_J8,
00087     HEX_CELL_K8, HEX_CELL_L8, HEX_CELL_M8, HEX_CELL_N8, HEX_CELL_O8,
00088     HEX_CELL_P8, HEX_CELL_Q8, HEX_CELL_R8, HEX_CELL_S8,
00089 
00090     HEX_CELL_A9, HEX_CELL_B9, HEX_CELL_C9, HEX_CELL_D9, HEX_CELL_E9,
00091     HEX_CELL_F9, HEX_CELL_G9, HEX_CELL_H9, HEX_CELL_I9, HEX_CELL_J9,
00092     HEX_CELL_K9, HEX_CELL_L9, HEX_CELL_M9, HEX_CELL_N9, HEX_CELL_O9,
00093     HEX_CELL_P9, HEX_CELL_Q9, HEX_CELL_R9, HEX_CELL_S9,
00094 
00095     HEX_CELL_A10, HEX_CELL_B10, HEX_CELL_C10, HEX_CELL_D10, HEX_CELL_E10,
00096     HEX_CELL_F10, HEX_CELL_G10, HEX_CELL_H10, HEX_CELL_I10, HEX_CELL_J10,
00097     HEX_CELL_K10, HEX_CELL_L10, HEX_CELL_M10, HEX_CELL_N10, HEX_CELL_O10,
00098     HEX_CELL_P10, HEX_CELL_Q10, HEX_CELL_R10, HEX_CELL_S10,
00099 
00100     HEX_CELL_A11, HEX_CELL_B11, HEX_CELL_C11, HEX_CELL_D11, HEX_CELL_E11,
00101     HEX_CELL_F11, HEX_CELL_G11, HEX_CELL_H11, HEX_CELL_I11, HEX_CELL_J11,
00102     HEX_CELL_K11, HEX_CELL_L11, HEX_CELL_M11, HEX_CELL_N11, HEX_CELL_O11,
00103     HEX_CELL_P11, HEX_CELL_Q11, HEX_CELL_R11, HEX_CELL_S11,
00104 
00105     HEX_CELL_A12, HEX_CELL_B12, HEX_CELL_C12, HEX_CELL_D12, HEX_CELL_E12,
00106     HEX_CELL_F12, HEX_CELL_G12, HEX_CELL_H12, HEX_CELL_I12, HEX_CELL_J12,
00107     HEX_CELL_K12, HEX_CELL_L12, HEX_CELL_M12, HEX_CELL_N12, HEX_CELL_O12,
00108     HEX_CELL_P12, HEX_CELL_Q12, HEX_CELL_R12, HEX_CELL_S12,
00109 
00110     HEX_CELL_A13, HEX_CELL_B13, HEX_CELL_C13, HEX_CELL_D13, HEX_CELL_E13,
00111     HEX_CELL_F13, HEX_CELL_G13, HEX_CELL_H13, HEX_CELL_I13, HEX_CELL_J13,
00112     HEX_CELL_K13, HEX_CELL_L13, HEX_CELL_M13, HEX_CELL_N13, HEX_CELL_O13,
00113     HEX_CELL_P13, HEX_CELL_Q13, HEX_CELL_R13, HEX_CELL_S13,
00114 
00115     HEX_CELL_A14, HEX_CELL_B14, HEX_CELL_C14, HEX_CELL_D14, HEX_CELL_E14,
00116     HEX_CELL_F14, HEX_CELL_G14, HEX_CELL_H14, HEX_CELL_I14, HEX_CELL_J14,
00117     HEX_CELL_K14, HEX_CELL_L14, HEX_CELL_M14, HEX_CELL_N14, HEX_CELL_O14,
00118     HEX_CELL_P14, HEX_CELL_Q14, HEX_CELL_R14, HEX_CELL_S14,
00119 
00120     HEX_CELL_A15, HEX_CELL_B15, HEX_CELL_C15, HEX_CELL_D15, HEX_CELL_E15,
00121     HEX_CELL_F15, HEX_CELL_G15, HEX_CELL_H15, HEX_CELL_I15, HEX_CELL_J15,
00122     HEX_CELL_K15, HEX_CELL_L15, HEX_CELL_M15, HEX_CELL_N15, HEX_CELL_O15,
00123     HEX_CELL_P15, HEX_CELL_Q15, HEX_CELL_R15, HEX_CELL_S15,
00124 
00125     HEX_CELL_A16, HEX_CELL_B16, HEX_CELL_C16, HEX_CELL_D16, HEX_CELL_E16,
00126     HEX_CELL_F16, HEX_CELL_G16, HEX_CELL_H16, HEX_CELL_I16, HEX_CELL_J16,
00127     HEX_CELL_K16, HEX_CELL_L16, HEX_CELL_M16, HEX_CELL_N16, HEX_CELL_O16,
00128     HEX_CELL_P16, HEX_CELL_Q16, HEX_CELL_R16, HEX_CELL_S16,
00129 
00130     HEX_CELL_A17, HEX_CELL_B17, HEX_CELL_C17, HEX_CELL_D17, HEX_CELL_E17,
00131     HEX_CELL_F17, HEX_CELL_G17, HEX_CELL_H17, HEX_CELL_I17, HEX_CELL_J17,
00132     HEX_CELL_K17, HEX_CELL_L17, HEX_CELL_M17, HEX_CELL_N17, HEX_CELL_O17,
00133     HEX_CELL_P17, HEX_CELL_Q17, HEX_CELL_R17, HEX_CELL_S17,
00134 
00135     HEX_CELL_A18, HEX_CELL_B18, HEX_CELL_C18, HEX_CELL_D18, HEX_CELL_E18,
00136     HEX_CELL_F18, HEX_CELL_G18, HEX_CELL_H18, HEX_CELL_I18, HEX_CELL_J18,
00137     HEX_CELL_K18, HEX_CELL_L18, HEX_CELL_M18, HEX_CELL_N18, HEX_CELL_O18,
00138     HEX_CELL_P18, HEX_CELL_Q18, HEX_CELL_R18, HEX_CELL_S18,
00139 
00140     HEX_CELL_A19, HEX_CELL_B19, HEX_CELL_C19, HEX_CELL_D19, HEX_CELL_E19,
00141     HEX_CELL_F19, HEX_CELL_G19, HEX_CELL_H19, HEX_CELL_I19, HEX_CELL_J19,
00142     HEX_CELL_K19, HEX_CELL_L19, HEX_CELL_M19, HEX_CELL_N19, HEX_CELL_O19,
00143     HEX_CELL_P19, HEX_CELL_Q19, HEX_CELL_R19, HEX_CELL_S19,
00144     
00145     // @}
00146     
00147     /** The invalid HexPoint. */
00148     FIRST_INVALID
00149 
00150 } HexPoint;
00151 
00152 //----------------------------------------------------------------------------
00153 
00154 #endif


6 Jan 2011 Doxygen 1.6.3