セキュリティ&プログラミングキャンプで作った、僕のプログラムを公開します。
参加者の皆さんはわかると思いますが、最終日に発表したあれです。
普通のテトリス + Webcam で赤に反応するテトリス。
Webcam を使って、赤い部分がある場所によって、左右に動いたり回転したりします。
製作時間、12時間ぐらいです。
Webcam で操作する部分を実装したのは、2時間ぐらいですかね。
あとの 10 時間何やってたって?!
Processing のレファレンスをじっくり読んでたのと、C から移植したやつのデバッグw
ちなみに、これは Java? って思う人も多いと思いますが、Processing という言語を使いました。
まあ、系統としては Java です。
仕組みはよくわかりませんが、たぶん Java で動いています。
この言語、チューターの方に見せてもらって初めて知ったのですが、なんかすごい面白そうだったのでやってみました。
Processing を知った日に徹夜して、これを作ったわけですから、Java とか C に慣れていれば、なんでもできちゃうぐらい簡単な言語です。
で、いろんなことが簡単に出来すぎる!
最初から、この言語覚えると、宗教的な感じになりそうな予感w
あ、Java なんで、applet でも動きます。
というわけで、軽く遊んでみたい人はアプレットの方でどうぞw
だけど、カメラ機能は動かないんだ・・・。残念。
ブラウザ上で遊ぶ (Java applet)
ソースコードもここから見れ(ry
ソースコード + 実行ファイル + アプレット
[遊び方]
- 起動すると、ブロックが落ちてくるよ。
- "v" キーを押すと、Webcam の画像が表示されるよ。
- 矢印キーで、テトリスできるよ。
- カメラに、赤い物体を移させると、ブロックが動くよ。
- 右の方に赤い物体: 右に動くよ
- 左の方に赤い物体: 左に動くよ
- 上の方に赤い物体: 回転するよ
- 後は楽しんでねw
[仕様上の注意]
よく読んでね!!
- WinVDIG が必要だったりするよ!(Windows Only?!
- http://www.shiffman.net/vdig/
- WinVDIG_101.exe じゃないと(ry
- Webcam をつないでいないと、起動しないよ!
- Webcam もってない!な場合は、"tetris_novideo" で遊んでね!
- こんな感じに残念なことになるかもしれないけど、あきらめないでね!
- いや、僕もいきなり野球中継が表示されてびっくりしたことは内緒。
- こんな時は、ソースのなかの
video = new Capture(this, 320, 240, 30);
ここを、コメントをはずして、上の行にコメントを付けて、"Trust Webcam 14823-WDM" ここを "Capture.list()" で表示される適当なデバイスに変えてあげてねwww
// video = new Capture(this, 320, 240, "Trust Webcam 14823-WDM", 30);
最後に...
C で作ったテトリスのプログラム、ブロックを増設した人は要注意。
Processing にそのまま移植してきて、なんだか動作がおかしくて気づいたけど。
発表中に、一回エラー出たっしょ?あれ。
あの時の一瞬で、原因に気づいた人がいたら、たっぷり褒めてあげるw
配列がぁ~。(実はここが、解説ががブロック1個で終わってる原因だったり?!ないな。
ちなみに、ソースを読んで怪しいところがあったりしたら、どんどん突っついてくださいなw

コメントする