Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

vbirds/ChessBY

Repository files navigation

Qt实现中国象棋

这是用人工智能算法实现人机对战的莪一个小例子,其中用到了最大最小值算法,和优化-剪枝算法。算法的实现在singlegame类中 从 函数computer开始。

Qt中国象棋 目前实现了人机对战,后续会添加网络对战,和人人对战,并会移植到Android平台上。程序包含以下几个部分:

  1. Board类,这个类主要用来实现棋盘和棋子的绘制以及走棋的规则。
  2. Stone类,这个类是棋子类,定义了棋子的属性。
  3. Step类,这个类是步数类,用来保存记录棋子的移动,以便悔棋用。
  4. SingleGame类,这个类是人机对战类,继承自Board类,实现了简单的神经网络算法。
  5. Ctrlpanel类,这个类是控制面板类,监听back(返回)操作。
  6. MainWnd类,主窗口类,这个类实现总的窗口。
  7. ChooseDlg类,这个类是选择对话框类,实现用户的选择对战的类型。

优化枚举走棋步骤算法。

time: 2016年04月09日

scription:

  1. 原来的算法把整个棋盘遍历,效率太低。
  2. 根据棋子走棋规则的特点,优化遍历的边界,减少遍历的次数

添加网络对战

time: 2016年04月13日

scription:

添加网络对战类,实现了,网络对战

程序运行图:

选择对战类型

界面

人机对战

About

Qt实现中国象棋

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /