Add game over detection to each ruleset.
This commit is contained in:
parent
44b6b94666
commit
71fc6bf503
5 changed files with 150 additions and 2 deletions
10
standard.go
10
standard.go
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue