怎么用javascript做井字游戏 10

自己和自己玩的那种,按第1下是〇,按第2下是×的那种,以此类推!结束的时候要显示〇或×赢了,平局的话也要显示平局!最好能有个清除按钮,点一下就重新开始的那种....求大神... 自己和自己玩的那种,按第1下是〇,按第2下是×的那种,以此类推!结束的时候要显示〇或×赢了,平局的话也要显示平局!最好能有个清除按钮,点一下就重新开始的那种....求大神帮忙啊!实在是没有思路了 展开
 我来答
全国流窜
2017-06-02 · TA获得超过403个赞
知道小有建树答主
回答量:417
采纳率:50%
帮助的人:168万
展开全部
<style type="text/css">
form { font-size: 0px; text-align: center; }
input { margin: 2px; width: 30px; height: 30px; }
.a { width: auto; }
</style>
<body>
<form>
<input type="button" name="s" value=""/>
<input type="button" name="s" value=""/>
<input type="button" name="s" value=""/><br/>
<input type="button" name="s" value=""/>
<input type="button" name="s" value=""/>
<input type="button" name="s" value=""/><br/>
<input type="button" name="s" value=""/>
<input type="button" name="s" value=""/>
<input type="button" name="s" value=""/><br/>

<input type="button" name="RESET" value="RESET" class="a" />
</form>
</body>
var bln = false;
window.onload = function(){
var form = document.forms[0];
form.RESET.onclick = function(){ clear(form); }
clear(form);

for(var i = 0; i < form.s.length; i++){
var btn = form.s[i];
btn.onclick = function(){
this.value = bln ? "X" : "O";
this.disabled = true;
bln = !bln;

checkresult(form);
}
}

}
function clear(form){
for(var i = 0; i < form.s.length; i++) {
form.s[i].value = " ";
form.s[i].disabled = false;
}
bln = false;
}

function end(form){
for(var i = 0; i < form.s.length; i++) {
form.s[i].disabled = true;
}
}

function checkresult(form){
var arrX = [];
var arrO = [];
for(var i = 0; i < form.s.length; i++){
if(form.s[i].value == "X") arrX.push(i);
if(form.s[i].value == "O") arrO.push(i);
}

var X = arrX.join("");
if(
(X.indexOf("0") > -1 && X.indexOf("1") > -1 && X.indexOf("2") > -1) ||
(X.indexOf("0") > -1 && X.indexOf("3") > -1 && X.indexOf("6") > -1) ||
(X.indexOf("0") > -1 && X.indexOf("4") > -1 && X.indexOf("8") > -1) ||
(X.indexOf("1") > -1 && X.indexOf("4") > -1 && X.indexOf("7") > -1) ||
(X.indexOf("2") > -1 && X.indexOf("5") > -1 && X.indexOf("8") > -1) ||
(X.indexOf("2") > -1 && X.indexOf("4") > -1 && X.indexOf("6") > -1) ||
(X.indexOf("3") > -1 && X.indexOf("4") > -1 && X.indexOf("5") > -1) ||
(X.indexOf("6") > -1 && X.indexOf("7") > -1 && X.indexOf("8") > -1)
){
alert("X win");
end(form);
return;
}

var O = arrO.join("");
if(
(O.indexOf("0") > -1 && O.indexOf("1") > -1 && O.indexOf("2") > -1) ||
(O.indexOf("0") > -1 && O.indexOf("3") > -1 && O.indexOf("6") > -1) ||
(O.indexOf("0") > -1 && O.indexOf("4") > -1 && O.indexOf("8") > -1) ||
(O.indexOf("1") > -1 && O.indexOf("4") > -1 && O.indexOf("7") > -1) ||
(O.indexOf("2") > -1 && O.indexOf("5") > -1 && O.indexOf("8") > -1) ||
(O.indexOf("2") > -1 && O.indexOf("4") > -1 && O.indexOf("6") > -1) ||
(O.indexOf("3") > -1 && O.indexOf("4") > -1 && O.indexOf("5") > -1) ||
(O.indexOf("6") > -1 && O.indexOf("7") > -1 && O.indexOf("8") > -1)
){
alert("O win");
end(form);
return;
}
if((X.length == 4 && O.length == 5) || (X.length == 5 && O.length == 4)){
alert("平局");
end(form);
}
}
microroom
科技发烧友

2017-06-03 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1604万
展开全部
<!--给我300财富吧!-->
<html>
<head>
<title>javascript写井字游戏</title>
<script type="text/javascript">
var tj=[-1,-1,-1,-1,-1,-1,-1,-1,-1];
var turn=true,over=-1;
function put(n,b)
{
if(-1==over)
{
if(-1==tj[n])
{
if(turn)
{
b.value="O";
tj[n]=0;
}
else
{
b.value="X";
tj[n]=1;
}
turn=!turn;
for(var i=0;i<9;i+=3)
{
if(0==tj[i] && 0==tj[i+1] && 0==tj[i+2])
{
over=0;
break;
}
if(1==tj[i] && 1==tj[i+1] && 1==tj[i+2])
{
over=1;
break;
}
}
if(-1==over)
{
for(var i=0;i<3;i++)
{
if(0==tj[i] && 0==tj[i+3] && 0==tj[i+6])
{
over=0;
break;
}
if(1==tj[i] && 1==tj[i+3] && 1==tj[i+6])
{
over=1;
break;
}
}
}
if(-1==over)
{
if((0==tj[0] && 0==tj[4] && 0==tj[8]) ||(0==tj[2] && 0==tj[4] && 0==tj[6]))
{
over=0;
}
if((1==tj[0] && 1==tj[4] && 1==tj[8]) ||(1==tj[2] && 1==tj[4] && 1==tj[6]))
{
over=1;
}
}
if(-1==over)
{
for(var i=0;i<9;i++)
{
if(-1==tj[i])
{
break;
}
}
if(i>=9)
{
over=2;
}
}
if(0==over)
{
alert("O赢了!");
}
if(1==over)
{
alert("X赢了!");
}
if(2==over)
{
alert("OX旗鼓相当,打成了平手!");
}
}
else
{
alert("此处有子了!");
}
}
else if(0==over)
{
alert("不能再下了,O已经赢了!");
}
else if(1==over)
{
alert("不能再下了,X已经赢了!");
}
else if(2==over)
{
alert("不能再下了,OX已经打平了!");
}
}
function cl()
{
var bs=document.getElementsByTagName("input");
turn=true;
over=-1;
for(var i=0;i<bs.length;i++)
{
if("reset"!=bs[i].name)
{
bs[i].value="";
tj[i]=-1;
}
}
}
</script>
</head>
<body>
<input type="button" class="b" onClick="put(0,this);" />
<input type="button" class="b" onClick="put(1,this);" />
<input type="button" class="b" onClick="put(2,this);" /><br />
<input type="button" class="b" onClick="put(3,this);" />
<input type="button" class="b" onClick="put(4,this);" />
<input type="button" class="b" onClick="put(5,this);" /><br />
<input type="button" class="b" onClick="put(6,this);" />
<input type="button" class="b" onClick="put(7,this);" />
<input type="button" class="b" onClick="put(8,this);" /><br />
<input type="button" name="reset" value="重新开始" onClick="cl();" />
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式