聲明: 這個例子的設計并不是我首先想出的,我參考了原文,然后經過整理,融匯了我的Excel技巧,把它整理了出來,分析了表的生成過程,比原來的設計有一定的易學易用性?,F在讓大家來進行分析與學習。
需求規格:
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有可以作為一個表。