ネイティブ スピーカーではなく、下手な英語で申し訳ありません。GUIでJavaのSimonSaysゲームに取り組んでいます。コーディングは初めてです。コンソールでアプリケーションを動作させることはできましたが、グラフィカルに動作させるのは面倒でした。プログラムは、生成されたシーケンス (secuenciaSimon) からの LinkedList を、ユーザーがボタンを介して入力したもの (secuenciaUsuarioGUI) と比較しますが、問題は、比較メソッドが任意のボタンをクリックすることによって呼び出されるため、simon によって生成されたシーケンスからの LinkedList が呼び出されることです。ユーザーが導入したものよりも大きい。
黄色いボタンコード
private void bAmarilloMousePressed(java.awt.event.MouseEvent evt) {
secuenciaUsuarioGUI.add(3); //Adds the selection to the LinkedList yellow=3
System.out.println("Secuencua Usuario GUI:" + secuenciaUsuarioGUI.toString());
comparaSecuencia();
generaSecuencia(); //Adds another value to the LinkedList
}
コードを比較
public boolean comparaSecuencia(){
for (int i = 0; i < secuenciaSimon.size(); i++) {
//Here the pause should be
if(secuenciaSimon.get(i) != secuenciaUsuarioGUI.get(i)){
System.out.println("Not equal");
return false;
}
}
System.out.println("Equal");
puntuacion += 100; //Score
secuenciaUsuarioGUI.clear(); //Clears the LinkedList From the user
return true;
}
TL;DR プログラムをフリーズせずにさらにコードを実行する前に、GUI のボタンの「n」回の入力を待つ必要があります。
ありがとう