2009-08-06 37 views
-2

私は4 * 4グリッドを含むゲームを作っています。ユーザは文字を入力し、ゲームは文字を強調表示しなければならず、それらは互いに隣り合っていなければならない。このアルゴリズムの擬似コード

私は、現在の文字が最後の文字の隣にある(または隣接している)かどうかを調べるサブを持っています。基本的には何が起こる必要がある:各文字について

:グリッドを通して 反復処理し、すべての可能性を試し、それは前の文字の隣にあり、現在の文字がターゲット文字

に一致した場合、それはすべての可能性を試みますレターごとに16 ^(文字の数)を反復する必要があります。

誰かが正しい方向に私を導くか、私にもっと良いアルゴリズムIDを与えることができれば本当に感謝します。

私はvb .netを使用していますが、擬似コードも使用しています。

おかげ

+3

ゲームのポイントをより明確に説明できますか? – Sev

+0

私は、グリッドの例とハイライト表示が目的の動作を明確にするかもしれないと思います。 私が持っている質問は、(ABCを入力すると仮定して)プログラムがすべてのAを強調表示する必要があるかどうか、次にすべてのAとBが隣接しているかどうか、そしてCに隣接するBに隣接するすべてのAです。あれは正しいですか? –

答えて

1

私は、グリッドがどのように見える可能性があり、この権利を取得した場合:

ABCD

BADC

CCAB

DBCA

次に、ユーザが入力する必要がありますABCDBAをなど勝つために?

最初のキーストロークが一致したすべての位置を覚えておけば、ユーザーがAを押したとすると、インデックス0,5,10,15がマークされます。

次のキー押下は、キー押下のグリッドチェック0 + 1,5 + 1,10 + 1および15 + 1のすべての項目をチェックする現在の次のキー押下の場合にのみ有効です。

ユーザーがDを押すと、インデックス1がDインデックスではないことがわかります。6は本当にDなので、それをマークするなどです。

関連する問題