我在为一个大学项目做老虎机。网上有很多类似的项目,但是对我的项目的要求略有不同。我的任务是:
玩家以£1学分,每次20便士。
如果水果机“滚动”两个相同的符号,用户赢得50便士。
玩家获胜£三个相同的和£3个钟5个。
玩家输了£1如果两个头骨被卷起,他/她的钱如果三个头骨被卷起。
玩家可以选择退出与奖金后,每卷或继续玩,直到没有钱了。
到目前为止我想到的是:
for ( int runCount = 1; runCount <= 3; runCount ++ ) {
int symIndex = r.nextInt(6);
if (symIndex == 0) {
symbol = "cherry";
} else if (symIndex == 1){
symbol = "orange";
} else if (symIndex == 2){
symbol = "lemon";
} else if (symIndex == 3){
symbol = "bell";
} else if (symIndex == 4){
symbol = "star";
} else if (symIndex == 5){
symbol = "skull";
}
if (runCount == 1){
reel1 = symbol;
} else if ( runCount == 2 ){
reel2 = symbol;
} else if ( runCount == 3 ){
reel3 = symbol;
}
}
System.out.println(reel1 + " " + reel2 + " " + reel3);
这是伟大的,吐出3个随机符号,但我需要的是一种方法,是它以某种方式对待钟和头骨符号不同。一定有比在if语句中写出所有可能的组合更简单的方法。在其他所有的项目中,我都看到过这样的获奖声明
if (reel1 == reel2 && reel1 == reel3 && reel2 == reel3)
System.out.println("You have won!");
但是如果我这样做的话,它不是定义实际的符号,而是把它存储在一个卷轴变量中,这样我就不能为那些特定的结果做if语句。
任何帮助都将不胜感激。即使你能告诉我如何恰当地表达我的问题,这样我就可以搜索它会很有帮助
1条答案
按热度按时间osh3o9ms1#
我改变了一些。而不是存储3个唯一字段
reel1
,reel2
以及reel3
您可以重用用于控制for循环的计数器变量,将所选符号放入数组中。注意:您需要从0开始计数器,但这几乎没有区别。接下来从卷轴收集数据(感兴趣的符号计数)。最后检查胜负结果的统计数据。这将是一堆
if, else-if
声明。