-1
我正在開發一個像Simons說的「遊戲」。我有七個聲音在一個JFrame驗證按下按鈕
我需要重現例如「做」的說明,然後用戶必須按相同的音符。應用程序必須重新生成「執行」註釋然後「重新」,並且用戶必須按該順序按相同的註釋。 所以我創建了一個開始按鈕,並且第一個聲音將在幾秒鐘後被複制... 我的疑問是,如何驗證用戶按下的按鈕是否已響起按鈕?
這是啓動按鈕的代碼:
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
try {
//delay the sound
Thread.sleep(2000);
sonido("do");
//mark the border of the played sound
jButton1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 255, 255), 3, true));
//show in a label the name of the played sound
jLabel1.setText("DO");
} catch (LineUnavailableException | IOException | UnsupportedAudioFileException | InterruptedException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
這是「做」按鈕(所有其他按鈕都一樣只是改變參數的SONIDO法)
代碼private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
setButtonstoNull();
if(evt.getSource()==jButton1){
try {
sonido("do");
jButton1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 255, 255), 3, true));
} catch (LineUnavailableException | IOException | UnsupportedAudioFileException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
我該如何比較?如果有這樣的比較應該在開始按鈕方法?
如果有人能指導我,非常感謝
生成聲音的List(或代表聲音的名稱,可能使用'enum's)播放此列表。當用戶點擊一個按鈕時,檢查按鈕是否與預期的聲音相匹配。我會做的是實際上有一個「播放器」列表,這是原來的「播放」列表的副本,當用戶做出正確的猜測時,會從列表中刪除第一個元素,你總是隻是檢查第一個元素,只要他們做出錯誤的猜測,你可以清除這個'List'並重放原始的「play」'List'並重新開始 – MadProgrammer
這個列表似乎是個好主意,我會嘗試,謝謝你爲你回答 –