0

正如我从其他示例中看到的那样,我正在开发一个自动售货机项目并尝试构建一个状态机。我正在尝试制造的机器最多可容纳 100 美元。它需要五分钱、一角钱和四分之一。所以,我应该一一定义大约 2000 个状态。如何以更简单的方式构建 FSM?我只是想提出一个建议。

谢谢 :)

4

2 回答 2

5

为什么你觉得机器现金余额的每一个可能值都需要一个单独的状态?这听起来像是对 FSM 的不当使用。

只需使用一个整数寄存器来保存机器的总余额,或者使用单独的寄存器来保存各种硬币和纸币的数量并从中计算总数。

状态可能是process payment,dispense itemrefund change. 不是机器的平衡。

于 2013-01-10T04:34:30.040 回答
0

仅仅因为您有 2000 个“状态”并不意味着您必须在案例语句中枚举它们中的每一个。

正如其他人所提到的,您需要将一些状态存储在计数器中。

于 2013-01-10T09:53:04.887 回答