AbstractChess

fun <B : Board<B, MG, P, C>, MG : MoveGenerator<B, MG, P, C>, P : Piece<B, MG, P, C>, C : Coordinate> AbstractChess(rules: List<SpecialRules<GameType<B, MG, P, C>, B, MG, P, C>>, endConditions: List<EndCondition<GameType<B, MG, P, C>, B, MG, P, C>>, startPlayer: Int = 0)