我正在尝试建立一个表格来描述下面描述的硬币兑换机的 FSA 行为。
有一个插槽可以接受 50c 硬币和 2 个按钮,用户可以按下这些按钮来获得 20c 或 10c 硬币作为找零。一旦插入 50c 硬币,机器就会锁定以防止再添加硬币。当用户按下 20c 按钮时,机器检查剩余值是否足够,然后给用户一个 20c 硬币。如果剩余值不够,则机器“死机”(为简单起见)。10c 按钮的工作原理类似。
机器的事件是insert50c, give20c, give10c。
所以,据我了解,这个 FSA 有 6 个状态,比如说 0、10、20、30、40、50。状态由剩余要退还的钱的价值来表示。我在这里画了一个粗略的状态图,但我错过了任何转换吗?