打印本文 打印本文 关闭窗口 关闭窗口
TicTacToe人工智能版
作者:武汉SEO闵涛  文章来源:敏韬网  点击数635  更新时间:2009/4/23 11:14:34  文章录入:mintao  责任编辑:mintao

说明: TicTacToe人工智能版

效果: 运行后查看!

代码:


<html>
<head>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
<title>TicTacToe人工智能版</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>
<script LANGUAGE="JavaScript">
<!-- Begin
step = 0;
diff=3;
function clear_all(form) {
step = 0;
for (i=0;i<9; ++i) {
position="a"+i;
form[position].value="";
}
}
function clickit(field) {
if (step == -1) {alert("重玩一局"); return;}
position=field.name.substring(1,2,1);
position = 'a'+position;
if (field.form[position].value !="") {alert("不能这样走,有没搞错!"); return;}
field.form[position].value="X";
if (eval_pos(field.form)) {
field.form.output.value="你胜了!";
step = -1;
return;
}
position=get_move(field.form);
field.form.output.value='我下在' + position.substring(1,2,1)+'位';
if (position=="") {
field.form.output.value="黄了";
step = -1;
return;
}
field.form[position].value="O";
if (eval_pos(field.form)) {
field.form.output.value="真没用,再来一局!";
step = -1;
}
}
function eval_pos(form) {
if ((form.a0.value!="" && form.a0.value==form.a3.value && form.a0.value==form.a6.value)||
(form.a0.value!="" && form.a0.value==form.a1.value && form.a0.value==form.a2.value) ||
(form.a0.value!="" && form.a0.value==form.a4.value && form.a0.value==form.a8.value) ||
(form.a1.value!="" && form.a1.value==form.a4.value && form.a1.value==form.a7.value) ||
(form.a2.value!="" && form.a2.value==form.a5.value && form.a2.value==form.a8.value) ||
(form.a2.value!="" && form.a2.value==form.a4.value && form.a2.value==form.a6.value) ||
(form.a3.value!="" && form.a3.value==form.a4.value && form.a3.value==form.a5.value) ||
(form.a6.value!="" && form.a6.value==form.a7.value && form.a6.value==form.a8.value))
return true;
else
return false;
}
function f(a) {
if (a == "") return "."; else return a;
}
function comp_move(form,player,weight,depth) {
var cost;
var bestcost=-2;
var position;
var newplayer;
if (player=="X") newplayer="O"; else newplayer="X";
if (depth==diff) return 0;
if (eval_pos(form)) return 1;
for (var i=0; i<9; ++i) {
position='a'+i;
if (form[position].value != "")
continue;
form[


打印本文 打印本文 关闭窗口 关闭窗口