一个javascript写的小程序。是一个游戏。请大家指导一下。 附件是一个小的JavaScript的程序游戏,但是有点错误。请大家帮忙看看。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 52行最后添加“)”2 全部abc改为play3 this.Form改为this.form暂时是这些 这是一个井字游戏,就是小时候,我们都玩过的那个呀!我也不知道,什么地方错了!全部abc改为play,这个我知道的。52行少了“)”我加上了,可是,还是不行呀!哪里错了呢! <html><head><TITLE>Listing 7.4</TITLE><script language="JavaScript">var row=0;var col=0;var playerSymbol="X";var computerSymbol="O";board=new createArray(3,3);//////////////////////////////////function createArray(row,col){ var index=0; this.length=(row*10)+col; for(var x=1;x<=row;x++) { for(var y=1;y<=col;y++) { index=(x*10)+y; this[index]=""; } }}/////////////////////////////////function buildBoard(form){ var index=0; for(var field=0;field<=8;field++) { index=eval(form.elements[field].name); form.elements[field].value=board[index]; }}////////////////////////////////////////////////function clear(form){var index=0;for(var field=0;field<=8;field++){form.elements[field].value="";index=eval(form.elements[field].name);board[index]="";}}////////////////////////////////////////function win(index){var win=false;//check rows///////////////////////////////////////////////if((board[index]==board[(index<30)?index+10:index-20])&&(board[index]==board[(index>20)?index-10:index+20])){win=true;}//check columns/////////////////////////////////////////////if((board[index]==board[(index%10<3)?index+1:index-2])&&(board[index]==board[(index%10>1)?index-1:index+2])){win=true; } //check diagonalsif(Math.round(index/10)==index%10){ if((board[index]==board[(index<30)?index+11:index-22])&& (board[index]==board[(index>11)?index-11:index+22]) ) { win=true; } if(index==22) { if((board[index]==board[13])&&(board[index]==board[31])) { win=true; } }}if((index==31)||(index==13)){ if((board[index]==board[(index<30)?index+9:index-18])&& (board[index]==board[(index>11)?index-9:index+18]) ) { win=true; }}return win;}function play(form,field){ alert("test"); var index=eval(field.name); var playIndex=0; var winIndex=0; var done=false; field.value=playerSymbol; board[index]=playerSymbol;//check for player win if(win(index)) { alert("Good Play! You Win!") clear(form); } else { for(row=1;row<=3;row++) { for(col=1;col<=3;col++) { index=(row*10)+col; if(board[index]=="") { board[index]=computerSymbol; if(win(index)) { playIndex=index; done=true; board[index]=""; break; } board[index]=""; } } if(done) break; } //check if computer can win if(done) { board[playIndex]=computerSymbol; buildBoard(form); alert("Computer Just Won!"); clear(form); } else { for(row=1;row<=3;row++) { for(col=1;col<=3;col++) { index=(row*10)+col; if(board[index]=="") { board[index]=playerSymbol; if(win(index)) { playIndex=index; done=true; board[index]=""; break; } board[index]=""; } } if(done) break; } if(done) { board[playIndex]=computerSymbol; buildBoard(form); }else { for(row=1;row<=3;row++) { for(col=1;col<=3;col++) { index=(row*10)+col; if(board[index]=="") { playIndex=index; done=true; break; } } if(done) break; } board[playIndex]=computerSymbol; buildBoard(form); } } }}</script></head><body><Form method=post><Table><TR><TD><input type=text size=3 name="11" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD><TD><input type=text size=3 name="12" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD><TD><input type=text size=3 name="13" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD></TR><TR><TD><input type=text size=3 name="21" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD><TD><input type=text size=3 name="22" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD><TD><input type=text size=3 name="23" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD></TR><TR><TD><input type=text size=3 name="31" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD><TD><input type=text size=3 name="32" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD><TD><input type=text size=3 name="33" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);"></TD></TR></TABLE><Input Type=button value="I'm Done-Your Go"><Input Type=button value="Start Over" onClick="clear(this.form);"></body></html>能玩 关于字母汉字联想的问题 请教问题解释???? 急救:关于jquery插件jquery-jtemplates.js和thickbox.js混用的问题.. grid 如何重新加载servlet返回的metaData 求大侠帮忙挖一段代码 关于fckeditor加载script标签的问题 图片这样处理,还那么容易被批量抓取吗? 怎样用setTimeout定时关闭一个窗口后再打开另一个窗口?? Javascript执行上下文和eval的困惑 js遍历树结构 javascript怎样监听不同窗口的事件啊? 又一个关于JS和IFRAME的问题.请高手来看看!
2 全部abc改为play
3 this.Form改为this.form暂时是这些
全部abc改为play,这个我知道的。
52行少了“)”我加上了,可是,还是不行呀!哪里错了呢!
<head>
<TITLE>Listing 7.4</TITLE>
<script language="JavaScript">
var row=0;
var col=0;
var playerSymbol="X";
var computerSymbol="O";
board=new createArray(3,3);
//////////////////////////////////
function createArray(row,col)
{
var index=0;
this.length=(row*10)+col;
for(var x=1;x<=row;x++)
{
for(var y=1;y<=col;y++)
{
index=(x*10)+y;
this[index]="";
}
}}
/////////////////////////////////
function buildBoard(form)
{
var index=0;
for(var field=0;field<=8;field++)
{
index=eval(form.elements[field].name);
form.elements[field].value=board[index];
}
}
////////////////////////////////////////////////
function clear(form)
{
var index=0;
for(var field=0;field<=8;field++)
{
form.elements[field].value="";
index=eval(form.elements[field].name);
board[index]="";
}
}
////////////////////////////////////////
function win(index)
{
var win=false;
//check rows///////////////////////////////////////////////
if((board[index]==board[(index<30)?index+10:index-20])&&
(board[index]==board[(index>20)?index-10:index+20]))
{
win=true;
}
//check columns/////////////////////////////////////////////
if((board[index]==board[(index%10<3)?index+1:index-2])&&
(board[index]==board[(index%10>1)?index-1:index+2]))
{
win=true;
}
//check diagonals
if(Math.round(index/10)==index%10)
{
if((board[index]==board[(index<30)?index+11:index-22])&&
(board[index]==board[(index>11)?index-11:index+22]) )
{
win=true;
}
if(index==22)
{
if((board[index]==board[13])&&(board[index]==board[31]))
{
win=true;
}
}
}
if((index==31)||(index==13))
{
if((board[index]==board[(index<30)?index+9:index-18])&&
(board[index]==board[(index>11)?index-9:index+18]) )
{
win=true;
}
}
return win;}
function play(form,field)
{
alert("test");
var index=eval(field.name);
var playIndex=0;
var winIndex=0;
var done=false;
field.value=playerSymbol;
board[index]=playerSymbol;
//check for player win
if(win(index))
{
alert("Good Play! You Win!")
clear(form);
}
else
{
for(row=1;row<=3;row++)
{
for(col=1;col<=3;col++)
{
index=(row*10)+col;
if(board[index]=="")
{
board[index]=computerSymbol;
if(win(index))
{
playIndex=index;
done=true;
board[index]="";
break;
}
board[index]="";
}
}
if(done)
break;
}
//check if computer can win
if(done)
{
board[playIndex]=computerSymbol;
buildBoard(form);
alert("Computer Just Won!");
clear(form);
}
else
{
for(row=1;row<=3;row++)
{
for(col=1;col<=3;col++)
{
index=(row*10)+col;
if(board[index]=="")
{
board[index]=playerSymbol;
if(win(index))
{
playIndex=index;
done=true;
board[index]="";
break;
}
board[index]="";
}
}
if(done)
break;
}
if(done)
{
board[playIndex]=computerSymbol;
buildBoard(form);
}else
{
for(row=1;row<=3;row++)
{
for(col=1;col<=3;col++)
{
index=(row*10)+col;
if(board[index]=="")
{
playIndex=index;
done=true;
break;
}
}
if(done)
break;
}
board[playIndex]=computerSymbol;
buildBoard(form);
}
}
}
}</script>
</head>
<body>
<Form method=post>
<Table>
<TR>
<TD>
<input type=text size=3 name="11" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
<TD>
<input type=text size=3 name="12" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
<TD>
<input type=text size=3 name="13" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
</TR>
<TR>
<TD>
<input type=text size=3 name="21" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
<TD>
<input type=text size=3 name="22" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
<TD>
<input type=text size=3 name="23" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
</TR>
<TR>
<TD>
<input type=text size=3 name="31" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
<TD>
<input type=text size=3 name="32" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
<TD>
<input type=text size=3 name="33" onFocus="if(this.value!=''){blur();}" onChange="play(this.form,this);">
</TD>
</TR>
</TABLE>
<Input Type=button value="I'm Done-Your Go">
<Input Type=button value="Start Over" onClick="clear(this.form);">
</body>
</html>能玩