言語ゲーム

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

Twitter: @propella

2003-01-01から1年間の記事一覧

connector 調査

外部的な印象 実装 久々にアトリエの掃除をする。暑くもなく、寒くもなく大変快適で、これで何も制作をせず家に帰るのはもったいない感じ、いったい僕は何をあせっているのだろう。経済的にはゆとりがあるので、実は今が制作できる一番のチャンスなのかもし…

2003-10-15reflection goal 国際免許取得 NHK 準備 Connector2 概要を調べる implement 部屋の掃除 アトリエの掃除 プラグインの調査 制約を使わない二等辺三角形のサンプル

reflection NHK 向けのアイデアが全然出来ていない。 goal NHK 向けアイデアを考える ホテルの予約 グレンデール、アナハイム 予算消化の予定を考える。 ThinkPad に VisualStudio 優待版をインストールする作業をやっと終える。わざわざ実家から VisualC++ …

発散の問題

フィードバックの起こるような系についてはある程度仕方が無い。 少しずつ値を変化させてヒューリスティックに解を求める方式により回避。 しかしこれでテストが難しくなる。

ペラペラ紙アニメ

距離を入力する

距離を入力すると棒の長さが変わるというのは実はUIの問題だということに ようやく気づく。線を表す4変数を長さという一つの値で変更するのだ。これが 3次元ともなると、さらに UI の比重が強まるだろう。結局次のセオリーが生まれる。 入力次元に対して影響…

距離に関する考察

二つのモルフの距離をある値にしたい場合。 双方が自由の場合。中心を基準に距離を変える。 片側だけがが固定されている場合。自由側の位置を変える。 どちらも固定されている場合。位置を変えない。

コネクターを変数に入れる事が出来ない問題。タイルをドロップで対処。

ドロップどうするのだったかな? Viewer>>repelsMorph:event: で拒否されているためドロップは無理だった。 タイルを触ることで処理。

参照線にラベルを貼る

NCConnectorMorph>>startMorph:toMorph: NCLabelMorph>>input: を利用。

プレゼンの流れ(30分)

基本コンセプト(3分) 非同期テスト 簡単な依存(制約)モデル テキストを使った例(5分) 画像を使った例(15分) 実装(5分) 課題(2分)

部品として使う

画像を貼る

直角三角形

楕円について

二つの点ABからある点Cに線を引く AC + BC = はある一定の長さである。

overview

reflection 分かりやすいプレゼンが必要 goal [済]プレイヤの変更 プレゼン大まかな流れ。 長さを用いた例題。楕円。放物線など implementation connector にイメージを貼り付ける。 ハロの実験。好きなハロを追加/削除してみる。 スクリプトエディタ入力と…

Player をコピーできるようにする。大島さんに Andreas Raab と彼のシステム Tweak の事を聞く。凄い奴とはこういう人間の事だ。彼のシステムを聞いた後、自分の作っているものがひどくつまらない物に見えてしまった。 しかし自分のキャリアを考えるとこんな…

インスタンス変数を使うことの問題点を考える。

スクリプトを汎用的に使うときに問題になる。 星が丸を見るスクリプトを作成する 星の中に丸のインスタンス変数が出来る。 丸の代わりに三角でどうなるかやってみる。 すべてのスクリプトで丸が星に変わって欲しい。 インスタンス変数を表すタイルが必要 コ…

インスタンス変数自動登録登録機能

あるプレイヤーに対するインスタンス変数を自動的に作成 一応他のオブジェクトからの get/set も対応させる(いやだけど) タイルドロップ時に動作するようにする。

アメリカ登録

各機能を分離できるか ?

ゴールエディタ - 新規カテゴリとスクリプトエディタ 制約機能と分離すれば可能 制約機能 #changed インスタンス登録時に依存作成 インスタンス変数自動作成機能 - 幾何学機能 -

グローバル変数を使わないように改造できるか?

PhraseTile の構造 red forward: 5 PhraseTile TilePad #Player Tile #objRef op='' 実際の値は actualObject で取得 Tile 'forwardBy:' #operator op=#forward: セレクタ名が入っている。 TilePad #Number Tile #literal op='' 実際の値は、self literal で…

overview

reflection assert 文をタイルに埋め込むところまでは成功しました goal assert 失敗時のトラップと失敗位置表示 明日のプレゼン資料作成 implementation example -> goal に変更する予定。 [済]goal の名前を変更可能にする。 PlayerReferenceReadout にタ…

TODO

[済]コードしか表示されなくなる条件 [済]削除する 名前変更 enforceTileColorPolicy によって PhraseTile の色が変わる。

パッケージの分離

Morphic-Example examples カテゴリを作成。scripts と同じようにビューワから出し入れ出来るようにする。 ビューワからドロップしてエディタを開けるには、ビューワの userScript にスクリプト名が必要。 CategoryViewer>>phraseForCommandFrom: 参照 Categ…

overview

reflection クラスやテキストコードを利用するのは諦める。とりあえずインスタンスベースで、テスト対象も見えているオブジェクトに対して行う。 goal 例題エディタ(テストではなく、例題という言葉を使う)の出し入れ。 最後の文を bool で評価、間違ってい…

仕切り直し、再びテストへ

ジャンケンをテストする ドーナツ屋 13日の金曜日 テストしやすいものを考える。- 関数文字列または数字を扱うもの じゃんけんでさえ難しい 二つの値を比べるもの 大きさを比べる。 色を比べるテストしにくいものを考える。- 図形。時間。ごく当たり前に実装…

同値制約の実装法

たとえば二つの点よりなる線型と、ある二つの数が必ず同じであるという制約を利用して水平線型を実装する方法を考えました。ポイントは、初期化によってスロットにオブジェクトを束縛した後は、二度と代入を行わない事です。 線型は Point 型のスロット(イン…

双方向制約

まず最大の成果が、曲がりなりにも双方向制約のやり方が分かった事。一応以下の要領で動きます。他のプレイヤにはインスタンス変数経由でアクセスする事と、自分自身を update: しない事がミソです(モルフ -> プレイヤ間は changed: が呼ばれます)。これによ…

憂鬱

9月も終わりが近づくにつれて暗澹たる気分だが、いくつかの成果を纏めておく。

現在、あまり良くない局面にある。 特に制約を中心として色々な物を調査してきたが、その結果以下の状況にある。 本来の趣旨である「楽しいテスト」について何も出来ていない。 楽しいインタフェースが出来ていない。 一方で、ここ1週間の成果物としては、 e…