该程序应模拟滚动两个骰子,并计算和。添加一个循环,使程序可以玩10,000个游戏。添加计数器,计算玩家赢了多少次,输了多少次。在10,000场比赛结束时,计算获胜的概率[即赢/(赢+输)]并输出该值。从长远来看,谁会赢得最多的比赛,你还是房子?注意:要生成一个随机数x,其中0x≤<1,使用x=math.random();例如,乘以6并转换为一个整数,结果是一个介于0和5之间的整数。
public class Dice
{
public static void main(String[]args)
{
//declaring variables
int comeOutRoll1, comeOutRoll2;
int roll1, roll2;
int numW, numL;
int sum, sum2 = 0;
int thePoint = 0;
double probability;
//initializing variables
comeOutRoll1 = (int)(Math.random()*5);
comeOutRoll2 = (int)(Math.random()*5);
sum = comeOutRoll1 + comeOutRoll2;
numW = 0;
numL = 0;
for(int timesPlayed = 0; timesPlayed <= 10000; timesPlayed++)
{
switch(sum)
{
//adds how many wins and losses
case 2:
numL = numL +1;
break;
case 3:
numL = numL + 1;
break;
case 12:
numL = numL + 1;
break;
case 7:
numW = numW +1;
break;
case 11:
numW = numW +1;
break;
case 4:
thePoint = sum;
break;
case 5:
thePoint = sum;
break;
case 6:
thePoint = sum;
break;
case 8:
thePoint = sum;
break;
case 9:
thePoint = sum;
break;
case 10:
thePoint = sum;
break;
//if not any of these cases roll again
default:
roll1 = (int)(Math.random()*5);
roll2 = (int)(Math.random()*5);
sum2 = roll1 + roll2;
break;
}
if(sum2 == thePoint)
{
numW = numW +1;
}
else if(sum2 == 7)
{
numL = numL +1;
}
}
probability = (numW/(numW+numL));
System.out.println("Number of Wins: " + numW);
System.out.println("Number of Losses: " + numL);
System.out.println("The probability of winning is: " + probability + " percent");
}
}
2个问题...
float
或double
。IEprobability=(float)numw/(numw+numl);
在伪代码中,使用helper方法:
// returns the random integer between 1 and 6 inclusive
method rollDie()
// returns the sum of a random roll of 2 dice
method rollDice()
return rollDie() + rollDie()
// return true if the player won given the point
method won(point)
roll = rollDice()
if roll == 7 return false
if roll == point return true
return won(point)
// main
define wins variable (you don't need a losses variable. losses = 10000 - wins
loop 10000 times {
comeOut = rollDice()
if comeOut in (7, 11) or (comeOut not in (2, 3 or 12) and won(comeOut))
wins++
}
probability = (float)wins/10000
我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:
对不起...这可能是愚蠢的问题,但我是Java的初学者 我应该创建一个骰子滚动游戏。规则很简单,如果计算机的数字比玩家多,那么计算机赢,如果玩家的数字多,那么玩家赢。我必须使用If语句创建这个…但是我得到了一个错误,说“非静态变量不能从静态上下文引用”,也得到了一个错误,说“不能找到符号赢家”,我不知道如何做到这一点…非常感谢你的帮助。
有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢
我正在创建一个骰子游戏,其中2个玩家有他们自己的骰子,每个人都有自己的轮到扔他的骰子,玩家可以完全失去分数或获得分数取决于他们站在窗口的位置,游戏结束时,任何一个玩家首先站在终点车道上,获胜者是得分最高的玩家,我已经在游戏的设计到目前为止,但还没有在逻辑上工作。 这个链接是游戏应该是什么样子的图片: 我想知道我如何才能添加球员1和球员2在每个瓷砖上面的照片,所以基本上每次当一个球员玩他的回合,我希
提示:“写一个程序对着电脑玩猪游戏。在每个回合,当前玩家将掷出一对骰子并累积点数。目标是在你的对手之前达到100分或更多。(为了测试的目的,使用30点而不是100点)如果在任何回合中,玩家掷出一个1,则该回合积累的所有点数都将被没收,骰子的控制权将转移到另一个玩家身上。如果玩家在一个回合中滚动两个1,则该玩家失去迄今为止积累的所有点数,控制权转移到另一个玩家身上。玩家可以在每次掷骰后自愿交出骰子的
我对C#和一般编码都是新手。为了提高我的技能,我试图创建一个基本的游戏,两个玩家掷骰子,并记录他们的得分。玩家达到20分即获胜。每个玩家轮流掷一个骰子,把他们的第一个骰子加到他们的第二个骰子上,以此类推,直到其中一个达到20。如果玩家掷出一个六,他们可以再次掷骰子。 任何帮助都将不胜感激。