handle simple draw
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
shimun 2019-11-01 21:54:37 +01:00
parent befc8128cd
commit cc87ad378e
Signed by: shimun
GPG Key ID: E81D8382DC2F971B

View File

@ -163,6 +163,7 @@ impl Board {
} }
//Diagonal winners require a full X pass //Diagonal winners require a full X pass
winner(&winners[2..4]) winner(&winners[2..4])
.or(Some(State::N).filter(|_| self.0.iter().filter(|s| *s == &State::N).count() == 0))
} }
} }
@ -253,6 +254,11 @@ mod test {
Board::from_str("OXN,OON,XNO").unwrap().winner(), Board::from_str("OXN,OON,XNO").unwrap().winner(),
Some(State::O) Some(State::O)
); );
println!("{}", Board::from_str("XOX,OOX,OXO").unwrap());
assert_eq!(
Board::from_str("XOX,OOX,OXO").unwrap().winner(),
Some(State::N)
);
} }
#[test] #[test]