4

Unblock Me という iPhone 用の人気ゲームがあります。目的は、赤いブロックの前にあるすべての障害物を取り除き、出口への明確な道を作ることです:

ここに画像の説明を入力

このゲームのランダムなボードを生成する賢明な方法は何ですか? 私はこれらの線に沿って何かを考えています:

  1. 赤いブロックを出口に置きます。
  2. 赤いブロックの周りに M 個のブロックをランダムに配置します。
  3. 赤いブロックがブロックされるまで N 回ランダムに移動します。
  4. 各レベルで M または N を増やします。

モバイル デバイスの CPU パワーと RAM は限られているため、効率が重要であることに注意してください。

4

1 に答える 1

2

私はそのゲームをたくさんプレイしたので、ここにいくつかの考えがあります:

  • 単純にN回のランダムな動きを行うだけでは、必ずしもレベルが難しくなるわけではありません。nがNより大幅に小さいn回の移動で解決できる状態になる可能性があります。
  • レベルは、デスクトップ マシンで生成され、モバイル ゲームに単純に含まれます。これにより、はるかに徹底的な検索 (ほとんどの場合、ツリー ベースでバックトラックを使用) が可能になり、レベルを解決するために少なくとも特定の数の移動が必要であることを確認できます。レベルが難しくなればなるほど、もちろんより多くの動きが必要になります。
  • アルゴリズムにさらに知識を加えることができます。赤いピースを通過させたい場合は、長さ 3 の垂直ピースを下の位置に配置する必要があります。これにより、レベルを解決する方法が制限されます。これにより、特にそこに複数の垂直ピースがある場合、レベルがより難しくなる可能性があります.
于 2012-09-02T13:09:38.827 に答える