我试图在Java中制作小型赌博游戏,用户有两种选择。
一个TextField,他可以用他想要下注的数量写一个ComboBox,在那里他可以选择他有多少机会获胜。 comboBox提供10%,20%,30%,40%和50%的选项。
我的问题是我不知道如何在java中应用概率。我尝试过以下方法:
public class GamblingGame {
private int rdmNumber;
private int wonValue;
public int winOrLose(int valueBetted, int precentToWin, Label label, int attempts){
precentToWin = precentToWin/10;
rdmNumber= ThreadLocalRandom.current().nextInt(precentToWin, 10 +1);
System.out.println("this is rdmnumber: " + rdmNumber);
System.out.println("this is precentowin number: " + precentToWin);
//if the number you rolled is equal to the precent you choose (ie if its 10, the number is 1, if its 20 the number is 2)
if(rdmNumber == precentToWin) {
wonValue = valueBetted/precentToWin *2;
System.out.println("You win!");
label.setStyle("-fx-text-fill: green");
label.setText("You won! You recieved: " + wonValue+" coins!");
}
else{
label.setStyle("-fx-text-fill: red");
label.setText("Gamble failed! You lost: " +valueBetted + " coins. ("+attempts+")");
wonValue = -valueBetted;
}
System.out.println(wonValue);
return wonValue;
}
}
问题在于,例如,如果用户在组合框中投入50%,他将无法获得真正的50%获胜机会。
骰子需要在这里滚动的数字是5才能获胜,最大值是10.因此用户可以在5-10之间滚动一个数字,当他达到5时,他就赢了。
我如何才能使掷骰子的百分比达到真正的50%? (当然不会破坏它,所以如果我把差异作为参数,它不会破坏方法)
答案 0 :(得分:0)
尝试Random
Random random = new Random();
int i = random.nextInt(100);
if(i<50){
//do something
}
答案 1 :(得分:0)
你尝试这个功能怎么样?
private static Random rd = new Random();
public static boolean winner(int prob)
{
int value = rd.nextInt(100);
System.out.println("GOT: "+value+" probability of winning:"+prob+"%");
if(prob>value)
return true;
else
return false;
}
在这种情况下,概率num应该大于获得的随机数。
所以,如果你运行它..它将工作
public static void main(String[] args) {
//sure winner
System.out.println(winner(99));
//random winner
System.out.println(winner(50));
//not a chance
System.out.println(winner(10));
}
答案 2 :(得分:0)
非常感谢两位回复的人!它让我意识到我所要做的就是改变跟随。
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: "expandableHeaderView") as! ExpandableHeaderView
header.customInit(Productname: mijnproducten01[Mijnproducten].productname, Productdesc: mijnproducten01[Mijnproducten].productdesc, section: section, delegate: self)
//print("print", mijnproducten01)
return header
}
所以现在,它所看到的数字总是1-10,但正确的数字不是一个数字,而是多个数字。
再次感谢!