Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function calculateWinner(squares) {
- const lines = [
- [0, 1, 2],
- [3, 4, 5],
- [6, 7, 8],
- [0, 3, 6],
- [1, 4, 7],
- [2, 5, 8],
- [0, 4, 8],
- [2, 4, 6],
- ];
- for (let i = 0; i < lines.length; i++) {
- const [a, b, c] = lines[i];
- if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {
- return squares[a];
- }
- }
- return null;
- }
- const calculateWinner = (squares) => {
- const lines = [
- [0, 1, 2],
- [3, 4, 5],
- [6, 7, 8],
- [0, 3, 6],
- [1, 4, 7],
- [2, 5, 8],
- [0, 4, 8],
- [2, 4, 6],
- ];
- const allXsOrOs = _.anyPass([
- _.all(_.equals('X')),
- _.all(_.equals('O'))
- ]);
- const pickLine = _.props(_.__, squares);
- return _.pipe(
- _.find(_.pipe(pickLine, allXsOrOs)),
- _.cond([
- [_.isNil, _.identity],
- [_.T, _.pipe(_.head, _.nth(_.__, squares))]
- ])
- )(lines);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement