资源简介
带人工智能的五子棋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数据库
相关资源
- java实现的网络五子棋
- java多人五子棋源码
- 基于Android的五子棋开发
- Android游戏源码人机五子棋项目源码
- Android 开发 五子棋小游戏
- JAVA课程设计——网络版五子棋
- 自然语言处理小应用程序开发——汇
- Android五子棋255189
- JAVA版 网络五子棋 游戏
- android-eclipse下,五子棋
- android 五子棋源码
- android五子棋代码附加基于αβ剪枝算法
- 自己写的android五子棋游戏,可实现简
- 基于java 的人工智能井字棋小游戏
- 五子棋AI算法
- 五子棋游戏 java源码
- Java实现人工智能代码
- 人工智能八数码问题求解b/s架构
- 棋牌游戏系统之网络五子棋java版
- 阿尔法贝塔剪枝算法Java五子棋
- java 五子棋游戏
- 五子棋源码加论文
- 基于Java的网络五子棋游戏源代码
- 领航JAVA入门课程——IBM Robocode 人工智
- java版网络五子棋
- Android五子棋代码报告完整
- 五子棋小游戏JAVA
- 基于java的五子棋程序设计毕业论文
- Java 网络版五子棋含源代码
- Java开发的Socket五子棋
评论
共有 条评论