用例
用例名称:移动棋子
|
主要场景
- 红方首先移动棋子,然后黑方移动棋子,双方轮流移动棋子,直到一方“将”或“帅”被吃掉
- 可以无限制步数悔棋
- 每下一步棋子记录棋着,如“车一进一”、“车9平8”等
扩展场景
- 移动棋子必须符合中国象棋的规则
- 任何一方“将”或“帅”被将死则不再允许继续走棋,但可以向前浏览(参见“浏览棋着”用例)棋着
|
用例名称:浏览棋着
|
主要场景
- 可以向后浏览已经走过的棋着
- 在场景1的基础上,可以向前浏览棋着
扩展场景
- 在场景1或2中,浏览最后一步棋着之前的棋着时,如果用户试图移动棋子(参见“移动棋子”用例),则清除当前棋着以后的所有棋着,如:当前下到了第20步,如果向前浏览到第10步,此时如果用户要移动棋子,那么11步到20步的棋着将被清除
|
用例名称:保存棋谱
|
主要场景
- 将棋谱保存为文本文件
|
用例名称:查看棋谱
|
主要场景
- 从文本文件加载棋谱并浏览(参见“浏览棋子”用例)
扩展场景
- 允许修改棋谱
|
主要概念
主要类
效果图
说明
只是个半成品,还有如下功能可以添加:
- 从文件中读取棋谱
- 人工智能
另外,代码也需要重构。写这个程序地目的是为了练练手,学习面向对象的思想,哈哈。不加班真好!希望大家看了代码不要吐,我有时间就重构下,如果阁下看不懂代码,只能说明我写的太次,代码就是最好的设计文档。
源码下载地址