言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

制約システムを作りはじめる。
簡単な制約。変数が二つのもの。これは step を使えばめっちゃ簡単。
y = 2 * x
y := 2 * x
x := x / 2

  • Player が step するしくみをちゃんと調べる。
    • スクリプトは ScriptInstantiation>>runIfTicking: によって起動される。
    • ScriptInstantiation がスクリプトとその状態(起動/停止)についての情報を持つ。
    • スクリプトエディタの起動ボタンは ScriptInstantiation の status を変化させる。
    • step メッセージは、モルフ -> プレイヤ -> ScriptInstantiation の順に送信される。
    • step がスケジュールされる仕組み
      • Morph>>intoWorld: (world に登録される際)
        • Morph>>wantsSteps step を登録して欲しい場合は真を返す。モデルやプレイヤに委譲。
        • PasteUpMorph>>startStepping: (world にスケジュール開始)
  • Player の名前が変わる仕組みをちゃんと調べる。
    • 結構ややこしくて信頼性がないかも知れない。
  • Player のサブクラスで制約を作る事が出来るか?
  • step だけで双方向制約が成立するか?
  • 引数を渡す仕組み(デザイン)