【发布时间】:2017-03-19 12:24:28
【问题描述】:
我正在使用 Angular js 构建一个井字游戏,现在我需要看看是否有赢家。我正在使用两个嵌套的 for 循环来执行此操作,我知道这并不总是最佳实践,并且想知道是否有更简单的方法来设置此逻辑?
当有人选择一个正方形并传入他们的棋子(X 或 O)时,我调用此函数。
function checkWinner(winningPiece){
let i;
let j;
let winnerRows = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 5, 9],
[3, 5, 7],
[1, 4, 7],
[2, 5, 8],
[3, 6, 9]
];
for (i=0; i < winnerRows.length; i++) {
for (j=0; winnerRows[i].length; j++) {
// code to check if their piece matches each element in the array
}
}
}
我对其他逻辑思想持开放态度。这是代码:https://plnkr.co/edit/XGhX5zVWCjSnn3OaKNQ6?p=preview
【问题讨论】:
-
闻起来像家庭作业 ;-) - 这主要发生在星期天。嗯,周一开学吗?快点,作业还没做完。
-
检查你的 plnkr,它似乎有一个无限循环(无论如何我的浏览器都会崩溃)。
-
@lin 不是功课哈哈 :) 只是想更好地编码
-
@georgeawg 乍一看似乎已经更复杂了。
标签: javascript angularjs algorithm for-loop tic-tac-toe