2048 ゲームの正しいタイルの動き
2048 ゲームでは、タイルはプレイヤーの入力の方向に移動します。これは、タイルの移動を正しく実装する際に課題となります。
マージの問題
現在の実装では、タイルの移動を無視して左上から右下に移動しようとします。プレイヤーの移動方向。ただし、2048 年では、タイルは同じ方向に移動する場合にのみマージされます。
次のシナリオを考えてみましょう:
[2][2][4][0] [0][0][2][2] [0][0][4][0] [0][0][0][0]
プレイヤーが押し下げると、コードは 2 と 4 をマージします。一番下の行では次のようになります:
[0][0][0][4] [0][0][0][0] [0][0][4][0] [0][0][0][0]
ただし、逆方向 (下から上) にマージすると:
[0][0][0][0] [0][0][0][0] [0][4][4][0] [0][0][0][0]
目的のボードが正しく得られます。
解決策
この問題を解決するには、プレイヤーの動きの反対方向にタイルをスキャンします。これにより、タイルが目的の方向にのみマージされるようになります。
コードの最適化
提供されたコードには、移動方向ごとに重複したコードが含まれています。これは、単一ループを使用してすべてのタイルを反復処理し、switch ステートメントを使用して入力方向に基づいて適切なアクションを決定することで最適化できます。
以上が2048 ゲームでタイルを正しく動かすにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。