euniclusKotlinでのプログラミングを学習するためテトリスのようなものを作っていきます。Kotlin習得のためなるべくプログラムだけで実装したいと思います。一から冷静に始めていきたいと思います。ブロックの体裁を整えるプロジェクト作成プロジェクトを作成します。LanguageにKotlinを選択します。図形表示させるテトリスで使う図形は四角形と線ですかね。この二つで何とか表現できるかと思います。これらを表示するための処理はひとまずMainActivity.ktに記述していきます。四角形を表示させます。図形を表示させる場合、PaintクラスとCanvasクラスを使用するようです。四角形を表示paint.style=Paint.Style.FILLpaint.color=Color.argb(255,255,0,255)canvas.drawRect(Rect(110,210,190,290),paint)}}}次は線を表示します。線でフィールド(フィールドという言い方が正しいかはわかりませんが)を表現します。表示する場所は真ん中周辺にしておきます。onDrawメソッドに以下の記述を追加します。paint)}これでテトリス作成に当たり必要なものを表示することができました。paint)}}}図形の位置や大きさを定義するファイルです。ここにパラメーターを追加していきたいと思います。100ブロックの体裁を整える今は四角形一つだけが表示されている状態ですので、テトリスらしく複数の四角形を組み合わせてブロックを数種類作成します。Const.ktに以下の記述を追加します。ひとつの四角形を中心にそこからオフセットを指定してブロックを作成します。その値を配列で定義します。今はとりあえず4種類ですね。arrayOf(intArrayOf(0,0),intArrayOf(BLOCKSPACE,0),intArrayOf(BLOCKSPACE,-BLOCKSPACE),intArrayOf(0,-BLOCKSPACE))上で定義した配列をブロッククラスが受け取るようにします。その配列をループで回しブロックを表示する処理を追加します。{canvas.drawRect(Rect(BLOCKSTARTX+blockInfo[i][0],BLOCKSTARTY+blockInfo[i][1],BLOCKSTARTX+BLOCKSIZE+blockInfo[i][0],BLOCKSTARTY+BLOCKSIZE+blockInfo[i][1]),paint)}}}そしてGraphicクラスから以下のようにして呼び出します。Block(BlockTypeC)block.draw(canvas)これを実行するとこのようになりました。これで体裁は整ったかと思います。あとはこれに機能を追加していくだけですね。次回から機能の実装に入りたいと思います。