我一直在我的介绍班上工作,我差不多完成了我的最后一个项目,基诺。它是一个投注游戏,根据您与经销商匹配的数量来奖励金钱。我在投注方面存在问题,他们从100美元开始,并被要求支付一定数额的钱。我不知道哪种方法可以继续工作,因为我的方法不是空洞,所以我不能返回多个数据值。
我的第二个问题,也许更重要的问题是,它们需要是唯一的数字。要做到这一点,我需要每次搜索数字数组,看看它们是否匹配,或使用一组布尔值来跟踪数字。我不知道我会怎么做第二个,但我很清楚我会用第一个做什么。问题是即时通讯已经使用了do,我不知道如何添加带有嵌套for循环的for循环。这是我的代码,对不起,如果它凌乱,我知道我的老师讨厌我的花括号:
package Keno;
import cs1.Keyboard;
public class Keno {
public static void main(String[]args){
int userArr[]=user();
int compArr[]=computer();
int howMany=matchNums(compArr,userArr);
int moneyGained=betting(howMany);
System.out.println("You matched "+howMany+" numbers");
System.out.println("You have gained "+moneyGained+" dollars!");
}
public static int[] computer(){
int []compChoice=new int[20];
for(int x=0;x<compChoice.length;x++){
compChoice[x]=(int)(Math.random()*81);
}
return compChoice;
}
public static int[] user(){
int choice[]=new int[7];
System.out.println("Welcome to Keno!");
System.out.println("Choose 7 unique numbers ranging from 1-80");
System.out.println("*************************************************");
//assigns numbers to choice array
for(int x=0;x<choice.length;x++){
do{
int temp=x+1;
System.out.println("number "+temp+": ");
choice[x]=Keyboard.readInt();
}while(choice[x]<0||choice[x]>80);
}
System.out.println("Thanks!");
System.out.println("*************************************************");
return choice;
}
public static int matchNums(int arr1[], int arr2[]){
int count=0;
//checks each array slot individually to see if they match
for(int x=0;x<arr1.length;x++){
for(int y=0;y<arr2.length;y++){
if(arr1[x]==arr2[y]){
count++;
}
}
}
return count;
}
public static int betting(int matches){
int moneyGained=0;
if(matches==7){
moneyGained=12000;
}else if(matches==6){
moneyGained=200;
}else if(matches==5){
moneyGained=20;
}else if(moneyGained==4){
moneyGained=1;
}
return moneyGained;
}
}
答案 0 :(得分:0)
添加投注/金钱概念的最简单方法是添加一个整数,表示玩家拥有多少钱(从100开始)。你将不得不问玩家他们想要多少赌注,然后相应地调整他们的钱。
public static void main(String[] args) {
int playerMoney = 100;
int wagered = getWager(); // dont forget it has to be 0 < wagered <= 100
// adjust players money according to the wager, and how much they won
为了确保唯一性,您的任何一个想法都可行。我只想检查数组中已存在的数字,但是大小为80的布尔数组也可以。虽然只有7个数字似乎很多。