資源簡介
帶人工智能的五子棋java源程序,可以在控制臺和web以及exe三種方式運行。

代碼片段和文件信息
///楊建國:ChessBot.java
//?The?fivelink?bot
import?java.math.*;
import?java.lang.*;
import?java.awt.*;
public?class?ChessBot
{
class?linkInfo
{
public?boolean?islinkN;
public?int?isLive[]; //0死鏈,1半活鏈,2活鏈([0]-[3]表橫豎左斜右斜)
public?int?linknum[]; //([0]死鏈,[1]半活鏈,[2]活鏈)
linkInfo()
{
islinkN=false;
isLive=new?int[4];
linknum=new?int[3];
}
public?String?toString()
{
String?r=new?String(“islinkN=“+islinkN+“;isLive[0~3]=“+isLive[0]+isLive[1]+isLive[2]+isLive[3]+“;linknum[0~2]=“+linknum[0]+linknum[1]+linknum[2]);
return?r;
}
public?int?getLiveNum()
{
int?lvn=0;
for(int?i=0;i<4;i++)
if(isLive[i]==2)?lvn++;
return?lvn;
}
public?int?getHLiveNum()
{
int?lvn=0;
for(int?i=0;i<4;i++)
if(isLive[i]==1)?lvn++;
return?lvn;
}
public?int?getDeathNum()
{
int?lvn=0;
for(int?i=0;i<4;i++)
if(isLive[i]==0)?lvn++;
return?lvn;
}
}
private?int?N; //棋盤邊長
private?int?HUMAN; //人下的棋子
private?int?BOT; //機器人下的棋子
private?int?NONE; //沒有棋子
private?int?isChessOn?[][]; //存放棋局
private?int?deep; //遞歸深度
private?int?MAXDEEP; //最大遞歸深度
private?int?step; //當前是第幾步
private?Point?last[];//[0]是敵人,[1]是機器人
ChessBot(int?r_n)
{
N=r_n;
HUMAN=1;
BOT=-1;
deep=0;
MAXDEEP=1;
step=0;
isChessOn=new?int[N][N];
last=new?Point[2];
}
public?void?restart() //重開一局
{
HUMAN=1;
BOT=-1;
deep=0;
step=0;
for(int?i=0;i for(int?j=0;j isChessOn[i][j]=NONE;
for(int?i=0;i<2;i++)
{
last[i].x=0;
last[i].y=0;
}
}
public?void?rollback() //悔棋
{
for(int?i=0;i<2;i++)
isChessOn[last[i].x][last[i].y]=NONE;
step--;
}
public?Point?play(int?xint?y) //機器人走一步棋
{
deep=0;
isChessOn[x][y]=HUMAN;
// System.out.println(“x=“+x+“??y=“+y+“??isChessOn[x][y]=“+isChessOn[x][y]);
Point?r=new?Point();
r=next(BOT);
isChessOn[r.x][r.y]=BOT;
step++;
System.out.println(“step?“+step+“:-----------------------------------------------“);
for(int?i=0;i for(int?j=0;j {
if(isChessOn[j][i]!=-1)System.out.print(new?String(“?“+isChessOn[j][i]));
else System.out.print(isChessOn[j][i]);
}
last[0]=new?Point(xy);
last[1]=new?Point(r);
return?r;
}
public?Point?playfirst() //機器人先手
{
isChessOn[7][7]=BOT;
step++;
last[0]=new?Point(77);
last[1]=last[0];
return?new?Point(77);
}
private?linkInfo?islinkn(int?xint?yint?typeint?nn) //計算當前位置type方是否有nn子相連,相連的情況
{
int?i=0;
?? int?j=0;
?? int?i1j1;
?? int?successFactor_v=0; //橫向五子連珠
?? int?successFactor_h=0; //縱向五子連珠
?? int?successFactor_l=0; //左斜線五子連珠
?? int?successFactor_r=0; //右斜線五子連珠
?? int?live_v=0; //空格數
?? int?live_h=0;
?? int?live_l=0;
?? int?live_r=0;
?? int?islive1=0; //計算半死和活的臨時變量
?? int?islive2=0;
?? boolean?isInt=false; //棋子鏈是(true)否(false)中斷
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2009-09-07?17:34??Gobang_xingzhe2001\
?????文件????????1240??2004-11-02?23:54??Gobang_xingzhe2001\blackchess.GIF
?????文件????????1238??2004-11-08?15:30??Gobang_xingzhe2001\ChessBot$li
?????文件????????6068??2004-11-08?15:30??Gobang_xingzhe2001\ChessBot.class
?????文件????????2067??2004-11-08?15:30??Gobang_xingzhe2001\ChessMap$Menuitemclicked.class
?????文件????????1597??2004-11-08?15:30??Gobang_xingzhe2001\ChessMap$Mouseclicked.class
?????文件?????????723??2004-11-08?15:30??Gobang_xingzhe2001\ChessMap$MouseMoved.class
?????文件?????????765??2004-11-03?00:53??Gobang_xingzhe2001\ChessMap$Mylis.class
?????文件????????3922??2004-11-08?15:30??Gobang_xingzhe2001\ChessMap.class
?????文件????????4394??2004-11-08?15:30??Gobang_xingzhe2001\ChessPanel.class
?????文件????????1298??2004-11-01?17:37??Gobang_xingzhe2001\Console.class
?????文件??????242831??2004-11-08?17:39??Gobang_xingzhe2001\fiveli
?????文件????????2887??2004-11-08?18:54??Gobang_xingzhe2001\index.html
?????文件??????128974??2004-11-03?00:01??Gobang_xingzhe2001\map.GIF
?????目錄???????????0??2004-11-08?15:35??Gobang_xingzhe2001\src\
?????文件????????1240??2004-11-02?23:54??Gobang_xingzhe2001\src\blackchess.GIF
?????文件???????12795??2004-11-08?15:20??Gobang_xingzhe2001\src\ChessBot.java
?????文件????????5960??2004-11-08?15:10??Gobang_xingzhe2001\src\ChessMap.java
?????文件????????5998??2004-11-08?15:13??Gobang_xingzhe2001\src\ChessPanel.java
?????文件????????1276??2004-11-01?17:37??Gobang_xingzhe2001\src\Console.java
?????文件??????128974??2004-11-03?00:01??Gobang_xingzhe2001\src\map.GIF
?????文件????????1603??2004-11-02?23:54??Gobang_xingzhe2001\src\whitechess.GIF
?????文件????????1603??2004-11-02?23:54??Gobang_xingzhe2001\whitechess.GIF
- 上一篇:java混淆jocky,不限jdk版本
- 下一篇:銀行系統server數據庫
評論
共有 條評論