長らく放置状態になっている「玄兎庵」ですが、移設予定です。
現状、残っているコンテンツのほとんどが死に体で、ほとんどアクセスもないんですが、別館ブログの方で書いてる TRPG 関連記事とか、発売された SW2.0 のあたりを扱っていこうかなァと思ってますんで。
あとはまあ、Xoops の練習に。
(古いHTMLを置換・編集してアップとか、単純作業が多いんですがね)
ページの内容
[メモ] Cubson の 4 Actions
またぞろ XCL のモジュールを考えて設計メモを書き始めているわけですが。
簡単なターン進行のコマンド選択式ゲームでも作ろうかとか思って、XCL のモジュール化のために Table だの Field だのを考えてるわけですが。
それ以前に入出力の形を考えなくちゃイカンことを今更思い出す。
処理の大枠
とりあえず Cubson が生成してくれる入出力は DeleteAction , EditAction , ListAction , ViewAction の 4 Actions。このうち DeleteAction は今回のモジュールでは特に使用しないので除けると、 EditAction , ListAction , ViewAction の 3 Actions ということになる。さてこれで足りるのか?
大枠の処理は、以下の流れとする。
- ユーザは CALL 期間中に EditAction でコマンドを入力
- 入力されたコマンドを元に、結果を演算する
- 結果を ViewAction に反映する
処理(2),(3)は CRON で動かせれば最上だけど、まあソコは腕が足らんので保留として。
処理(2)を SimulateAction と設定。
ものすごい単純な処理式を考えると、
- EditAction : コマンド用フィールドに格納
- SimulateAction : コマンドを演算→実データに格納
- ViewAction : 実データ→出力用に変換→表示
ん……もしかして ListAction も要らない?
で、まあこうなると問題になるのは SimulrateAction か。
処理を実行させるアクションを用意して、一回叩けばテーブルを一括処理するようにすればいいのかな。
EditAction の概念
- CALL 期間中、プレイヤーは何度でもコマンドを変更することができる。
SimulateAction の概念
- Loop
- [Player.ID] カード呼び出し
- コマンド→パラメータにエンコード→演算
- 演算結果を実データに反映
ViewAction の概念
- [Player.ID] カード呼び出し
- 実データ→出力データ
- 出力データを表示