Add game over detection to each ruleset.

This commit is contained in:
Brad Van Vugt 2020-05-17 14:22:09 -07:00
parent 44b6b94666
commit 71fc6bf503
5 changed files with 150 additions and 2 deletions

View file

@ -439,3 +439,13 @@ func (r *StandardRuleset) getUnoccupiedPoints(b *BoardState) []Point {
}
return unoccupiedPoints
}
func (r *StandardRuleset) IsGameOver(b *BoardState) (bool, error) {
numSnakesRemaining := 0
for i := 0; i < len(b.Snakes); i++ {
if b.Snakes[i].EliminatedCause == NotEliminated {
numSnakesRemaining++
}
}
return numSnakesRemaining <= 1, nil
}