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

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

    源码下载地址

  • 相关阅读:
    二叉树的遍历
    数据结构
    POJ 2054 Color a Tree (贪心)
    $2019$ 暑期刷题记录 $2$(基本算法专题)
    POJ 3889 Fractal Streets(逼近模拟)
    POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)
    CH5E26 扑克牌 (计数类DP)
    BZOJ 1911 特别行动队 (斜率优化)
    BZOJ 1233 干草堆 (单调队列优化DP)
    POJ 1038 Bugs Integrated Inc (复杂的状压DP)
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1732887.html
Copyright © 2011-2022 走看看