43 lines
2.2 KiB
Markdown
43 lines
2.2 KiB
Markdown
|
# 九联棋 NineChess
|
|||
|
|
|||
|
#### 项目介绍:
|
|||
|
本游戏根据作者儿时游戏——“九联棋”编制,加上“成三棋”、“打三棋”和“莫里斯九子棋”,共三种规则玩法。
|
|||
|
三种规则略有差异,鼠标放在相应菜单项有会有详细的规则提示。
|
|||
|
|
|||
|
#### 软件构架:
|
|||
|
+ GUI框架:Qt5.10,Qt5大版本下均可通用。
|
|||
|
+ 编译器:MSVC2017,MSVC2013及以上版本可用。
|
|||
|
+ 源文件编码:所有头文件(*.h)和源文件(*.cpp)采用UTF-8+BOM编码格式。pro文件等采用UTF-8无BOM编码。
|
|||
|
+ 本程序采用MVC(模型——视图——控制器)设计规范,对应类如下:
|
|||
|
```
|
|||
|
MVC
|
|||
|
├─Model
|
|||
|
│ └─NineChess:用标准C++写的棋类模型,处理下棋过程
|
|||
|
├─View
|
|||
|
│ ├─NineChessWindow:从QMainWindow派生的主窗口类,由Qt自动生成
|
|||
|
│ ├─SizeHintListView:从QListView派生的列表框
|
|||
|
│ ├─GameScene:从QGraphicsScene派生的场景类
|
|||
|
│ ├─GameView:从QGraphicsView派生的视图框
|
|||
|
│ ├─BoardItem:从QGraphicsItem派生的棋盘图形类
|
|||
|
│ └─PiecedItem:从QGraphicsItem派生的棋子图形类
|
|||
|
└─Controller
|
|||
|
└─GameController:从QObject派生的控制类
|
|||
|
```
|
|||
|
+ 这个程序用到了很多Qt特性,其模式后期可以扩展到各种棋类游戏,适合初学者一看。
|
|||
|
|
|||
|
#### 许可协议
|
|||
|
参见Licence.txt
|
|||
|
|
|||
|
#### 更新历史
|
|||
|
参见History.txt
|
|||
|
|
|||
|
#### 作者声明:
|
|||
|
多年前上大学那会儿,笔者就打算做这么个程序出来。然而,条件比较艰苦:
|
|||
|
一来没有老师教,课上只学了C语言和VB,C++是笔者自学的,一个人啃晦涩过时的MFC;
|
|||
|
二来我穷到连个电脑都没有……
|
|||
|
三嘛,就是贪玩……
|
|||
|
工作之后有条件了,我又自学了C#和Qt,但都很肤浅,没深入学,只用来做几个小工具而已。
|
|||
|
从5月末开始消沉到后来步入人生低谷,我终于有大把的时间来思考人生。
|
|||
|
风雨过后,我想起把时间用在兴趣爱好上。于是,这个小游戏诞生了!
|
|||
|
如果你发现本程序有什么问题或好的建议,请与本人联系。我的邮箱是:liuweilhy@163.com
|
|||
|
> ——by liuweilhy 2015年11月6日
|