学習を目的としてKotlinでテトリスのようなものを作る ①

学習を目的としてKotlinでテトリスのようなものを作る ①


Kotlinでのプログラミングを学習するためテトリスのようなものを作っていきます。
Kotlin習得のためなるべくプログラムだけで実装したいと思います。

一から冷静に始めていきたいと思います。


プロジェクト作成


プロジェクトを作成します。
LanguageにKotlinを選択します。

図形表示させる


テトリスで使う図形は四角形と線ですかね。
この二つで何とか表現できるかと思います。
これらを表示するための処理はひとまずMainActivity.ktに記述していきます。

四角形を表示させます。
図形を表示させる場合、PaintクラスとCanvasクラスを使用するようです。


次は線を表示します。
線でフィールド(フィールドという言い方が正しいかはわかりませんが)を表現します。
表示する場所は真ん中周辺にしておきます。
onDrawメソッドに以下の記述を追加します。


これでテトリス作成に当たり必要なものを表示することができました。
しかしこのまま進めていくとすべての処理をMainActivityに書くことになってしまうため、ソースコードの整備をしま
以下のファイルを追加します

  • 図形を表示するクラス
  • ブロックに関する処理を行うクラス
  • フィールドに関する処理を行うクラス
  • パラメーターを記述するファイル(Const.kt)


図形の位置や大きさを定義するファイルです。
ここにパラメーターを追加していきたいと思います。

ブロックの体裁を整える


今は四角形一つだけが表示されている状態ですので、
テトリスらしく複数の四角形を組み合わせてブロックを数種類作成します。

Const.ktに以下の記述を追加します。
ひとつの四角形を中心にそこからオフセットを指定してブロックを作成します。
その値を配列で定義します。
今はとりあえず4種類ですね。


上で定義した配列をブロッククラスが受け取るようにします。
そしてその配列をループで回しブロックを表示する処理を追加します。


そしてGraphicクラスから以下のようにして呼び出します。


これを実行するとこのようになりました。


これで体裁は整ったかと思います。
あとはこれに機能を追加していくだけですね。
次回から機能の実装に入りたいと思います。