私は一度に1文字を推測する古典的なハングマンプログラム(GUIは問題ありません)を作ろうとしています。問題は、ユーザーが手紙を推測するときには、「_」の場所を推測された文字(単語内にある場合)に置き換えますが、次の文字が推測されるとき、最後の推測について忘れてしまいます。場所は「_」に戻ります。それは不明だ場合は申し訳ありませんが、ここでの例では、私はコードが仕事をしたいどのように部分文字列の値を変更するにはどうすればよいですか?
Word is tiger,
user guesses "g",
outputs _ _ g _ _,
user guesses "r",
outputs _ _ _ _ r.
です:
Word is tiger,
user guesses "g",
outputs _ _ g _ _,
user guesses "r",
outputs _ _ g _ r.
は、どのように私はこれを達成することができますか?タイガーは単なる例であり、単語は配列からランダムに引き出されていることに注意してください。私はこれを行う唯一の方法は、ブランクの部分文字列の値を変更することですが、私はこれを行う方法がわかりません。今のところ、ユーザは、GUIウィンドウ(人間自身がいる)から手紙を推測し、ボタンを押して回答を提出する。今のところ出力はコンソールに表示されます。
は、ここでプログラムの面倒一部です:これにアプローチする
// guess is the name of JTextPane next to button
// randWord is the word pulled randomly from an array
private void guessLetter() {
guessedLetter = guess.getText();
if (randWord.contains(guessedLetter)){
reveal(); // method below
} else {
wrongGuesses++; // when wrongGuesses adds,
update(); // another body part is added, method not below
}
}
private void reveal() {
int start = randWord.indexOf(guessedLetter); //gets the index of the letter guessed
String print = blanks.substring(0, start) + guessedLetter + blanks.substring(start+1); //reveals the letter
System.out.println(print);//prints the revealed letter in correct spot
}
すでに 'guessedLetter'sが空白の中に保存されていますか? – d9ngle
あなたの質問の絞り込みを試みるべきです。私は完全な解決策には少なくとも50-100行のJavaコードが必要だと思いますが、これは単一の答えには広すぎます。 –
@ d9ngleかなり。 '空白 'の部分文字列が、' guessedLetter'の値を保持していればそれが正しいと思います。投稿の私の例を見てください:) – CodingNinja