プログラムの仕様に精神科状態を持つというのを入れるべき。
精神状態が入力で変わって、精神状態が変わると
同じ入力でも出力が違うようになる。