>processingのmouseXの代わりに、get_mouse_x()という関数を用意しました。
get_mouse_x()も、ウインドウ内の座標を返すのですから、ウインドウごとにしないと
まずいですね。このへん考えるべきことはいろいろありそうですが、まあ方向性として。
ついでに補足しますけど、私は、HSPに関しては「もう21世紀なのにこの言語はないだろう」
というまつもとゆきひろさんの意見に賛成します。
http://www.rubyist.net/~matz/20040827.html#p01
こちらにある、「「初心者(だけ)のための言語」ってのは駄目だと思っている」
という意見にも賛成します。
http://www.rubyist.net/~matz/20040925.html#p02
ただ、
| 初心者と言えども言語の全ての機能を一度にマスターする必要はない。
| よって言語が初心者向きでない機能を持つことは、あまり問題にならない。
これにはいまいち賛同しかねるんですよねえ。サンプルで見かけるプログラムで
「初心者向きでない機能」が使われていると、おっかなく思う初心者は大勢いそうです。
crowbarはどうでしょうか。クロージャは、[717]を見るとわかるように、言語の作者の
私でさえ使いこなせていない。とほほほほ。
しかし、それはそれとして、オブジェクトの概念自体は必要だと思うし、初心者に
わからないものでもないと思います。
w = open_window(800, 500);
と書いてウインドウが開くのなら、そしてopen_window()を実行するたびに
何個でもウインドウが開けるのなら、そのウインドウに丸を描くのに
w.fill_circle(x, y, 10);
と書かなければならないのは、いくら相手が初心者でも、自明じゃないのかなあ。
別にfill_circle(w, x, y, 10); でもいいけど。
んで、シューティングゲームを作るのに敵をたくさん出したければ、自分でクラスっぽい
ものを作らざるを得ないし、そのmove()メソッドをオーバーライドすることで、
ポリモルフィズムも自然に利用できるんじゃないかと思うんですけど、どうでしょうか。