- 博客(5)
- 资源 (23)
- 收藏
- 关注
原创 使用Qt开发中国象棋(五):走棋
在整个游戏中,走棋是最复杂的部分,也是最麻烦的。开发这个程序,大概花了三分之一的时间在这个上面。在这个游戏中,走棋是通过鼠标点击事件来完成的,当然也可以通过拖动鼠标事件来弄。假设我们自己先走,整个走棋的逻辑如下: (1)点击鼠标。 (2)ChessBoard类调用mousePressEvent并激发doMove信号。在该事件处理函数中,我们只处理鼠标左键单击事件
2015-10-27 15:48:31 3043 1
原创 使用Qt开发中国象棋(四):步时控制
一般的象棋游戏中都会限时,超过时间没走棋,就算输了。这个游戏采用的是步时限制。走棋的时候会有提示,像下面那样:界面用的是一个QLable来显示“红方走棋”,后面显示时间的用的是一个QLCDNumber的控件。显示时间可以用定时器的方式或者线程的方式,我这里用的是线程的方式。采用的是线程和条件变量的方式。Qt提供了QWaitCondition用于条件变量,QMutex用于互斥锁,QThr
2015-10-23 17:07:30 3438 1
原创 使用Qt开发中国象棋(三):走棋着法列表
在一个完整的中国象棋游戏中,一般界面上都显示了中文着法,为了简单起见,我开发的这个用了两个着法列表,红方一个,黑方一个,其实用一个就够了,只是感觉那样稍微会麻烦些。着法列表显示了每一步的走棋。下图是着法列表的截图: 着法列表用的是一个叫StepList的类来实现的,因为有两个着法列表,所以用了两个StepList对象。实例化的时候,指定一个特殊的参数用来标示是左边的还是右边的。像下面那
2015-10-13 16:48:17 3794 1
原创 使用Qt开发中国象棋(二):棋盘绘制
棋盘用的是ChessBoard类,主要是显示界面上的棋子,响应鼠标点击事件,激发走棋的信号,MainWindow调用相关的槽,从而完成走棋。下面将一一介绍,错误之处,恳请各位指正,谢谢。 ChessBoard要显示一张背景图和18个棋子,还有走棋路迹。背景图是一个QPixmap对象,至于棋子,因为界面上有90个位置可以放棋子,所以用了90个QPixmap对象。棋盘的渲染是在pai
2015-10-12 16:27:29 5488 3
原创 使用Qt开发中国象棋(一):概述
最近看了一些关于中国象棋的实现书籍,里面讲述了如何开发一个完整的中国象棋游戏,看了里面的内容,感觉里面的内容特别巧妙的,比如书中提到了用位棋盘来表示中国象棋的棋盘以及一些精妙的走棋算法。基于这些,自己也尝试的开发了一个中国象棋。 我是在Linux Mint 17.1 32伟操作系统下面开发的,用的是Qt Creator 3.3.1,Qt的版本是5.4.1。由于要实现的功能比较多,加上每天
2015-10-12 11:25:55 3744 5
使用DirectX开发的魔方游戏
2016-11-29
C++开发的Bittorrent客户端
2016-01-23
Qt开发的文本编辑器
2015-11-06
Linux下Qt开发的中国象棋
2015-10-12
C++网络编程 卷2 基于ACE和框架的系统化复用
2013-08-27
C++网络编程 卷1 运用ACE和模式消除复杂性
2013-08-25
Programming With POSIX Threads_part2(POSIX多线程程序设计)
2010-06-16
Programming With POSIX Threads_part1(POSIX多线程程序设计)
2010-06-16
数据结构C实战(C.and.Data.Structures.by.Practice.2007)
2010-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人