{((x +1) <8 && (x +2) <8 && (y-1) <8 && (y-2) < 8)
{(x, y, x +2, y-2); [(x + x +2)/2] [(y + y-2)/2]. setT (EMPTYCELL) ; _comp (x +2, y-2); true;
}
} ((x +1) <8 && (x +2) <8 && (y +1) <8 && (y +2) < 8)
{((points [x +1] [y +1]. getT () == BLUE
| | points [x +1] [y-1]. getT () == BLUEKING)
&& points [x +2] [y +2]. getT () == EMPTYCELL)
{(x, y, x +2, y +2); [(x + x +2)/2] [(y + y +2)/2]. setT (EMPTYCELL) ; _comp (x +2, y +2); true;
}
} false;
} Life :: frag (size_t x, size_t y, size_t new_x, size_t new_y)
} Life :: frag_move (size_t x, size_t y, size_t new_x, size_t new_y)
{(points [x] [y]. getT () == BLUE | | points [x] [y]. getT () == BLUEKING)
{(points [x] [y]. getT () == BLUEKING)
{(size_t i = 1; i <8; i + +)
{((x + i) <8 && (y + i) <8)
{(points [x + i] [y + i]. getT () == RED | | [x + i] [y + i]. getT () == REDKING) p>
{(x, y, new_x, new_y); [x + i] [y + i]. setT (EMPTYCELL); true;
}
} ((xi) <8 && (yi) <8)
{(points [xi] [yi]. getT () == RED | | [xi] [yi]. getT () == REDKING)
{(x, y, new_x, new_y); [xi] [yi]. setT (EMPTYCELL); true;
}
} ((x + i) <8 && (yi) <8)
{(points [x + i] [yi]. getT () == RED | | [x + i] [yi]. getT () == REDKING)
{(x, y, new_x, new_y); [x + i] [yi]. setT (EMPTYCELL); true;
}
} ((xi) <8 && (y + i) <8)
{(points [xi] [y + i]. getT () == BLUE && [xi] [y + i]. getT () == EMPTYCELL)
{(x, y, new_x, new_y); [xi] [y + i]. setT (EMPTYCELL); true;
}
}
}
} if (points [x] [y]. getT () == BLUE)
}
} false;
} Life :: frag_king (size_t x, size_t y)
{(points [x] [y]. getT ()! = REDKING) return false; (size_t i = 1; i <8; i + +)
{((x + i +1) <8 && (y + i +1) <8)
{(points [x + i] [y + i]. getT () == RED)
{(x, y, x + i +1, y + i +1); [x + i] [y + i]. setT (EMPTYCELL); _king (x + i +1 , y + i +1); true;
}
} ((xi-1) <8 && (yi-1) <8)
{(points [xi] [yi]. getT () == RED)
&& points [xi-1] [yi-1]. getT () == EMPTYCELL)
{(x, y, xi-1, yi-1); [xi] [yi]....