2008年03月09日

Androidでテトリス作った

暇だったのでGoogleの出した携帯プラットフォーム、Androidでテトリスを作ってみた。
androidTetris1.png
グラフィックライブラリとしてはプリミティブな機能しか提供されてないぽいから、誰かがゲームライブラリとか作って、その上で開発しないと3D機能をばりばり使ったゲーム開発は難しいかな?
そもそもAndroidでiPhoneみたいに3Dが結構動くハードが提供されるかどうかは不明だけど。

ちゃんとしたテトリスは初めて書いたけどやっぱシンプルなゲームだけあって簡単だったな。3,4時間でだいたい完成。でもテトリスの細かいルールを実装しようと思うとちょっと面倒だ。テトリスのガイドラインをみるとちょっと複雑。まぁとりあえず遊びで作ったやつだしこれぐらいでいいだろう。

プログラミングする上で何か工夫とか入れないとプログラミングしててもつまんないので、テトリスのブロック(テトリミノと呼ぶらしい)の定義をちょっと工夫。そのままプログラムするとテトリミノの定義は以下のようになるだろう。以下は4x4のマス目でZ型のテトリミノの定義。
{0,0,0,0}
{1,1,0,0}
{0,1,1,0}
{0,0,0,0}

まぁこれでもいいけどもっと簡単にしようということで以下のようにしてみた。これだけでZ型のテトリミノが定義できる。回転の中心となるブロックからスタートして、次のブロックの相対位置を記述する。ペアの数値の最初がX軸、後ろがY軸だ。
{1,0},{0,1},{1,0}
よってこれは基準点から右にブロックを置いて、次に下、そしてまた右にブロックを置くという定義になる。これでZ型のテトリミノを表すことができる。記述した情報は相対的な方向なので、テトリミノを回転させるときもその方向を変換することで簡単に回転させることができる。
と、3分ぐらい考えた結果の方法なのでもっとスマートな解があるかもしれないけど、これでも十分シンプルな実装方法かと。

せっかく携帯端末だしネット経由で対戦とかできると楽しいかも。
まぁまた暇があったらやってみるか。

Comment on "Androidでテトリス作った"

"Androidでテトリス作った"へのコメントはまだありません。

Post a Comment

コメントする

コメント登録機能が設定されていますが、TypeKey トークンが設定されていません。