next_inactive up previous


Practice ELM commands

314研究室

2001年11月09日作成
最終更新日2001年11月14日

1 クラスとオブジェクト

以下の説明ではクラスとオブジェクトという言葉を 使用しています。これを混同しないように気をつけて下さい。 オブジェクトは「物」を表わしクラスはその物のタイプを 表わす言葉です。

ですから、ある一つのオブジェクトに注目すると、それには オブジェクト名とクラス名の二つが付いていることになります。

「安達、金子、佐藤、菅原、中野渡、成田、松永、渡邊」が オブジェクト名で「314研究室ゼミメンバー」がクラス名 という感じです。

2 コマンドの入力

とりあえずvesma2.batをダブルクリックして起動します。

仮想環境が表示されている部分と、 メッセージが表示されるテキストエリアの間に、 コマンドを入力するテキストフィールドがあります。 そこにコマンドを入力して実行できます。

ためしに、「ls」と入力してエンターキーを押してみて下さい。 メッセージとして同じ部屋の中にあるオブジェクトの名前が表示されます。

VESMAを起動した後になにもしてなければ表示されるのは

transpoter
client
kenji

のような3つの名前だと思います。transpoterとclientはHiddenオブジェクトなので 画面上では見えませんが、システム内部の仕事をするオブジェクト です。とりあえず気にしなくていいです。kenjiがVESMAにログインした際に 入力した名前です。あなたのアバタを表わしています。

さらに「cat kenji」でkenjiオブジェクトの詳細な情報を表示できます。

cat   kenji
ac.hiu.j314.elmve.ElmAvatar(kenji):X=-5.0, Y=5.0, Z=0.0 status=RUNNING
 My parent is ac.hiu.j314.elmve.TopElm(root)
//172.17.213.14/ElmVE

kenjiというオブジェクトがac.hiu.j314.elmve.ElmAvatarというクラスの オブジェクトでx,y,z座標が(-5.0,5.0,0.0)であることなどが表示されます。

「pwd」というコマンドを実行すると、自分が現在いる場所が表示されます。 例えば

//172.17.213.14/ElmVE

と表示されます。これは172.17.213.14というIPアドレスが割当てられている マシン上のElmVEという名前のサーバにアバタがいることを示しています。 後で見るように、仮想空間の奥深くに移動すると

//172.17.213.14/ElmVE/building8/room103

のようになっていきます。

3 オブジェクトの作成、削除

VESMAを起動してなにもしてなければ、仮想環境内には自分しかいません。 なにかオブジェクトを作成してみましょう。

オブジェクトを作成するには、まず、どのタイプのオブジェクトを 作成するか指定する必要があります。このとき使用するコマンドは 「cct」です。引数には作成したいオブジェクトのクラス名を指定します。

cct   ac.hiu.j314.vesma.Note

と指定すればVESMAのノートオブジェクトが指定されます。 ここで指定できるクラス名のリストをこの文章の一番下に付けておきます。

cctコマンドを実行しても、まだ何も作成されません。 touchコマンドを実行すると実際にオブジェクトが作成されます。

touch   note01

上のコマンドを実行すると、自分の背後になにかが新しく作成されたのが わかる思います。note01というのがオブジェクトの名前になります。

重なっていてはわかりずらいので、オブジェクトの場所を移動してみましょう。

locate   note01   5.0   5.0   0.0

5.0 5.0 5.0はx,y,zの座標です。適当に変更してみて下さい。

作成したオブジェクトを消去するには「rm」コマンドを使用します。

rm   note01

上のコマンドを入力するとnote01オブジェクトが消去されます。

一応、コマンドを説明しましたが、「touch」「rm」「locate」のコマンド はマウス操作で代用できます。マウスの真中ボタン(真中ボタンが 無い場合はAltキー+左ボタン)で背景の部分をクリックすると「touch」、 オブジェクトをクリックすると「rm」の動作をします。 マウスの左ボタンで普通にドラッグすればオブジェクトの場所を 移動できます(「locate」コマンド)。

4 メッセージ送信

ELM,VESMAの仮想環境各オブジェクトは、特定のメッセージを受け取って そのメッセージの内容に従って動作します。コマンドラインからメッセージ を送る方法があります。

メッセージの送信を試すためにac.hiu.j314.vesma.Noteクラスのオブジェクトを もう一度作成してみて下さい。「cct」コマンドは一度指定すると、以後 有効なので省略できます。

touch   note02  5.0   5.0   0.0

「touch」コマンドの引数として上のようにx,y,z座標を初めから指定する ことも可能です。

note02オブジェクトが作成できたら、次のコマンドラインを入力してみて下さい。

##note02   openCustomizer

最初にシャープ「#」が2個付いているのがみそです。これは、note02という名前の オブジェクトに対してopenCustomizerという名前のメッセージを送るという 意味です。コマンドを実行すると、カスタマイザが開きます。 VESMAのNoteクラスのオブジェクトのカスタマイザはWebブラウザになってます。 デフォルトでVESMAのオブジェクトのページが開かれたと思います。 確認したら[done]ボタンでWebブラウザを閉じて下さい。

こんどは以下のコマンドを入力してnote02オブジェクトに setSourceURLという名前のメッセージを 'http://www.do-johodai.ac.jp/'という引数付きで送ります。

##note02   setSourceURL    'http://www.do-johodai.ac.jp/' &

なにも変化しませんが、もう一度カスタマイザを開くと北海道 情報大学のページに変っているのが確認できます。

実は「openCustomizer」コマンドの実行もマウス操作で代用できます。 カスタマイザを開きたいオブジェクトのアイコンをダブルクリック して下さい。

5 移動

ELM,VESMAの仮想環境は階層構造になっています。 Windowsなどのファイルシステムのような感じです。 Windowsでは「フォルダ」というものがあって、その中に 他のファイルを保存できますが、VESMAではac.hiu.j314.vesma.Room クラスのオブジェクトの中に、他のオブジェクトを投入できます。

とりあえずac.hiu.j314.vesma.Roomのオブジェクトを作ってみて下さい。

cct   ac.hiu.j314.vesma.Room
touch   room01

ちっちゃな小屋のようなアイコンのオブジェクトが作成されたと思います。 このちっちゃな小屋の中には、また別の仮想空間が存在しています。 この小屋に入ってみましょう。

cd   room01

背景が変化してroom01の小屋が消えたと思います。つまりroom01の中の 別の仮想空間に入ったということです。ここでもう一度、部屋を作ります。

touch   room02

また、小屋が作られます。さらに、この部屋に入てみます。

cd   room02

新しい仮想空間に入ったことが別ります。ここで自分の場所を 表示するコマンド「pwd」を入力してみて下さい。

pwd
//172.17.213.14/ElmVE/room01/room02

と表示されます。現在の仮想空間から外に出るには次のように入力します。

cd   ..

MS-DOSのコマンドでフォルダを移動する場合と同じです。ここで「pwd」を 実行すれば以下のようになるでしょう。

pwd
//172.17.213.14/ElmVE/room01

この「cd」コマンドを入力するかわりに、キーボードのカーソルキーで アバタを移動して小屋に体当りさせてみて下さい。自動的に小屋の中に 入ります。

6 サーバ間の移動

ここまでは、自分の目の前にあるパソコンの内部だけの話でしたが、 ELM,VESMAはインターネットを利用して他のサーバマシンの中の仮想空間 をのぞくことができます。以下のコマンドを入力して下さい。

go   '//v314.do-johodai.ac.jp/ElmVE'

314研究室の中に置いてあるVAIOのマシンのElmVEと名前が付いているサーバに に存在している仮想空間に移動できます。複数の人が、同じ仮想空間に入れば 互いに他のアバタが確認できます。また、次のコマンドで、会話もできます。 (VESMAを使っている場合。ELMでは会話はできません。)

whisperTo   ユーザ名   '会話内容'

自分のVESMAの仮想空間に戻るには「goHome」コマンドを使用して下さい。

7 VESMAで提供されているクラス

ac.hiu.j314.vesma.Room
ac.hiu.j314.vesma.Link
ac.hiu.j314.vesma.Exit
ac.hiu.j314.vesma.Note
ac.hiu.j314.vesma.Creature
ac.hiu.j314.vesma.Examination
ac.hiu.j314.vesma.VApplet
ac.hiu.j314.vesma.Media
ac.hiu.j314.vesma.Music
ac.hiu.j314.vesma.Scenshifter
ac.hiu.j314.vesma.WhiteBoard
ac.hiu.j314.vesma.Counter



Kenji Saito 2001-11-14