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

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

 これまでのマインスイパーは、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

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

ブラウザ上でアプリが試せる

 お久しぶりです。

 自分のアプリをもっと宣伝したいなと思い、ネット上で宣伝方法を探していたら、Fiiser(飛捜)という台湾企業が、iTunes AppStore や Google Play などの複数のモバイルアプリを試用できる検索エンジンを運営しているのを見つけました。
 Fiiser のクラウド上にアプリをインストールしていて、ブラウザ上で擬似的にそのアプリを試すことができるようです。

 拙作「多角形マインスイーパー」を埋め込んでみました。

 きちんと動いて、すごいね。

 もっとも、chabaori soft のアプリはどれも無料なので、試用するも何もインストールして気に入らなければ、アンインストールするだけですけどね。
 アプリ宣伝には、わかりやすくて便利です。

 著作権やら何やらは大丈夫なのでしょうか。恐るべし台湾企業。

Mine Sweeper を更新しました。

 2014年2月に多角形バージョンのマインスイーパーを作って公開していたのですが、10月にfastertoveさんから「一手目で爆死しちゃうのって、どうよ?データを2種類用意して一手目で差し替えてみたら。」(かなり意訳)といったアドバイスと共に星4つをいただいたので、がぜん張り切って直してみました。

 まず、イメージカラーを5種類用意して切り替えられるようにしました。
device-2015-10-28-014430
 グレーの市街戦をイメージ。
 アドバイスとは全く違う部分から手を付けていますが、見た目変わらないと直した気がしないしね。

 元々の岩場をイメージしたレッド
device-2015-10-28-014542
 砂漠をイメージしたイエローを加え
device-2015-10-28-014628
 海中のブルー
device-2015-10-28-014708
 ジャングルのグリーン
device-2015-10-28-014805
 ゲーム性は何ら変わらないのですが、背景も変わるからね。気分が違う。と思う。

 で、お約束の一手目では爆死しないように調整。ほら、地味だ。

 1年半ぶりの手直しです。
 ぜひ遊んでみてください。Google Play のページ

 アンドロイダー公認デベロッパー認証  押してにほんブログ村 IT技術ブログ Androidアプリ開発へ応援

パズルゲーム「カラフルフロア」をスリム化

 顔検出はサボり気味です。

 プログラムを足すのには時間がないので、引く作業をメインにしていました。
 パズルゲーム「カラフルフロア」のメニュー画面のアニメーションを引き、「おすすめアプリ」広告を引き、画面キャプチャー機能を引いてスリム化。
device-2014-12-21-134039
 とは言え、近いうちにエディット画面を足そうと考えているので、その準備でもあるわけです。
 
 今は、内部で管理しているステージデータ、例えば

3040409006409002609002356090001000359002609002549002540
0200000547000403590011000100000605000700010000070900300

を外部出力用に

(Da?D23ITO7T37<MT9c2E284W1b7OIT781JdMmBa)0p2FD2E0g5

と圧縮する部分を考えています。

 ブロックソートをかけ、MoveToFront と ランレングス を施し、内部辞書で置き換えまでしているというデータ長の割には重厚な処理です。
 その結果が、前の例なので無駄な処理をしてるっぽい。
 もっとシンプルに圧縮できそうですね。
   
 ic_launcher-web