分享一个象棋打谱软件

用例

用例名称:移动棋子

主要场景

  1. 红方首先移动棋子,然后黑方移动棋子,双方轮流移动棋子,直到一方“将”或“帅”被吃掉
  2. 可以无限制步数悔棋
  3. 每下一步棋子记录棋着,如“车一进一”、“车9平8”等

扩展场景

  1. 移动棋子必须符合中国象棋的规则
  2. 任何一方“将”或“帅”被将死则不再允许继续走棋,但可以向前浏览(参见“浏览棋着”用例)棋着

用例名称:浏览棋着

主要场景

  1. 可以向后浏览已经走过的棋着
  2. 在场景1的基础上,可以向前浏览棋着

扩展场景

  1. 在场景1或2中,浏览最后一步棋着之前的棋着时,如果用户试图移动棋子(参见“移动棋子”用例),则清除当前棋着以后的所有棋着,如:当前下到了第20步,如果向前浏览到第10步,此时如果用户要移动棋子,那么11步到20步的棋着将被清除

用例名称:保存棋谱

主要场景

  1. 将棋谱保存为文本文件

用例名称:查看棋谱

主要场景

  1. 从文本文件加载棋谱并浏览(参见“浏览棋子”用例)

扩展场景

  1. 允许修改棋谱

主要概念

image

主要类

image

效果图

image

说明

只是个半成品,还有如下功能可以添加:

  1. 从文件中读取棋谱
  2. 人工智能

另外,代码也需要重构。写这个程序地目的是为了练练手,学习面向对象的思想,哈哈。不加班真好!希望大家看了代码不要吐,我有时间就重构下,如果阁下看不懂代码,只能说明我写的太次,代码就是最好的设计文档。

源码下载地址

原文地址:https://www.cnblogs.com/zzy0471/p/1732887.html