2016-12-06 108 views
1

我正在开发一个JPanel项目,您可以在Rock,Paper,Scissors中播放计算机。我使用枚举的选择。我有它设置像这样在Java中调用枚举变量

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语句之外的变量”,但在此之上,人正在初始化和实例化里面的变量。我已经初始化它的枚举。

回答

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