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