addEffect8.h
Go to the documentation of this file.
00001 #ifndef OSL_MOVE_GENERATOR_ADD_EFFECT8_H
00002 #define OSL_MOVE_GENERATOR_ADD_EFFECT8_H
00003 #include "osl/player.h"
00004 #include "osl/ptype.h"
00005 #include "osl/state/numEffectState.h"
00006 #include "osl/move_action/store.h"
00007 #include "osl/container/moveVector.h"
00008 #include "osl/misc/loki.h"
00009 
00010 namespace osl
00011 {
00012   namespace move_generator
00013   {
00021     template<Player P>
00022     class AddEffect8
00023     {
00024     public:
00059       template<class Action>
00060       static void generate(const NumEffectState& state,Action& action);
00061       static void generate(const NumEffectState& state, MoveVector& out)
00062       {
00063         move_action::Store store(out);
00064         generate(state, store);
00065       }
00069       template<class Action>
00070       static void generateNotBigDrop(const NumEffectState& state,Action& action);
00074       template<class Action>
00075       static void generateBigDrop(const NumEffectState& state,Action& action);
00076     };
00077 
00078     struct GenerateAddEffect8
00079     {
00084       static void generate(Player player, const NumEffectState& state,
00085                            move_action::Store& store);
00086       static void generateBigDrop(Player player, const NumEffectState& state,
00087                            move_action::Store& store);
00088       static void generateNotBigDrop(Player player, const NumEffectState& state,
00089                            move_action::Store& store);
00090     };
00091   }
00092 }
00093 #endif /* OSL_MOVE_GENERATOR_ADD_EFFECT8_H */
00094 // ;;; Local Variables:
00095 // ;;; mode:c++
00096 // ;;; c-basic-offset:2
00097 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines