制作日記

こういうの作った方が、逃げにくいじゃない

プログラムっぽく

というか、手続き型っぽくcnc記述

常時監視とメインルーチン用のステート用意して、
そっから他のサブルーチンステートに飛ぶように

問題点はコールスタックとローカル変数辺り?
サブルーチンから他のサブルーチンを呼ばない(再起処理のみ認める)なら
コールスタックは繰り返し回数だけ保存すればいいので、問題ない
階乗求めるみたいに
f(x) {
if (1 == x) return 1;
else return x * f(x - 1)
}
みたいに1回呼び出されるだけならかなり簡単
複数回呼び出される場合でも、ルーチンを分割してやって、なおかつ再帰用のステートを作れば行けるかな?

メインに戻る分には、どこから飛んだかを記憶しておいて、そこまでの処理を飛ばせば済む
もしくはselfstate前後でメインルーチンのステートを分割してしまうか

ここらへんまではテストキャラで大体実装したことある

ローカル変数の実現は厳しい、explod使うぐらいかな?
ステート番号+繰り返しの回数とかをIDにして

手続き型でも、それっぽくが限界
オブジェクト指向で組んでみようとか思ったけど、無理
ポリモフィズムとかどうやって実現したら良いんでしょう

コメントの投稿

非公開コメント

プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク