Java老虎机插槽比较故障
我一直在为课堂上的老虎机程序工作,一直很难弄清楚如何比较机器上的不同“老虎机”,以确定是否有匹配,并告诉程序如何继续计算奖金。我最初想将随机数生成器的每个结果存储在一个变量中,然后比较它们,但不确定如何做到这一点。不幸的是,我无法使用数组、列表或类似的东西。提前谢谢,如果我的代码看起来很邋遢,我很抱歉Java老虎机插槽比较故障,java,Java,我一直在为课堂上的老虎机程序工作,一直很难弄清楚如何比较机器上的不同“老虎机”,以确定是否有匹配,并告诉程序如何继续计算奖金。我最初想将随机数生成器的每个结果存储在一个变量中,然后比较它们,但不确定如何做到这一点。不幸的是,我无法使用数组、列表或类似的东西。提前谢谢,如果我的代码看起来很邋遢,我很抱歉 import java.util.*; //Start Program public class Slots { public static void main(String[] args) {
import java.util.*;
//Start Program
public class Slots
{
public static void main(String[] args)
{ //Start Main
//=====Declare Variables=====
int pool = 0,
won = 0,
slot_disp = 0,
slot0 = 0,
slot1 = 0,
slot2 = 0,
slot3 = 0,
slot4 = 0,
matches = 0,
bet = 0;
boolean again = true;
String msg = "",
ans = "";
Scanner key = new Scanner(System.in);
//=====Welcome and Start=====
System.out.println("\t* * * Welcome to SLOTS * * *");
System.out.print("\nEnter amount of money to play: ");
pool = key.nextInt();
while(again)
{
System.out.print("\nEnter your bet: ");
bet = key.nextInt();
while(bet < 0 || bet > pool)//-----Bet Validation-----
{
System.out.println("\tInvalid bet of : " + (double)bet);
System.out.println("\tFunds available: " + (double)pool);
System.out.print("\tRe-Enter bet : ");
bet = key.nextInt();
}
System.out.print(" ");
for(int cntSlot = 0; cntSlot < 5; cntSlot++)
{
Random rand = new Random();
slot_disp = rand.nextInt(5);
//=====Converting Random Number into Slot Display=====
switch(slot)
{
case 0:
msg = "Cherries";
break;
case 1:
msg = "Oranges";
break;
case 2:
msg = "Plums";
break;
case 3:
msg = "Melons";
break;
case 4:
msg = "Bars";
break;
}
System.out.print(msg + " ");
}//-----End Slot Conversion Loop-----
//=====Comparing Slot Output to Determine Winnings=====
switch(matches)
{
case 2:
won = 0;
break;
case 3:
won = bet * 2;
break;
case 4:
won = bet * 3;
break;
case 5:
won = bet * 4;
break;
default:
won = 0;
}
(double)(pool = (pool - bet) + won);
//=====Displaying the Results=====
if(matches == 5)//-----Jackpot-----
{
System.out.println("\n\n * * * You hit the JACKPOT * * *");
System.out.println("You Won: " + won);
}
if(matches > 2 && match < 5)//-----Winner-----
System.out.println("\n\nYou WIN: " + won);
else
System.out.println("\n\n\nNo matches, sorry you lost.");
if(pool <= 0)//-----Game Over-----
{
System.out.println("\n> > > You ran out of money. < < < ");
System.out.println("\nRestart the game to play again");
again = false;
break;
}
else
System.out.println("\nAvailable money: " + (double)pool);
//=====Asking User if they want to Continue=====
if(pool > 0)
{
System.out.print("\nWould you like to play again (y/n): ");
ans = key.next();
}
if(ans.equalsIgnoreCase("y"))
again = true;
else
again = false;
}
System.out.println("Game over, cash out: " + (double)pool);
System.out.println("\nThanks for playing the Slots!");
} //End Main
import java.util.*;
//启动程序
公务舱舱位
{
公共静态void main(字符串[]args)
{//启动主
//====声明变量=====
int pool=0,
韩元=0,
插槽显示=0,
slot0=0,
slot1=0,
slot2=0,
slot3=0,
slot4=0,
匹配项=0,
bet=0;
布尔值=真;
字符串msg=“”,
ans=“”;
扫描仪键=新扫描仪(System.in);
//====欢迎并开始=====
System.out.println(“\t***欢迎使用插槽***”);
System.out.print(“\n输入要播放的金额:”);
pool=key.nextInt();
同时(再次)
{
System.out.print(“\n输入您的赌注:”);
bet=key.nextInt();
while(下注<0 | |下注>池)/----下注验证-----
{
System.out.println(“\t有效赌注:”+(双)赌注);
System.out.println(“\t可用资金:”+(双)池);
系统输出打印(“\t输入赌注:”);
bet=key.nextInt();
}
系统输出打印(“”);
对于(int-cntSlot=0;cntSlot<5;cntSlot++)
{
Random rand=新的Random();
slot_disp=rand.nextInt(5);
//====将随机数转换为插槽显示=====
交换机(插槽)
{
案例0:
msg=“樱桃”;
打破
案例1:
msg=“橙子”;
打破
案例2:
msg=“李子”;
打破
案例3:
msg=“瓜类”;
打破
案例4:
msg=“酒吧”;
打破
}
系统输出打印(msg+“”);
}//-----端槽转换回路-----
//====比较插槽输出以确定奖金=====
开关(匹配)
{
案例2:
韩元=0;
打破
案例3:
韩元=赌注*2;
打破
案例4:
韩元=赌注*3;
打破
案例5:
韩元=赌注*4;
打破
违约:
韩元=0;
}
(双人)(池=(池注)+韩元);
//======显示结果=====
如果(匹配==5)/----头奖-----
{
System.out.println(“\n\n***您中了大奖***”);
System.out.println(“您赢了:+Won”);
}
如果(比赛>2场和比赛<5场)/----获胜者-----
System.out.println(“\n\n您赢了:“+won”);
其他的
System.out.println(“\n\n\n没有匹配项,很抱歉您丢失了。”);
如果(池0)
{
System.out.print(“\n是否要再次播放(y/n):”;
ans=key.next();
}
if(ans.equalsIgnoreCase(“y”))
再次=正确;
其他的
再次=假;
}
System.out.println(“游戏结束,套现:”+(双)池);
System.out.println(“\n播放老虎机的坦克!”);
}//末端总管
}使用
int[]hits=newint[5]代码>为每个值存储选择频率的数组。循环中的增量<代码>命中次数(插槽)+=1代码>。稍后,在数组上循环以查找最大值