00001
00002
00003 #include "osl/rating/group/positionGroup.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)
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)
00025 push_back(new RelativeKingY(y, old_y, a, static_cast<Ptype>(s)));
00026 }
00027 }
00028 }
00029 }
00030
00031 osl::rating::PositionXGroup::PositionXGroup() : Group("PositionX")
00032 {
00033 for (int x=1; x<=5; ++x) {
00034 for (int s=PTYPE_PIECE_MIN; s<=PTYPE_BASIC_MIN; ++s) {
00035 for (int p=0; p<8; ++p)
00036 push_back(new PositionX(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)
00040 push_back(new PositionX(x, static_cast<Ptype>(s), false));
00041 for (int p=0; p<8; ++p)
00042 push_back(new PositionX(x, static_cast<Ptype>(s), true));
00043 }
00044 }
00045 }
00046
00047 osl::rating::PositionYGroup::PositionYGroup() : Group("PositionY")
00048 {
00049 for (int y=1; y<=9; ++y) {
00050 for (int s=PTYPE_PIECE_MIN; s<=PTYPE_BASIC_MIN; ++s) {
00051 for (int p=0; p<8; ++p)
00052 push_back(new PositionY(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)
00056 push_back(new PositionY(y, static_cast<Ptype>(s), false));
00057 for (int p=0; p<8; ++p)
00058 push_back(new PositionY(y, static_cast<Ptype>(s), true));
00059 }
00060 }
00061 }
00062
00063
00064
00065
00066
00067