function Mine(tr,td,mineNum){ this.tr = tr; // 行数 this.td = td; // 列数 this.mineNum = mineNum; // 雷数 this.squares = []; // 存储所有方块的信息,它是一个二维数组,按行与列的顺序排放,存取都使用行列的形式 this.tds = []; // 存储所有单元格的DOM this.surplusMine = mineNum // 剩余雷的数量 this.allRight = false; // 右击标的小红旗是否全是雷 this.parent = document.querySelector('.gameBox'); } // 生成n个不重复的数字 Mine.prototype.randomNum = function () { var square = new Array(this.tr*this.td); for(var i =0; ithis.td-1 || // 格子超出右边边范围 j>this.tr-1 || // 格子超出下边范围 (i==x && j==y) || // 当前循环到的格子是自己, this.squares[j][i].type == 'mine' // 周围的格子是个雷 ){ continue; } result.push([j,i]); // 要与行与列的形式返回出去,因为到时候需要用它去取数组里的数据 } } return result; } // 更新所有的数字 Mine.prototype.updateNum = function(){ for(var i=0; i