Euler getterのルールの拡張(頂点関係)

Euler getterのルールに関して, 条件が揃った頂点にもコマを置くというルールの案が でていた(Tweet 1, Tweet 2)ので, (tweetの意図とはずれるかもしれませんが,) 以下の形で実装してみました.

Polyhedronを選ぶ際に, P2/rectangle; Ruleを選ぶ際に, Vertex-extension rule; を選択すれば 使用できるとおもいます. なお, ちゃんと考えず行き当たりばったり実装したので, もっさりしています.

条件

ある頂点のまわりのすべて面にコマが置かれた状態で, transversalな状況(先手/後手のコマが交互になっている状況)のとき, その頂点もコマをおく場所の候補となる.

直交座標であれば, 頂点に置けるのは以下の状況になった場合です:

ox
xo

本質的には同じですが以下も:

xo
ox

頂点にコマを置いた際の計算

の様に置かれた場合, の様に考えます. 頂点にコマを置いていない方がEuler数が1増える事になると思います.