zoukankan      html  css  js  c++  java
  • 分享一个象棋打谱软件

    用例

    用例名称:移动棋子

    主要场景

    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. 人工智能

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

    源码下载地址

  • 相关阅读:
    2.4 学习总计 之 自己实现底部导航
    2.3 学习总结 之 分页查询
    2.2 学习总结 之 servlet 的两次抽取
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1732887.html
Copyright © 2011-2022 走看看