ブロックの隙間を作るコード

日経ソフトウエアの2013年4月号にスマートフォンで動くテトリスもどきのプログラムが掲載されていた。
わたしは、テトリスのブロックの表示の仕方が面白いと思った。

テトリスの画面イメージ(日経ソフトウエアの記事をもとに作成)

正方形を一つのブロックとして表示して、それをそのままブロックのタイプとして表示するとくっついたブロックになってしまう。

くっついたブロック

cnt.fillRect(j*bs, i*bs, bs-1, bs-1); // bsはブロックサイズ。1引いているのはブロック同士の隙間を入れるため

この様なちょっとしたコードでブロックの隙間を制御できるのだ。わたしは頭が悪いのでこうしたところに感心してしまう。
正方形のブロックを表示する際、正方形の位置は、ブロックの幅を元に計算し、ブロックの幅と高さは隙間のサイズ分マイナスしている。

コメント

タイトルとURLをコピーしました