class GameRulesStrategy implements Strategy { static getTests() { [ new Test( '900637100030001000107520300004810500019000820006059400002048705000200080001793006' ) ] } boolean play(Board board) { def madePlay = false board.cells.findAll { it.isKnown() }.each { c -> c.houses.flatten().findAll { it != c && ! it.isKnown() }.each { madePlay = it.removeMark(c.value, this) || madePlay } } madePlay } }