我已经开始了一个项目,它涉及生成随机数并达到一定的总数。
在这个项目中,这是一个名为" Twenty-One"的骰子游戏。用户多次滚动一组两个骰子,直到达到总共21个(不是滚动数)。在此期间,当用户总共达到15时,只能使用一个骰子来累加剩余的数字。如果用户准确到达21,则会弹出一条消息说他或她赢了;如果它超过21,那么他们输了。这是一个例子:
Select
我已经为这个问题创建了一个代码,但它正在进行中。我还在代码中添加了一系列将显示两个骰子的if和else语句。到目前为止,这是我的代码:
2+5 = 7
1+3 = 4 (up to 11)
2+2 = 4 (up to 15)
3+3 = 6 (up to 21) "WINNER!!"
在查看我的代码后,我已经想到了很多想法,我可以将两个骰子的数字相加。这方面的一个例子是以下代码:
//"Roll The Dice" button click
private void btnRollDice_Click(object sender, EventArgs e) {
//Generating random numbers
Random random = new Random();
int diceIntA = new int();
int diceIntB = new int();
int diaVal, dibVal, total;
diceIntA = random.Next(1, 7);
diceIntB = ranbom.Next(1, 7);
diaVal = diceIntA + 1;
dibVal = diceIntB + 1;
total = diaVal + dibVal;
lblTotal.Text(total.ToString());
//Image of the first die
if (diceIntA == 1)
pbdShow1.Image = pboxDice1.Image;
else if (diceIntA == 2)
pbdShow1.Image = pboxDice2.Image;
else if (diceIntA == 3)
pbdShow1.Image = pboxDice3.Image;
else if (diceIntA == 4)
pbdShow1.Image = pboxDice4.Image;
else if (diceIntA == 5)
pbdShow1.Image = pboxDice5.Image;
else
pbdShow1.Image = pboxDice6.Image;
//Image of the second die
if (diceIntB == 1)
pbdShow2.Image = pboxDice1.Image;
else if (diceIntB == 2)
pbdShow2.Image = pboxDice2.Image;
else if (diceIntB == 3)
pbdShow2.Image = pboxDice3.Image;
else if (diceIntB == 4)
pbdShow2.Image = pboxDice4.Image;
else if (diceIntB == 5)
pbdShow2.Image = pboxDice5.Image;
else
pbdShow2.Image = pboxDice6.Image;
}
如果后一个代码效率不高,我应该用什么方法让骰子总数达到21?