1
私はハングマンゲームを作っています。私はほとんどそれを終えましたが、私が書いたコードは、隠れた言葉で推測された文字で置き換えられる2つ以上の場所があるときはいつでも、最初のもののためだけに働きます。例えば、見つかる単語が「ボール」であり、ユーザが「b_ll」の代わりに「b」および「l」を入力すると、彼が隠れた単語として戻す単語は「b_l_」である。これは、ユーザが最初に文字を入力するので、奇妙な運動の一種です。それぞれの推測の後にフィードバックを得ることはありません。ここにコードがあります。ハングマンゲームで不足している文字をすべての場所に埋め込みます。
for (int c = 0; c < guessedLetters.length(); c++)
{
if (wordToBeFound.contains(Character.toString(guessedLetters.charAt(c))))
{
hiddenWordChars[wordToBeFound.indexOf(guessedLetters.charAt(c))] =
guessedLetters.charAt(c);
}
}
ありがとうございます。
注:ループのガード条件では、 'str.toCharArray()'をコールしないでください。これは、呼び出されるたびに文字列の文字を新しい配列にコピーします。つまり、各ループの繰り返しを意味します。 'str.length()'を使うだけです(とにかく 'str.toCharArray()。length'を使う必要があります)。さらに、 '[]'で文字列にインデックスを付けることはできません。 –
少々の変更を加えても、これを解決してください。ポイントは、ロジックが上手だということです。ありがとうございました! – Leet