2016-12-06 5 views
1

私はRock、Paper、Scissorsでコンピュータを再生するJPanelプロジェクトに取り組んでいます。私は選択肢の列挙を使用しています。私は、それは彼らが押しどんなボタンであることを「選手の選択」を設定するので、Javaでenum変数を呼び出す

enum Choices {rock, paper, scissors} 

のように設定して、今、持っている私は

を実行しようとするとき、私は今、

if (event.getSource() == rock){  //Makes it so when you press rock button, your choice is rock 
    Choice playerChoice = Choice.rock; 
} 

を持っていますが、

if (playerChoice == Choice.rock) 
    if (cpuChoice == Choice.scissors) 
     playerWon = true; 

..というように、それぞれのオプションで、 "playerChoice"に記号が見つからないというエラーが表示されます。何か案は?前もって感謝します!

編集:「if文の外部で変数を使用する」ことをお勧めしましたが、その人はその変数を初期化してインスタンス化していました。私はすでにenumを初期化しています。

答えて

1

Choice playerChoiceの範囲を変更する必要があります。

そう:

Choice playerChoice 
if (event.getSource() == rock){ 
    playerChoice = Choice.rock; 
} 

if (playerChoice == Choice.rock) 
    if (cpuChoice == Choice.scissors) 
     playerWon = true; 
+0

を申し訳ありませんが、それはタイプミスでした。列挙型の名前とテストは同じですが、列挙型の名前に "s"を追加するつもりはありませんでした。 – Cythix

+0

@Cythix私は自分の答えを更新しました。 – BlackHatSamurai

+0

それを修正しました!どうもありがとうございました – Cythix

関連する問題