下面的代码有两种方法:BetAmount
获取用户输入。 Multiplier
取BetAmount
并基于图像为true / false返回乘数。例如,如果BetAmount
为10且所有图片均为真,则Multiplier
应返回30。
在okButton_Click
方法中,标签应继续显示结果,只要totalAmount> 0.如果所有图像均为假,我在文本框中输入10,则循环应从totalAmount中减去10,直到totalAmount = 0.最初,totalAmount = 100.将其视为老虎机,如果图像不是,则会赔钱真。
protected void okButton_Click(object sender, EventArgs e)
{
bool imageOne = true;
bool imageTwo = false;
bool imageThree = false;
double totalAmount = 100;
double winAmount = Multiplier(imageOne, imageTwo, imageThree);
double result = 0;
while (true)
{
if (winAmount > 0)
{
result = totalAmount + winAmount;
}
else
{
result = totalAmount - BetAmount();
}
resultLabel.Text = result.ToString();
}
}
protected double BetAmount()
{
double betValue = double.Parse(numTextBox.Text);
return betValue;
}
protected double Multiplier(bool firstImage, bool secondImage, bool thirdImage)
{
double multiplier = BetAmount();
if (firstImage == true) multiplier *= 1;
if (secondImage == true) multiplier *= 1;
if (thirdImage == true) multiplier *= 1;
return multiplier;
}
答案 0 :(得分:-1)
正如许多评论者所观察到的那样,您似乎没有充分考虑到您想要做什么,以及您的业务规则"如果你愿意的话。这应该是第一个下来的事情。我将从这里开始:
我的目标是创建一个老虎机应用程序。我已经能够创建一个显示三个随机图像的卷轴。如果其中一个图像是Cherry,则totalAmount应增加下注金额。如果是两个樱桃,则将betAmount乘以2并添加到totalAmount中。如果图像显示没有樱桃,那么totalAmount应该减去下注金额。
有了这个,以及你的代码中的一些有根据的猜测,我得到了这个:
现在,一些有根据的猜测是关于你如何尝试实施这些"业务规则,"即你的"功能规范":
现在,您的代码存在一些问题:
现在,处理乘数的最佳方法可能是从0开始,每次获得命中时加1。然后,返回BetAmount *乘数。像这样:
int multiplier = 0;
if (firstImage == true) multiplier++;
if (secondImage == true) multiplier++;
if (thirdImage == true) multiplier++;
return multiplier * BetAmount();
您还需要添加逻辑以防止用户投注比他更多的积分,并在他用完时结束游戏。
还有更多,但这应该让你走上正轨。