javascript井字游戏
tic tac toe with javascript
本文关键字:游戏 javascript 更新时间:2023-09-26
我正在使用html, css和JavaScript编写一个井字游戏。我已经创建了按钮来从markbox(cell)
函数和名为winning_condition的函数中获取输入,该函数检查赢得游戏的条件。
在我的代码中,它没有正确检查winning_condition
,它遇到问题了吗??
这是我的代码
<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>
第一件事是你没有正确关闭你的HTML:
onclick="markbox(this)/>
必须是:
onclick="markbox(this)" />
(注意末尾的")。
问题似乎是,你正在重置符号var在你点击其中一个按钮的那一刻。你总是会选中错误的符号来获胜。创建一个变量last_clicked,并在winning_condition中使用它。
试试下面的代码:
http://jsfiddle.net/wG9G5/1/相关文章:
- Javascript游戏输入失去焦点
- HTML5内存游戏-JavaScript功能
- 正面或反面游戏javascript do/while循环
- 结束一个反应游戏Javascript
- 如何在制作简单的纸牌游戏(Javascript)时给卡牌一个数值
- 根据游戏 JavaScript 中的级别更改背景图像
- 匹配游戏.Javascript.DOM lastChild
- 不可能的井字游戏Javascript
- 第一个编程游戏(javascript/jQuery)的问题
- 随机颜色猜测游戏(JavaScript)
- 井字游戏JavaScript帮助(我没有得到我想要的警报)
- 井字游戏Javascript不会改变玩家
- 井字游戏JavaScript
- 简单纸牌游戏javascript中的indexOf问题
- 游戏JavaScript / JSON链接文本框
- 西蒙游戏javascript,我如何同步按钮的灯不踩在彼此与动画()和延迟()JQUERY
- 井字游戏javascript.如何储存玩家的胜利,并提醒是否有平局
- 内存游戏Javascript中瓦片的悬停状态
- 在游戏 JavaScript 中添加暂停键
- 重新启动逻辑井字游戏(JavaScript)时遇到问题