【发布时间】:2017-06-07 01:33:52
【问题描述】:
我在使用 or 运算符和随机数生成器时遇到问题。我希望随机数生成器在 1 和 h 之间提取一个数字,其中 h 由用户选择并存储为 1、6、11 和 16,然后我希望 if 语句查看随机数并确定它是否是做我已经编程或去执行 else 语句。目前它似乎只执行 if 语句而不是 else (第二个 else,第一个工作正常)。我的代码是
Random random = new Random();
int ran = random.Next(1, h);
if (s1 == 0 & s2 == 0 & s3 == 1)
{
s3 = s3 - 1;
cover0.Visible = true;
p1slable.Visible = true;
p2slable.Visible = true;
playagain.Visible = true;
score.Visible = true;
p1score.Visible = true;
p2score.Visible = true;
c = c + 1;
p2slable.Text = "" + c.ToString();
labelscore2.Visible = true;
winner2.Visible = true;
hintcover.Visible = true;
e1.Visible = false;
e2.Visible = false;
e3.Visible = false;
}
else
{
if (s1 == 0 & s2 == 0 & s3 == 2)
{
if (ran == 1 || ran == 3 || ran == 4 || ran == 5 || ran == 9 || ran == 10 || ran == 15)
{
s3 = s3 - 2;
cover0.Visible = true;
p1slable.Visible = true;
p2slable.Visible = true;
playagain.Visible = true;
score.Visible = true;
p1score.Visible = true;
p2score.Visible = true;
c = c + 1;
p2slable.Text = "" + c.ToString();
labelscore2.Visible = true;
winner2.Visible = true;
hintcover.Visible = true;
e1.Visible = false;
e2.Visible = false;
e3.Visible = false;
}
else { s3 = s3 - 1; }
我正在使用 c# 2015
【问题讨论】:
-
您是否尝试过将
ran设置为6(或将其移至else语句的其他值)? -
您的问题有点难以理解。你能否清楚地指出哪个如果总是正确的?你是否尝试在调试器中运行它来检查你得到什么样的值以及它们是否符合你的期望。
-
您在那里缺少一些代码。第一个
else中的if本身是否有一个else子句?还是只是关闭代码 sn-p 中缺少的花括号?
标签: c# if-statement random or-operator