声明: 这个例子的设计并不是我首先想出的,我参考了原文,然后经过整理,融汇了我的Excel技巧,把它整理了出来,分析了表的生成过程,比原来的设计有一定的易学易用性。现在让大家来进行分析与学习。
需求规格:
1、如果落点在棋盘外,则不移动棋子;
2、如果落点与起点不构成日字型,则不移动棋子;
3、如果落点处有自己方棋子,则不移动棋子;
4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5、如果不属于1-4条,且落点处无棋子,则移动棋子;
6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
一、原因条件:
1、落点在棋盘上;
2、落点与起点构成日字;
3、落点处不为自己方棋子;
4、落点方向的邻近交叉点有棋子(绊马腿);
5、落点处无棋子;
6、落点处为对方棋子(非老将);
7、落点处为对方老将。
二、结果动作:
21、不移动棋子
22、移动棋子(不吃子)
23、移动棋子并除去对方棋子
24、移动棋子除去对方老将,胜利。
添加一个中间节点11,这样能够简化设计。然后画出因果图:
通常的设计方法就是一个表的方法,我称为一表法。但是七个因子,表格就会非常的长,让人望而却步!2^7=128,那么长的表是一般人不能做到的,在 Excel里面都感觉版面不够,要是拿来考试怎么办?所以这里提供两表法。1、2、3、4只与11及21有关,可以使用一个表先处理。然后11、5、6、 7有可以作为一个表。