int die1;
int die2;
int total;
int state = 1;
int point =0;
int point2;
int score = 0;
Random rand = new Random();
die1 = rand.Next(1, 7);
die2 = rand.Next(1, 7);
total = (die1 + die2);
txtDie1.Text = die1.ToString();
txtDie2.Text = die2.ToString();
txtTotal.Text = total.ToString();
if (state == 1)
{
if (total == 7 || total == 11)
{
txtStatus.Text = "You are a winner!";
score++;
txtScore.Text = Convert.ToString(score);
state = 1;
}
if (total == 2 || total == 3 || total == 12)
{
txtStatus.Text = "You lose. Play again!";
score --;
txtScore.Text = Convert.ToString(score);
state = 1;
}
if (total == 4 || total == 5 || total == 6 || total == 8 || total == 9 || total == 10)
{
txtStatus.Text = "Roll again!";
point = int.Parse(txtTotal.Text);
txtPoint.Text = point.ToString();
state = 2;
}
}
if (state == 2)
{
if (total == point)
{
txtStatus.Text = "You are a winner!";
score ++;
txtScore.Text = Convert.ToString(score);
state = 1;
}
if (total == 7)
{
txtStatus.Text = "You lose. Play again!";
score --;
txtScore.Text = Convert.ToString(score);
state = 1;
}
if (total != 7 || total != point)
{
txtStatus.Text = "Roll again!";
state = 2;
}
}
首先,将代码更改为
else if (state == 2)
正如所写的那样,代码首先经过if(state==1)
部分,然后立即进入if(state==2)
部分。
此外,您还省略了代码中的循环和流控制部分。您可能会在每次传递时重新定义state=1--当state==2
时,请确保它在循环之外。
我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:
我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带
代码的目的是让两个玩家掷一对骰子。第一个掷出20分的玩家赢得比赛。我很难弄清楚如何正确地跟踪滚动的总和;它只给我当前回合的总和,然后当每个玩家滚动10次时游戏就结束了。 我如何正确地计算每个玩家游戏的总和,然后当其中一个玩家的总和等于20时停止循环?
程序在最后未能计算出正确的和。我做错了什么?如有任何帮助,不胜感激。谢了。
谁能告诉我代码出了什么问题吗?
本文向大家介绍Java编写掷骰子游戏,包括了Java编写掷骰子游戏的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接奔主题。 **多线程&&观察者模式 题目要求:《掷骰子》窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰子的总点数小于等于9,则开小,否则开大,然后判断玩家是否押对,如果未押对则扣除下注金额,如果押对则奖