はじめに: Silverlight 2.0 (C#) を使用して Lianliankan ゲームを開発します。 遊び方: マウスの左ボタンでカードを選択します。選択した 2 枚のカード間の接続が 3 本の直線以下の場合、選択した 2 枚のカードを削除できます。 。
アイデア
1. カードの初期配置アルゴリズム: コンテナの容量が x、一意のカードの数が y、x >= y && x % 2 == 0 であることがわかっており、まずコンテナ内のカードをランダムに配置してから取り出します。コンテナ内の同じカード 奇数のセットの場合 (セット内のメンバーの数は偶数である必要があります)、最後にセットをボード全体に切り取り、セットの右半分のカードを左半分にコピーします。セットの順に。上記のアルゴリズムにより、特定のランダム レートに基づいて、奇数の同一カードが存在しないことが保証されます。
2. 解なしアルゴリズムと再配置アルゴリズム: コンテナ内に存在するカードのうち、消去可能なパスがペアであるかどうかを計算します。存在しない場合は、解が存在しないため、再配置する必要があります。並べ替える場合は、既存のカードセットとカード位置セットを取得し、カードセットからランダムにカードを取り出し(1枚取り出すと、元のセットから削除されます)、カード位置セットに入れます。既存のカードを置き換える目的を達成するために、順番に並べ替えます。
3. 2 点エリミネーション パス アルゴリズムと最適なエリミネーション パスを選択するアルゴリズム: プレイヤーが選択した最初の点の x 軸方向と y 軸方向のプレースホルダーなしのすべての座標セット (自分自身を含む) と名前を取得します。はそれぞれ x1s、y1s で、プレイヤーが選択した 2 番目の点の x 軸方向と y 軸方向のプレースホルダーなしのすべての座標セット (自分自身を含む) をとり、名前はそれぞれ x2s、y2s です。まず、x 座標が等しい 2 点を x1s で見つけ、削除可能なパスのセットを y2s で見つけます。 2 つのセットの組み合わせは、プレイヤーが選択した 2 つのポイント間のすべての消去可能なパスのセットです。セットが空の場合、その 2 つのポイントは消去できません。セット内の最短のパスが最適な消去パスになります。 - セット内の点接続線はパス コネクタを削除します
4. ゲームは MVVM (Model - View - ViewModel) パターンを使用して開発されています
拡大する