squareGroup.cc
Go to the documentation of this file.
00001 /* positionGroup.cc
00002  */
00003 #include "osl/rating/group/squareGroup.h"
00004 
00005 osl::rating::
00006 RelativeKingXGroup::RelativeKingXGroup(bool a) : Group(a ? "KingRelAX" : "KingRelDX"), attack(a)
00007 {
00008   for (int x=0; x<9; ++x) {
00009     for (int old_x=0; old_x<10; ++old_x) {
00010       for (int s=PTYPE_PIECE_MIN; s<=PTYPE_MAX; ++s) {
00011         for (int p=0; p<8; ++p) // progress8
00012           push_back(new RelativeKingX(x, old_x, a, static_cast<Ptype>(s)));
00013       }
00014     }
00015   }
00016 }
00017 
00018 osl::rating::
00019 RelativeKingYGroup::RelativeKingYGroup(bool a) : Group(a ? "KingRelAY" : "KingRelDY"), attack(a)
00020 {
00021   for (int y=-8; y<9; ++y) {
00022     for (int old_y=-8; old_y<10; ++old_y) {
00023       for (int s=PTYPE_PIECE_MIN; s<=PTYPE_MAX; ++s) {
00024         for (int p=0; p<8; ++p) // progress8
00025           push_back(new RelativeKingY(y, old_y, a, static_cast<Ptype>(s)));
00026       }
00027     }
00028   }
00029 }
00030 
00031 osl::rating::SquareXGroup::SquareXGroup() : Group("SquareX")
00032 {
00033   for (int x=1; x<=5; ++x) {
00034     for (int s=PTYPE_PIECE_MIN; s<=PTYPE_BASIC_MIN; ++s) { // we cannot drop KING 
00035       for (int p=0; p<8; ++p)   // progress8
00036         push_back(new SquareX(x, static_cast<Ptype>(s), false));
00037     }
00038     for (int s=PTYPE_BASIC_MIN+1; s<=PTYPE_MAX; ++s) {
00039       for (int p=0; p<8; ++p)   // progress8
00040         push_back(new SquareX(x, static_cast<Ptype>(s), false));
00041       for (int p=0; p<8; ++p)   // progress8
00042         push_back(new SquareX(x, static_cast<Ptype>(s), true));
00043     }
00044   }
00045 }
00046 
00047 osl::rating::SquareYGroup::SquareYGroup() : Group("SquareY")
00048 {
00049   for (int y=1; y<=9; ++y) {
00050     for (int s=PTYPE_PIECE_MIN; s<=PTYPE_BASIC_MIN; ++s) { // we cannot drop KING 
00051       for (int p=0; p<8; ++p)   // progress8
00052         push_back(new SquareY(y, static_cast<Ptype>(s), false));
00053     }
00054     for (int s=PTYPE_BASIC_MIN+1; s<=PTYPE_MAX; ++s) {
00055       for (int p=0; p<8; ++p)   // progress8
00056         push_back(new SquareY(y, static_cast<Ptype>(s), false));
00057       for (int p=0; p<8; ++p)   // progress8
00058         push_back(new SquareY(y, static_cast<Ptype>(s), true));
00059     }
00060   }
00061 }
00062 
00063 /* ------------------------------------------------------------------------- */
00064 // ;;; Local Variables:
00065 // ;;; mode:c++
00066 // ;;; c-basic-offset:2
00067 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines