资源简介

通过Java实现的五子棋项目,核心在于评估局面中每点分数,生成博弈树进行极大极小搜索,运用alpha-beta剪枝进行加速,同时带有防守和禁手。

资源截图

代码片段和文件信息

package myGoBang;

import java.util.*;

import static java.util.Collections.sort;

public class Chess {
    public static final int CHESSBOARD_SIZE = 15;
    public static int FIRST = 1;//先手,-1表示机器,1表示人类,与Location类中的对应
    private int[][] chessboard = new int[CHESSBOARD_SIZE][CHESSBOARD_SIZE];//与界面棋盘对应,0代表空,-1代表机器,1代表人类
    private int[][] score = new int[CHESSBOARD_SIZE][CHESSBOARD_SIZE];//每个位置得分

    public int getScore(int i int j) {
        return score[i][j];
    }

    private int alpha = -10000000;
    private int beta = 10000000;

    public Chess(){}

    public void init(){
        FIRST = 1;//默认人类先手
        for(int i = 0; i  < CHESSBOARD_SIZE; i++){
            for(int j = 0; j < CHESSBOARD_SIZE; j++){
                chessboard[i][j] = 0;
                score[i][j] = 0;
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件           0  2020-05-30 15:34  myGoBang锛坖ava鏂囦欢锛?
     文件        6148  2020-05-16 09:25  myGoBang锛坖ava鏂囦欢锛?.DS_Store
     文件         120  2020-05-16 09:25  __MACOSX\myGoBang锛坖ava鏂囦欢锛?._.DS_Store
     文件        6196  2020-05-30 15:21  myGoBang锛坖ava鏂囦欢锛?UI.java
     文件         328  2020-05-30 15:21  __MACOSX\myGoBang锛坖ava鏂囦欢锛?._UI.java
     文件         984  2020-04-20 09:01  myGoBang锛坖ava鏂囦欢锛?Location.java
     文件         272  2020-04-20 09:01  __MACOSX\myGoBang锛坖ava鏂囦欢锛?._Location.java
     文件        3306  2020-05-30 15:25  myGoBang锛坖ava鏂囦欢锛?ChessBoard.java
     文件         272  2020-05-30 15:25  __MACOSX\myGoBang锛坖ava鏂囦欢锛?._ChessBoard.java
     文件       39720  2020-05-30 15:34  myGoBang锛坖ava鏂囦欢锛?Chess.java
     文件         272  2020-05-30 15:34  __MACOSX\myGoBang锛坖ava鏂囦欢锛?._Chess.java

评论

共有 条评论