超狀態

當多個狀態擁有相同的事件,且超出原本的狀態事件,為了簡化狀態機的變化,可將多個狀態視為一個大的狀態,共享一個變換,子狀態都可使用同樣的方法

需求分析

  1. 投下10元硬幣
  2. 投下50元硬幣
  3. 選擇20元商品
  4. 選擇50元商品
  5. 賭博

狀態轉換表

Add10 Add50 Item20 Item50 Gambling
Hello NotEnough Menu2050 X X X
NotEnough Menu20 Menu2050 X X (lose)NotEnough/(win)Menu2050
Menu20 (<50)Menu20/(≥50)Menu2050 Menu2050 Hello X (lose)Menu20/(win)Menu2050
Menu2050 Menu2050 Menu2050 Hello Hello Menu2050

狀態機


程式碼

results matching ""

    No results matching ""