[過去ログ]
関数型言語ML (SML, OCaml, etc.), Part 6 (1002レス)
関数型言語ML (SML, OCaml, etc.), Part 6 http://mevius.5ch.net/test/read.cgi/tech/1245017721/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
8: デフォルトの名無しさん [] 2009/06/16(火) 23:52:08 オブジェクトを使わずにステートマシンを作るのによい方法はありますか? 勉強のためにStateパターンをモジュールを使ってやってみようと思ったのですが、 相互依存を回避するうまい方法が思いつきません。 また、状態をそれぞれ別モジュールにするにせよ、一箇所にまとめるにせよ、動的に切り替えるためには 結局パターンマッチさせてそれらを呼び出すようになると思いますが、もっとスマートな方法はありますか? http://mevius.5ch.net/test/read.cgi/tech/1245017721/8
9: デフォルトの名無しさん [sage] 2009/06/17(水) 10:23:08 >>8 まずは具体的な実装例を挙げてみたら? http://mevius.5ch.net/test/read.cgi/tech/1245017721/9
12: 8 [] 2009/06/17(水) 12:36:14 実際の問題を簡単にした問題例です。 流れ: キャラクタがバイトをして財布がいっぱいになったら銀行へ行く ということを目標金額まで繰り返し、到達したらその金がなくなるまで 家でごろ寝し、なくなったらまた働く キャラクタは ・バイトをする : 手持ちが1増える ・銀行で貯金をする : 手持ちを0にし、貯金が1増える ・家で寝る : 貯金が1減る の状態を取ります。 財布の許容量は3、目標貯金額は5とします。 Ocaml的な解決方法のアドバイスをいただけると幸いです。 ちなみに元々の問題は「実例で学ぶゲームAIプログラミング」 という本の2章に出てくる、上記の問題例にいくつか余分な状態を 追加したようなものです。 元々の問題をとりあえず実装してみたソースとサンプルソースも あげてみました。 http://www1.axfc.net/uploader/Sc/so/9827.lzh http://mevius.5ch.net/test/read.cgi/tech/1245017721/12
13: 8 [] 2009/06/17(水) 12:42:44 スレ違いではありますが、もう1つ後学のために質問をさせてください。 アップロードするのは初めてでよくわからないままaxfcを 使用したのですが、プログラム板で一般的に使用されている アップローダーというものはあるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1245017721/13
23: 8 [] 2009/06/18(木) 00:21:17 >>16 継続について調べてみます。 >>17 ありがとうございます。今度コードを晒すときに使ってみます。 >>19 おそらくそのイメージで合っていると思います。 (とはいってもJavaはよくわからないのですが・・・) トップレベルでキャラクタクラスのUpdateを呼び出すと、保持している 派生状態クラスのインターフェースに自身を渡して実行。あとはよろしく。 状態の切り替えも勝手にお願いね。 的なコードが元々のサンプルコードです。 >>21 コードを書いていただきありがとうございます。 例題を簡略化したせいで反ってわかりにくくなってしまい、すみませんでした。 とりあえず継続というものを調べつつもう少し考えて見ます。 皆様ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1245017721/23
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.036s