6 Star 26 Fork 4

linpure / GoBangGUI

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
PossiblePositionManager.h 806 Bytes
一键复制 编辑 原始数据 按行查看 历史
linpure 提交于 2021-12-31 18:55 . 完成人机对战功能
#pragma once
#include "ChessEngine.h"
#include <set>
#include <vector>
using namespace std;
struct HistoryItem {
set<ChessEngine::Position> addedPositions;
ChessEngine::Position removedPosition;
};
class PossiblePositionManager
{
public:
PossiblePositionManager();
~PossiblePositionManager();
void AddPossiblePositions(char board[15][15], const ChessEngine::Position& p);
void Rollback();
set<ChessEngine::Position> GetCurrentPossiblePositions();
void RemoveAll();
void SetEvaluateFunc(int(*evaluateFunc)(char board[15][15], ChessEngine::Position p));
private:
set<ChessEngine::Position> currentPossiblePositions;
vector<HistoryItem> history;
vector<pair<int, int> > directions;
int (*evaluateFunc)(char board[15][15], ChessEngine::Position p);
};
1
https://gitee.com/linpure/go-bang-gui.git
git@gitee.com:linpure/go-bang-gui.git
linpure
go-bang-gui
GoBangGUI
master

搜索帮助