正方形の半分





すべてのモバイルゲームでは、通常のグリッドが使用されますが、これもマトリックスです。 1つのグリッドが常に見えています-これはMxNサイズの電話スクリーンです。 さらに、 Tetris and Linesでは、他のゲームグリッドが明確に表示されます。 AAAゲームでは、マトリックスは隠されていますが、マトリックスが存在することはわかっています。 そして、はい、緑は最も危険です。



グリッドを使用する場合、非常に多くの甘い問題があるため、できるだけ早く解決したいという欲求から、指から汗がキーボードに滴り落ちます。 そのようなタスクの1つは、マトリックスにランダムな値を入力することです。 たとえば、4色の24個のボールで満たす必要がある5x5グリッドがあります。 各色の6つのボールと1つの穴があるはずです。 擬似コードは次のようなものです。



var items = [Int]() let nItems = 25 let nColors = 4
      
      







 // init array items items.append(0) for j in 1...nColors { for _ in 1...6 { items.append(j) } } // shuffle for _ in 1...1000 { let k = microsoft_rand(nItems) let j = microsoft_rand(nItems) let m = items[k] items[k] = items[j] items[j] = m }
      
      





コードとアルゴリズムをさらに美しくしましょう。 「 より美しい 」という言葉は恐ろしいように聞こえますが、同意します。 時々、コードが美しいほど、 クラッシュが近くなります。



 let nItems = 25 let nColors = 4 var items = [Int]() // init array items for j in 0..<nItems { let k = 1 + j % nColors items.append(j==0 ? j : k) } // shuffle for j in 0..<nItems-1 { let k = j + microsoft_rand(nItems-j) items.swap(k,j) }
      
      





最後の4行には、フィルがにやにや笑い、PHPにはメソッドがあります。



 items.shuffle()
      
      





ただし、テキストは2倍短くなりました。 コードは40倍高速です。 おそらく、ボールのアルゴリズムを長い間やり直すことができます。 しかし、正直なところ、ボールはそれとは何の関係もありません。 主なテーマは正方形であり、2つの方法で2つの等しい半分に斜めに分割されます。 結果の半分を使用して、マトリックスに入力し、出力で良いゲームを取得する必要があります。



ミートハーフ2048



ゲームでは、半分から正方形を回収し、フィールド全体をクリアするだけです。 ゲームコントロール-2048などのアプリケーションとまったく同じ-画面を上下または左右にスワイプします。



ゲームを作成するとき、私は別の人になり、アーティストも人であり、彼らの作品の物質的な評価が必要であることに突然気付きました。 したがって、私は15ドルで女の子のアーティストから写真と背景を買いました。 ミュージシャンは別の問題です。 彼らは地下道で稼ぐことができます。



わかった もちろん、画像を少し編集する必要がありましたが、私はそれらをあまり台無しにしなかったと思います。



購入した写真には、15レベル用に設計されたメニューがありました。 デザインに合わせて15種類のゲームプレイをしなければなりませんでした。 プレイボーイとゲームプレイ。 おかしいのは姓かもしれません。 ゲームのさまざまなレベルでの製作の結果、3x3、5x5、7x7、9x9マトリックスのサイズとゲームプレイのタイプが変化し始めました。 最初のオプション-クラシックパズル-最小限の動きでボードをクリアします。 2番目のオプションは動的です-各動きの後、2、4または6半分がボードに落ち、競技場を埋めようとします。 できるだけ長く待たなければなりません。 最初のオプションは、プレイヤーのライフの1分かかります。 2番目のオプションでは、ベオグラードとリュブリャナ間のフライトが最大1時間かかることがあります。



コードをすばやく盲目にして、テストを開始しました。 レベルを調整する必要がありました-おおよその数の動きを得るために、パズルを追加して評価を調整できます。 たとえば、8手で5×5のボードを解くことができましたが、最初は信じられないほどでした。



私はiPhoneを持たない人にタスクを提供することを敢えて







Unixoidソリューション
4,3,5,2,4,3,5,2,5,2、

左2

3右

4アップ

5ダウン



ビデオソリューション




終わりのないゲームの場合、落下する半分の数を選択する必要がありました-驚くべきことですが、9 x 9ボードの場合、各プレイヤーのターン後に7-8個の落下オブジェクトが必要です。



パブリケーションに問題はありませんでした。 1月22日、確認のためにゲームを投稿しました。 24日の夕方、彼女はレビューを行い、さらに1時間後に彼女は販売の準備ができました。 特に地元のリンゴの木については、無料で宣言され、記録を待っています。 最良のソリューションのシーケンスを密かに保存するなど、すべての結果をクラウドに収集します。



ご清聴ありがとうございました。



All Articles