ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
273176 Топик полностью
mazur (18.09.2011 09:36 - 09:39, просмотров: 534) ответил fk0 на Флаги -- это такой плохой способ представления того же автомата. А когда ты говоришь об автомате -- там состояние явно выделено в одну переменную, вместо того, чтобы быть размазанным по десятку флагов (которые, в итоге, могут кодировать состояний
Вроде сформулировал, по поводу использования флагов. Я не знаю, почему ты такой противник флагов. Если нет флагов, то задачи размазываются на множество состояний. Также в одном состоянии нельзя сделать сразу несколько действий, что как раз флаги и позволяют. С флагами, что без автомата, что перед машиной состояний, что в любом состоянии автомата: sbrc FLAGS,0 rcall Action_1 sbrc FLAGS,1 rcall Action_2 sbrc FLAGS,2 rcall Action_3 sbrc FLAGS,3 rcall Action_4 sbrc FLAGS,4 rcall Action_5 sbrc FLAGS,5 rcall Action_6 sbrc FLAGS,6 rcall Action_7 sbrc FLAGS,7 rcall Action_8 И нисколько флаги не раздувают количество состояний автомата. Увеличивается гибкость, но не количество состояний. В случае же использования машины состояний это будет выглядеть примерно как-то так. State_1: rcall Action_1 ret State_2: rcall Action_3 rcall Action_5 rcall Action_7 ret State_2: rcall Action_2 rcall Action_3 rcall Action_6 ret State_2: rcall Action_1 rcall Action_4 rcall Action_8 ret State_2: rcall Action_1 rcall Action_2 rcall Action_4 rcall Action_6 rcall Action_7 rcall Action_8 ret Но гибкости в этом случае нет, так как автомат за раз делает только одно действие.