本文整理汇总了C++中PointList::add方法的典型用法代码示例。如果您正苦于以下问题:C++ PointList::add方法的具体用法?C++ PointList::add怎么用?C++ PointList::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PointList
的用法示例。
在下文中一共展示了PointList::add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: check
// -------------------------------------------------------------
// check recursively to detect matching pieces
// -------------------------------------------------------------
static void check(Tile* tiles, int xp, int yp, int lastDir, PointList& list, bool rec) {
if (is_valid(xp, yp)) {
Tile& t = tiles[get_tiles_index(xp, yp)];
int color = t.color;
if (color != -1) {
for (int i = 0; i < 4; ++i) {
if (i != lastDir) {
int sx = xp + XM[i];
int sy = yp + YM[i];
if (is_available(tiles, sx, sy)) {
Tile& nt = tiles[get_tiles_index(sx, sy)];
int nc = nt.color;
if (nc != -1) {
while (color == nc && color != -1) {
bool recheck = !list.contains(sx, sy);
list.add(sx, sy);
if (recheck && rec) {
check(tiles, sx, sy, LD[i], list, rec);
}
sx += XM[i];
sy += YM[i];
if (is_valid(sx, sy)) {
Tile& npe = tiles[get_tiles_index(sx, sy)];
nc = npe.color;
}
else {
nc = -1;
}
}
}
}
}
}
}
}
}