Я пишу игру tic tac toe с использованием html, css и JavaScript. Я создал кнопки для ввода функции markbox(cell)
и функцию deres, называемую win_condition, которая проверяет условия, чтобы выиграть игру.tic tac toe с javascript
В моем коде это не проверка winning_condition
правильно wats он сталкивается с проблемой ??
Вот мой код
<html>
<head>
<title>TIC TAC TOE</title>
<script type="text/javascript">
var cell;
var symbol = "X";
function markbox(cell)
{
if (cell.value == " ")
{
cell.value = symbol;
if (symbol == "X")
symbol = "O";
else
symbol = "X";
}
//else
//{
//alert("This square is occupied");
//}
if (winning_condition())
{
alert ("You win!");
return;
}
else if(!winning_condition())
{
alert("You loose!");
}
else
{
alert("Draw!")
}
}
function winning_condition()
{
if(document.f1.b00.value==symbol && document.f1.b01.value==symbol && document.f1.b02.value==symbol)
return true;
else if(document.f1.b10.value==symbol && document.f1.b11.value==symbol && document.f1.b12.value==symbol)
return true;
else if(document.f1.b20.value==symbol && document.f1.b21.value==symbol && document.f1.b22.value==symbol)
return true;
else if(document.f1.b00.value==symbol && document.f1.b10.value==symbol && document.f1.b20.value==symbol)
return true;
else if(document.f1.b01.value==symbol && document.f1.b11.value==symbol && document.f1.b21.value==symbol)
return true;
else if(document.f1.b02.value==symbol && document.f1.b12.value==symbol && document.f1.b22.value==symbol)
return true;
else if(document.f1.b00.value==symbol && document.f1.b11.value==symbol && document.f1.b22.value==symbol)
return true;
else if(document.f1.b02.value==symbol && document.f1.b11.value==symbol && document.f1.b20.value==symbol)
return true;
}
function clearBtn()
{
status = "X"
document.f1.b00.value=" ";
document.f1.b01.value=" ";
document.f1.b02.value=" ";
document.f1.b10.value=" ";
document.f1.b11.value=" ";
document.f1.b12.value=" ";
document.f1.b20.value=" ";
document.f1.b21.value=" ";
document.f1.b22.value=" ";
}
</script>
</head>
<body>
<div align="center">
<h1>Tic Tac Toe</h1>
<form name="f1">
<input type="button" name="b00" value=" " onclick="markbox(this)"/>
<input type="button" name="b01" value=" " onclick="markbox(this)"/>
<input type="button" name="b02" value=" " onclick="markbox(this)/></br>
<input type="button" name="b10" value=" " onclick="markbox(this)"/>
<input type="button" name="b11" value=" " onclick="markbox(this)"/>
<input type="button" name="b12" value=" " onclick="markbox(this)"/></br>
<input type="button" name="b20" value=" " onclick="markbox(this)"/>
<input type="button" name="b21" value=" " onclick="markbox(this)"/>
<input type="button" name="b22" value=" " onclick="markbox(this)"/>
</br></br></br>
<input type="reset" value="RESET GAME" onclick="clearBtn()">
</form>
</div>
</body>
Я рекомендую вам узнать, как отлаживать код JavaScript. Например. http://odetocode.com/blogs/scott/archive/2012/03/15/debugging-javascript-with-chrome.aspx – Fdr
Каким образом он не проверяет 'victory_condition()' правильно? С первого взгляда я не вижу никакого способа, чтобы 'victory_condition()' мог когда-либо возвращать что-либо, кроме true, но, может быть, я что-то упустил. – ElPedro
воспроизвел ваш код на JSFiddle, если он кому-то помог: http://jsfiddle.net/samliew/J2pJ7/ –