関数型言語ML (SML, OCaml, etc.), Part 6at TECH関数型言語ML (SML, OCaml, etc.), Part 6 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト8:デフォルトの名無しさん 09/06/16 23:52:08 .net オブジェクトを使わずにステートマシンを作るのによい方法はありますか? 勉強のためにStateパターンを� 9:cWュールを使ってやってみようと思ったのですが、 相互依存を回避するうまい方法が思いつきません。 また、状態をそれぞれ別モジュールにするにせよ、一箇所にまとめるにせよ、動的に切り替えるためには 結局パターンマッチさせてそれらを呼び出すようになると思いますが、もっとスマートな方法はありますか? 10:デフォルトの名無しさん 09/06/17 10:23:08 .net >>8 まずは具体的な実装例を挙げてみたら? 11:デフォルトの名無しさん 09/06/17 10:43:32 .net うん、なんか簡単な問題例を出してくれないとわかんないよ。 12:デフォルトの名無しさん 09/06/17 10:51:36 .net state machineの問題例というとよくあるのはストップウォッチとか。 13:8 09/06/17 12:36:14 .net 実際の問題を簡単にした問題例です。 流れ: キャラクタがバイトをして財布がいっぱいになったら銀行へ行く ということを目標金額まで繰り返し、到達したらその金がなくなるまで 家でごろ寝し、なくなったらまた働く キャラクタは ・バイトをする : 手持ちが1増える ・銀行で貯金をする : 手持ちを0にし、貯金が1増える ・家で寝る : 貯金が1減る の状態を取ります。 財布の許容量は3、目標貯金額は5とします。 Ocaml的な解決方法のアドバイスをいただけると幸いです。 ちなみに元々の問題は「実例で学ぶゲームAIプログラミング」 という本の2章に出てくる、上記の問題例にいくつか余分な状態を 追加したようなものです。 元々の問題をとりあえず実装してみたソースとサンプルソースも あげてみました。 http://www1.axfc.net/uploader/Sc/so/9827.lzh 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch