资源简介
这个小程序是我1年多前自己写着玩的,当时不懂这么多,两个个文件就搞定了,写的也不规范。 ai不是很智能,只是会搜索当前局面的最优解,评分规则是我从网上找的一个。大概介绍一下这个规则: 能成死二(当前位置下子后,可以有两颗子连在一起,但是一端有对方的一颗子或者边界阻挡),20分; 能成活二(当前位置下子后,可以有两颗子连在一起,两端没有对方棋子或者边界),80分; 能成死三,180分; 能成活三,800分; 能成死四,1200分; 能成活四,2000分; 能成五连,10000分; 程序遍历所有空白点,算出4个方向(横、竖、左斜、右斜)的分数和,算每个点的分数,然后选择所有节点中分数最高的一个落子。当时参考了一个别人的程序,他在程序中设定只搜索8x8的空间,怕电脑 承受不了,我自己实现后并没有发现这个问题。
代码片段和文件信息
package jsj.lgl;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class CBoardPanel extends JPanel implements MouseListener
{
private static final int START_X=20;
private static final int START_Y=20;
private static final int STEP=35;
private static final int ROW=15;
private static final int COL=15;
public static final int BLANK=1;
public static final int WHITE=-1;
public static final int NONE=0;
public static final int AI_FIRST=1;
public static final int HUMAN_FIRST=2;
public static final int EASY=2;
pu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2012-07-08 19:16 Chess5\.classpath
文件 382 2012-07-08 19:16 Chess5\.project
文件 629 2012-07-08 19:16 Chess5\.settings\org.eclipse.jdt.core.prefs
文件 23 2012-07-11 21:02 Chess5\bin\ChessBoard.bat
文件 11358 2008-01-31 23:10 Chess5\bin\image\b.jpg
文件 130005 2008-01-31 23:27 Chess5\bin\image\chessboard.jpg
文件 10981 2008-01-31 23:29 Chess5\bin\image\w.jpg
文件 1191 2012-07-12 08:40 Chess5\bin\jsj\lgl\CBoardPanel$AI.class
文件 9676 2012-07-12 08:40 Chess5\bin\jsj\lgl\CBoardPanel.class
文件 3492 2012-07-11 23:21 Chess5\bin\jsj\lgl\ChessBoard.class
文件 11358 2008-01-31 23:10 Chess5\image\b.jpg
文件 130005 2008-01-31 23:27 Chess5\image\chessboard.jpg
文件 10981 2008-01-31 23:29 Chess5\image\w.jpg
文件 12501 2012-07-12 08:40 Chess5\src\jsj\lgl\CBoardPanel.java
文件 3036 2012-07-11 23:21 Chess5\src\jsj\lgl\ChessBoard.java
目录 0 2013-12-07 16:48 Chess5\bin\jsj\lgl
目录 0 2013-12-07 16:48 Chess5\src\jsj\lgl
目录 0 2014-03-28 14:45 Chess5\bin\image
目录 0 2013-12-07 16:48 Chess5\bin\jsj
目录 0 2013-12-07 16:48 Chess5\src\jsj
目录 0 2013-12-07 16:48 Chess5\.settings
目录 0 2013-12-07 16:48 Chess5\bin
目录 0 2014-03-28 14:45 Chess5\image
目录 0 2013-12-07 16:48 Chess5\src
目录 0 2013-12-07 16:48 Chess5
----------- --------- ---------- ----- ----
335919 25
相关资源
- 用户管理系统
- java职业中介管理系统
- Java语言程序设计梁勇第31-38章全部完
- java员工管理系统157642
- JavaWeb项目,学生信息管理系统
- java库存管理系统
- java程序设计教程第五版习题解答
- java并发艺术
- 新闻管理系统-jsp大作业-java大作业-
- JavaWeb基于SSM框架的仓库管理系统源码
- 学生宿舍管理系统javabean+servlet+jsp+m
- 毕业设计考试座排系统
- 作业批改管理系统java编写
- jar2exe破解版无环境检测bug
- 数据结构与算法 Java语言版
- java+Oracle的物流管理系统(毕业设计)
- JAVA班级管理系统代码
- java实现扫雷游戏
- javaweb大型项目源码——游戏交易网
- CoreJava CoreJava
- 中国美食网的设计与实现
- 基于web的简单健康管理平台ssm
- jsp发布新闻系统13章复习项目请您留言
- java购物网站
- java8 chm格式文档
- 安卓APP开发“点餐系统”
- Java OA请假管理系统
- java购物商城demo源码
- Java api 1.8 中文 帮助文档
- 轻量级JavaEE企业应用实战第四版配套
评论
共有 条评论