毛玉

次のリリースは、どうでしょうね。1ヶ月くらいでしょうか。まだまだ変わってしまうものであるのは確かです。あまりがっちりしたドキュメントをこの段階で作ってもらったりするのはあまりよろしくないですかね。例題をいろいろ作って試してもらえるとうれしいかなと思ったりはしていましたが。

ワールドスクリプト(1 tickで一度だけ実行される)とタートルスクリプト(1 tickごとにタートルの数だけ実行される)の区別とかは変わりますが、機能的に大きく変わるのはまたその後になります。Playfield上で動けるようにするとか。ですので、無理のないところでやってみてください。すみません。

毛玉

upHillは勾配を登る、ということでmakeTurtleMapはタートルの位置を記録する、ということですがどちらも"exampler"やStarSqueak worldのビューワーの中には現在の値が表示されないのでいまいちなんですよね。

タートルたちがデスクトップに進出できるようになった暁にはビューワーの中にも「upHillの今の値」というやつが表示されて、もうちょっと判りやすくなるはずだと期待しています。

ZOOSqueak (Kedama 4)

ありがとうございます、山本さん!

「「patchValueIn」は残す軌跡のドットの数(長さ)だとおもうです。
今はこの値が「0」なのでなにもかわりません。
「0」から「100」に変更してみてください。紺色の跡が描画されていきます」

となっているところで、patchValueのところは、そのタートルがいる場所の変数の値です。最大2^32まで値がしまえる変数に、100という値をしまえ、という意味になります。

見た目としては、この値はその点における色の濃さ(不透明度)をあらわします。デフォルトでは対数ベースなので、数値がそのまま色の濃さになるわけではないのですが。

turtle1 patchValueIn patch <- turtle1's x
turtle1's x increase by 1

というような2行のスクリプトを作って何度も実行すると、diffuseとかdecayとかしなくてもグラデーションになります。

ZOOSqueak (Kedama 5)

diffuseというのは拡散、ということで、一度実行するたびに「自分のところの値をある割合だけ小さくして、周り(縦横斜めの8ヶ所)の値を少し増やす、という」という処理をすべてのパッチ(小さな部分または点)に対して行います。においが蒸発しながら回りに広がっていくような感じですね。

scaleMaxは表示するときの都合で、変数の値がいくつのときに完全な不透明の点として表示するか、ということを表しています。50にしたら、値が50以上のパッチ(点)は完全に不透明で表示されるようになります。

毛玉

パッチというのをもう少し説明すると、方眼紙のようなもので、方眼の中をじっくりみると、それぞれのますの中に数字が書いてあるようなものです。この方眼紙全体をパッチ変数と呼ぶような気がしますし、ひとつひとつのますをパッチと呼びます。

この方眼紙を数字の列として表示する代わりに、色の不透明度に変換してから表示しているのが今の毛玉というわけです。