资源简介

五子棋的人机对弈的实现,其编程语言是 java,带gui界面,这适合AI的初学者下载学习

资源截图

代码片段和文件信息

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RadialGradientPaint;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.Ellipse2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class fivechess extends Jframe implements ActionListener{
JButton back=new JButton(“悔棋“);
    JButton start=new JButton(“开始“);
    JButton game=new JButton(“中级难度“);
    JButton game2=new JButton(“高级难度“);
    GameBoard gb=new GameBoard();
    JPanel pb=new JPanel();
    JPanel pg=new JPanel();
public fivechess(){

pb.add(start);
pb.add(back);
pb.add(game);
pb.add(game2);
setLayout(new BorderLayout());
add(pbBorderLayout.NORTH);

add(pg);
    gb.setOpaque(true);
    add(gb);
    back.addActionListener(this);
    start.addActionListener(this);
    game.addActionListener(this);
    game2.addActionListener(this);
    setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
    setSize(526549);
    setLocation(400100);
}


public static void main(String[] args) {
// TODO Auto-generated method stub
fivechess f=new fivechess();
f.settitle(“五子棋“);
f.setVisible(true);
}
public class GameBoard extends JPanel implements MouseListener{
public BufferedImage bgImage=null;//背景图片
public int row=14;//棋盘行数
public int col=14;//棋盘列数
public int length=30;//每个格子的大小
public int edgedis=30;//边距
public int[][] ChessBoard=new int[row+1][col+1];//棋子代表的二维数组,其中0代表没有落子1代表黑子2代表白子
//棋局判断,其中为有可能出现五子连线的类型,并判分,分数d额合理不合理影响了智能程度*代表了有想相同颜色的棋子,O为空#代表被堵住了
//一共32种棋型
public String[] type={“UUUUU“//胜利
       “OUUUUO““UOUUUU“//活四
       “OUUUUC““CUUUUO““CUOUUU““CUUUOU““CUUOUU““UUOUUC““UUOUUC““UUUOUC“//眠四
       “OOUUUOO““OUUUO“
       “COUUUOO““COOUUUO““COUUUOO““OUUUOOC““OOUUUOC““OUUUOOC“//活三和上一个评分差别不大
       “OUOUUO““OUUOUO“//活三
       “CUUUOO““OOUUUC“
       “OUOUUC““CUUOUO““OUUOUC“//眠三
       “OOOUUOOO““OOUUOO““OUUO““OOUOUOO““OUOOUO“//活二
       “OOOUUC““CUUOOO““OOUOUC““CUOUOO“//眠二
       “OOOOUOOOO““OOUOO““OUO“//都为空白
       };


public int[] score={10000000   //胜利
     900000850000//活四
     80008000800080008000800080008000//眠四
     7500 7500 //活三
     720072007200720072007200//活三
     50005000
     30003000//眠三
     250025002500//眠三
     100010001000800800
     500500500500
     805020
     };

 in

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-08 09:06  chess\
     文件         301  2017-11-19 19:05  chess\.classpath
     文件         381  2017-11-19 19:05  chess\.project
     目录           0  2017-12-08 09:06  chess\.settings\
     文件         598  2017-11-19 19:05  chess\.settings\org.eclipse.jdt.core.prefs
     目录           0  2017-12-08 09:06  chess\bin\
     文件       13197  2017-12-08 00:23  chess\bin\fivechess$GameBoard.class
     文件        2148  2017-12-08 00:23  chess\bin\fivechess.class
     文件       44985  2017-11-20 11:57  chess\bin\wuziqi.jpg
     目录           0  2017-12-08 09:06  chess\src\
     文件       18340  2017-12-08 00:23  chess\src\fivechess.java
     文件       44985  2017-11-20 11:57  chess\src\wuziqi.jpg

评论

共有 条评论