JSFiddle - React, Tailwind, and code Playground
JavaScript
function Field(h, w, m) {
var setHeight = function() {
if (h > 0) {
return h;
} else {
throw new Error("Высота должна быть больше нуля!");
}
};
var setWidth = function() {
if (w > 0) {
return w;
} else {
throw new Error("Ширина должна быть больше нуля!");
}
};
var setMines = function() {
if (m > 0) {
return m;
} else {
throw new Error("Некорректное количество мин!");
}
};
var setStyle = function() {
document.head.innerHTML = "<style>td{width: 40px; height: 40px; background: green; cursor: pointer; vertical-align: middle; text-align: center;}</style>";
};
var height = setHeight();
var width = setWidth();
var mines = setMines();
var table = document.body.appendChild(document.createElement("table"));
var cells = [];
var minesOpened = 0;
var cellsOpened = 0;
var self = this;
var getRandomStr = function() {
return Math.floor(Math.random() * height);
};
var getRandomCol = function() {
return Math.floor(Math.random() * width);
};
var getY = function(cell) {
for (var i = 0; i < height; i++) {
for (var k = 0; k < width; k++) {
if (cell === cells[i][k]) return i;
}
}
};
var getX = function(cell) {
for (var i = 0; i < height; i++) {
for (var k = 0; k < width; k++) {
if (cell === cells[i][k]) return k;
}
}
};
var showLoseWindow = function() {
alert("Поражение!");
};
var showWinWindow = function() {
alert("Победа!");
};
this.generateField = function() {
var tr;
for (var i = 0; i < height; i++) {
tr = table.appendChild(document.createElement("tr"));
cells[i] = [];
for (var k =...