# Chess **Repository Path**: nemonameless/Chess ## Basic Information - **Project Name**: Chess - **Description**: 中国象棋QT版 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2017-02-28 - **Last Updated**: 2024-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QT跨平台中国象棋(人机对战和人人对战) ## 运行环境 Qt Creater 5.4 点击Chess.pro文件,会自动加载到Qt Creater上,可选择构建在Win或Android上,再运行 ### UI界面部分: 利用QT界面绘制技术,使用QPaint绘制类画出棋盘、九宫格、棋子等。 ### 操作控制部分: 鼠标点击选中棋子去行走或吃棋,不同棋子行走或吃棋规则各不相同;同时记录己方行走路径,点击悔棋按钮可悔棋。 ### 功能实现部分: 利用C++面向对象技术,实现游戏的人机对战和人人对战功能,实现了跨平台( Windows、Linux、Android)。 ### 人机对战算法部分: 给各种棋子分配分数,计算敌我局面总分差值,利Minimax算法(极小化极大算法)模拟电脑下棋,实现两步人工智能。 ### 算法改进部分: 利用Alpha-beta剪枝优化算法优化改进,在相同时间内加大Minimax的搜索深度,实现六步人工智能。 ### 人人对战部分: 利用QTcpServer和QTcpSocket实现服务器和客户端通信,实现人人对战。 ## 效果图 ![](http://wx1.sinaimg.cn/mw690/e3b52512ly1fd66d841dnj21kv0qoaml.jpg)