またまたマインスイーパーを更新する

 もういい加減にしたらと思われる程マインスイーパーに手を加えています。

 これまでのマインスイパーは、AndEngine の Polygon クラスを使って、盤面ひとパネルずつ形と影を描画していたのですが、パネルの数が多いと重くなります。レベル7は、膨大なパネルの数になり、途方もなく重くなる。
 そこで、パネルの形状と影の部分を純正 Canvas に描画して Sprite 化して、それを使いまわして貼り付ける方法に変更してみました。三角形の右左上下向き、四角形と左右に傾いた形・・・と登場する形と影を改めて Path で描画するプログラムを組み、もうその大変さと言ったら、結果、軽くなったかどうかなんて気にもならない位です。

 作業の中で、三角形の辺の比が間違っていたことがわかりました。だから、拡大すると影の形が歪になってしまっていたのですね。30度・60度・90度の直角三角形の辺の比を3:4:5と計算していた。1:√3:2ではないですか。ケアレスミス。

device-2017-03-07-212409

 ついでなので、作った形の組み合わせで作れる「四角形と上下三角形」「左右斜め四角形と上下左右三角形」の2パターンを追加しました。案の定、周囲の爆弾の数勘定のロジックでやたらと嵌る。

device-2017-03-07-210525 device-2017-03-07-211513

 プログラムリストを穴の開く程見ていたら、やけに同じ計算している部分があったので、パネルごとのステータス管理クラスに数を放り込むように直してややスッキリ。
 更についでに、色を4色追加。色を加えたならば同系色の背景画像も追加せねばと当然追加。
 こうなったら影の形ももう1種類増やして、なんかアイコンも変えたくなってきて、当然メニュー画面のレイアウトも変わるので、ええいタイトルも変えようっと。

device-2017-03-06-001625
 英語のタイトル「Minesweeper Tessellation」に、日本語を「マインスイーパー モザイク」に。ならば、色混じりのモザイク面も作ろうか。

device-2017-03-07-213036

 Tessellation は、平面充填。

https://ja.wikipedia.org/wiki/%E5%B9%B3%E9%9D%A2%E5%85%85%E5%A1%AB

 正平面充填とアルキメデスの平面充填を合わせて11種類のところ8種類をカバーしたので Tessellation を名乗ってもよいかなと思った次第。残り3種類は、番号が振りにくそうな三角形と六角形、大きさがアンバランスな三角形と十二角形、四角形と六角形と十二角形ですね。今のところお腹一杯。

https://play.google.com/store/apps/details?id=com.chabaori.polygonsminesweeper

 色と背景と影とモザイクは、たくさん遊ばないと出てこないぞ。