Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef GO_MOTIVE_H
00007 #define GO_MOTIVE_H
00008
00009 #include <bitset>
00010 #include <iosfwd>
00011
00012
00013
00014
00015
00016 enum GoMotive
00017 {
00018
00019 GO_MOT_NONE,
00020
00021
00022 GO_MOT_RANDOM,
00023
00024
00025 GO_MOT_CAPTURE,
00026
00027
00028 GO_MOT_ESCAPE,
00029
00030
00031 GO_MOT_CONNECT,
00032
00033
00034 GO_MOT_CUT,
00035
00036
00037 GO_MOT_TO_DIVIDE,
00038
00039
00040 GO_MOT_URGENT,
00041
00042
00043 GO_MOT_EXPAND,
00044
00045
00046 GO_MOT_STABILIZE,
00047
00048
00049 GO_MOT_REDUCE,
00050
00051
00052 GO_MOT_DEFEND,
00053
00054
00055 GO_MOT_INVADE,
00056
00057
00058 GO_MOT_SENTE,
00059
00060
00061 GO_MOT_FORCED,
00062
00063
00064 GO_MOT_ONEYE,
00065
00066
00067 GO_MOT_TWOEYE,
00068
00069
00070 GO_MOT_YOSE,
00071
00072
00073 GO_MOT_ATTACK,
00074
00075
00076 GO_MOT_SAVE,
00077
00078
00079 GO_MOT_DOUBLEATARI,
00080
00081
00082 GO_MOT_ATARI,
00083
00084
00085 GO_MOT_KOTHREAT,
00086
00087
00088 _GO_NU_MOTIVE
00089 };
00090
00091 typedef std::bitset<_GO_NU_MOTIVE> GoMotives;
00092
00093 std::ostream& operator<<(std::ostream& out, GoMotive motive);
00094
00095
00096
00097
00098 enum GoModifier
00099 {
00100 GO_MOD_NORMAL,
00101
00102 GO_MOD_VERY_BIG,
00103
00104 GO_MOD_BIG,
00105
00106 GO_MOD_SMALL,
00107
00108 GO_MOD_VERY_SMALL,
00109
00110 _GO_NU_MODIFIER
00111 };
00112
00113 std::ostream& operator<<(std::ostream& out, GoModifier modifier);
00114
00115
00116
00117 #endif // GO_MOTIVE_H