二维数组对角线检查“x”
2D array diagonal checking for "X"
我尝试创建一个2D数组,并在对角线上放置四个"X",并创建一个双循环来检测和计数X的数量,但不是只显示一个"玩家1赢了",而是显示10个。
var creatematrix = function (nbRang, nbColumn) {
var result = Array(nbRang);
for (var i=0; i<nbRang; i++) {
result[i] = Array(nbColumn);
}
return result;
};
var m = creatematrix(6, 7);
m[4][1] = "X";
m[3][2] = "X";
m[2][3] = "X";
m[1][4] = "X";
var sumX = 0;
for(var k = 5; k >= 0 ; k--){
for(var i = 0 ; i<= 6; i++){
if(m[k][i]== "X" ){
sumX += 1;
}
else if(sumX == 4){
alert("player 1 won");
}
}
}
我认为问题是如何使代码只显示一次警报-你应该为用户设置一个标志,当游戏结束时,然后在最后使用警报。
现在警报在循环中,所以它将在每次循环执行时被触发
整个循环执行42次(6x7)。显然,在第32次迭代中,sumX
达到值4。因此,在此之后的所有10次,都将执行alert
。
一旦你发现一个赢家,你就不会停止你的循环。
你可以试试这些选项之一:
-
为你的
for
循环检查添加一个条件,看看你是否已经得到了sumX == 4
-
return
from function after alert
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 如何检查管道中未定义的项目
- 主干-不管怎样,检查事件以前是否绑定过
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 递归使用 eval() 是检查程序执行的好方法吗?
- 检查onsubmit doenst work jquery contactform上的函数
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- API密钥使用和检查示例
- 如何让程序检查所选单词中是否有按键
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 用于检查数组中是否存在元素的javascript自定义方法
- 如何检查字符串的一部分与数组匹配
- Jquery如何检查今天的时间大于使用给定时间
- 使用javascript反复检查用户在facebook上的登录状态
- 使用 jQuery 检查所有值是否为空或已填充
- 检查2D阵列中的对角线
- 如何使用JavaScript检查数组中的主要对角线冲突
- 二维数组对角线检查“x”
- 2D阵列对角线检查循环