Доброго времени суток, пишу более сложную игру крестиков-ноликов, размерность задается пользователем, вводятся любые символы, где значения в строке или столбце или по диагоналям равны, то победа.
Реализовал универсальную проверку только по строкам, а по столбцам или диагоналям в голову больше ничего не лезет....
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp-1251" />
</head>
<title> Game крестики-нолики ! </title>
<body>
<div align="center" style="margin-top: 100px">
<script type="text/javascript">
//создание
var n = prompt('введите размер крестиков ноликов, например 3', 3);
var mas = new Array(n); // строки
for (var i=0; i<n; i++)
mas[i] = new Array(n); // столбцы
//инициализация
var id_pole = 0; //счетчик id клеток
for (var row=0; row<n; row++) {
for (var col=0; col<n; col++) {
id_pole+=1;
mas[row][col] = '<input onkeyup="win();" type="text" id='+id_pole+' placeholder="value" style="width: 50px" />';
if (col == n-1) mas[row][col] = '<input onkeyup="win();" type="text" id='+id_pole+' placeholder="value" style="width: 50px" />' + '<br>';
document.write(mas[row][col]);
}
}
function win() {
//получение значений с клеток
var id_pole2 = 0;
var check;
for (row=0; row<n; row++) {
for (col=0; col<n; col++) {
id_pole2+=1;
mas[row][col] = document.getElementById(id_pole2).value;
}
}
for (row=0; row<n; row++) {
check = 1;
for (col=0; col<n; col++) {
if (mas[row][0] != mas[row][col]) { check = 0 }; // проверка значений по строкам
if (check == 1 && col == n-1 && mas[row][col] != '') { alert('Pobeda !!')};
}
}
};
function clear_form() {
var id_pole3=0;
for (row=0; row<n;row++) {
for (col=0; col<n; col++) {
id_pole3+=1;
mas[row][col] = document.getElementById(id_pole3).value='';
}
}
};
</script>
</div>
<div align="center" style="margin-top: 20px">
<button OnClick="clear_form();">Clear</button>
</div>
</body>
</html>