def ListPossibleStepPoints(a_StartPoint, a_Board, a_Rules):
return [Point(1,1), Point(2,1)]
def ListPossibleStepPoints():
b = Board(...)
r = [GameRule(...), GameRule(...)]
assert ListPossibleStepPoints(Point(0,0), b, r) == [Point(1,1), Point(2,1)]
Добавить новый вид правил игры
class GameRuleType(enum.Enum): # Тип правил игры
grNextItemStep = enum.auto() # Правила следующего хода для фигуры
Считать, что есть функция в правилах, которая для каждой шашки, даёт список всех ходов в функции типа:
def NextItemStep(a_biType, a_PointStart, a_Board):
return [Point(1,1), Point(2,1)]
GameRule(GameRuleType.grNextItemStep, NextItemStep) # правило, которое это определяет