• 大小: 42.64MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-30
  • 语言: Java
  • 标签: Game  Java  

资源简介

AI智能人机对战五子棋(Java实现图形界面) 的代码,实现了初级人机对战

资源截图

代码片段和文件信息

/**
 * 2017年6月25日Computer.java我和奥巴马
 */
package GoBang;

import java.util.Random;
/**
 * @author 我和奥巴马
 * @date 2017年6月25日
 * @filename Computer.java
 * @description TODO
 */
public class Computer {
static int depth=1;
static int computerColor=GoChess.BLACK;
/*alpha_beta剪枝搜索寻找着点
Alpha,即搜索到的最好值,任何比它更小的值就没用了,因为策略就是知道Alpha的值,任何小于或等于Alpha的值都不会有所提高
Beta,即对于对手来说最坏的值。这是对手所能承受的最坏的结果,因为我们知道在对手看来,他总是会找到一个对策不比Beta更坏的。
如果搜索过程中返回Beta或比Beta更好的值,那就够好的了,走棋的一方就没有机会使用这种策略了*/
public static int alpha_betaFind(int depthint alphaint betaint colorint xint y){
if(depth>Computer.depth||GoChess.isEnd(xycolor%2+1)!=0){
int ans =GoChess.reckon(computerColor)-GoChess.reckon(computerColor%2+1);
if(depth%2==0)
ans=-ans;
return ans;
}
for(int i=1;i for(int j=1;j if(!GoChess.isEmpty(ij))
continue;
GoChess.sureMove(ijcolor);
int val=-alpha_betaFind(depth+1-beta -alphacolor%2+1ij);  //ans的值给val
GoChess.blank(ij);
if(val>=beta)
return beta;     //返回比beta好的值  val=(-ans)>=-beta====beta<=-val  //所以加个 - 号
if(val>alpha)
alpha=-val;      //返回比alpha更坏的值val=(-ans)<-alpha====val>alpha
}
}
return alpha;
}

public static int[] getNext(int color){
int rel[]=new int[2];
int ans=-100000000;       
Random random=new Random(47);
if(GoChess.number(GoChess.BLACK)<1){
if(GoChess.table[GoChess.COLS/2][GoChess.ROWS/2]!=computerColor){    //电脑后手需定位
if(GoChess.isEmpty(GoChess.COLS/2GoChess.ROWS/2)){    //中点
rel[0]=GoChess.COLS/2;
rel[1]=GoChess.ROWS/2;
}
else{
rel[0]=GoChess.COLS/2+1;     //向右占位
rel[1]=GoChess.ROWS/2;
}
}
}else{
for(int x=1;x for(int y=1;y if(!GoChess.isEmpty(x y))
continue;
GoChess.sureMove(x y color);    //黑棋落子
int val=-alpha_betaFind(0-100000000100000000color%2+1xy);    //判断白棋局面
int ran=random.nextInt(100);       //100是不包含在内的,只产生0~100之间的数    
if(val>ans||val==ans&&ran>50){    //val(-递归返回值)<-ans=====val>ans ||ans一直被刷新
ans=val;
rel[0]=x;
rel[1]=y;
}
GoChess.blank(x y);
}
}
}
return rel;
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-18 14:20  GoBang\
     文件         301  2018-01-18 14:20  GoBang\.classpath
     文件         382  2018-01-18 14:20  GoBang\.project
     目录           0  2018-01-18 14:20  GoBang\.settings\
     文件         598  2018-01-18 14:20  GoBang\.settings\org.eclipse.jdt.core.prefs
     目录           0  2018-09-25 18:04  GoBang\bin\
     目录           0  2018-09-25 18:04  GoBang\bin\GoBang\
     文件        1755  2018-09-25 18:04  GoBang\bin\GoBang\Computer.class
     文件        1715  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main$1.class
     文件        1540  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main$2.class
     文件        1019  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main$3.class
     文件        1027  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main$4.class
     文件         743  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main$5.class
     文件         908  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main$6.class
     文件        4346  2018-09-25 18:04  GoBang\bin\GoBang\GoBang_main.class
     文件         854  2018-09-25 18:04  GoBang\bin\GoBang\GoChess$1.class
     文件        6738  2018-09-25 18:04  GoBang\bin\GoBang\GoChess.class
     目录           0  2018-01-18 14:20  GoBang\image\
     文件        1352  2018-01-18 14:20  GoBang\image\Black.PNG
     文件        9527  2018-01-18 14:20  GoBang\image\Computer.png
     文件        8958  2018-01-18 14:20  GoBang\image\User.PNG
     文件        1382  2018-01-18 14:20  GoBang\image\White.PNG
     文件        8859  2018-01-18 14:20  GoBang\image\music.png
     文件        3853  2018-01-18 14:20  GoBang\image\play.png
     文件        3892  2018-01-18 14:20  GoBang\image\stop.png
     目录           0  2018-01-18 14:20  GoBang\music\
     文件    47549998  2018-01-18 14:20  GoBang\music\IF YOU-BIGBANG.wav
     文件      120044  2018-01-18 14:20  GoBang\music\failure.wav
     文件       23254  2018-01-18 14:20  GoBang\music\sale.wav
     文件      424934  2018-01-18 14:20  GoBang\music\success.wav
     目录           0  2018-01-18 14:20  GoBang\src\
............此处省略4个文件信息

评论

共有 条评论