私はユーザーがゲームで隠し文字を見つけることができるAndroidアプリケーションで作業しています。これらの文字はArrayListに追加されます。文字が表示され、利用可能な文字を使用して5文字の単語を入力できます。私の問題は、手紙が使用されるときです。私はそれをarraylistから削除して、ユーザーがそれを再び使用できないようにしたいと考えています。例えば。ユーザーはこれらの文字を収集しました。 彼は単語minisを入力します。これは 'i'を2回使用し、ユーザーは 'i'を1つだけ使用できるので、これは受け入れられません。私は使用された各文字を取り除くために各反復で例を挙げたいと思います。その部分の私のコードは以下の通りです。カウンターは、単語が有効かどうかを調べるために使用されます。ユーザーの入力で見つかるたびに、文字のArrayListから文字を削除
public void checkValidWord(){
for(int i = 0; i < answerWord.length(); i++){
for(Character letter: LettersCollected){
if(answerWord.charAt(i) == letter){
LettersCollected.remove(answerWord.charAt(i));
counter ++;
}
}
}
if(counter == 5){
// for(int i = 0; i<answerWord.length(); i++){
// LettersCollected.remove(answerWord.charAt(i));
// }
calculateScore();
}else{
//Display error message that user does not have letter used available
}
より良い命名標準のために「lettersCollected」あなたは正確に何を求めている「LettersCollected」? –
私の問題は、使用可能な単語のarraylistからユーザーの入力に使用された各文字を削除して、2度使用できないようにする方法です。私のコードは現在クラッシュしています。したがって、入力の文字が利用可能な文字と照合される各反復で、使用可能な文字のarraylistから削除された文字を使用したい – Nicholas
利用可能な文字のarraylistに2回表示される場合、ユーザーは2回だけ文字を使用することができます。 – Nicholas