作者darkness0727 (72727)
看板C_Sharp
标题[问题]有关练习写猜拳小游戏的疑问
时间Sun May 8 19:29:03 2011
我尝试用指定数字加上判断式
不用 转型字串加总比对的方式去写猜拳游戏
可是一直搞不清楚为什麽结果总是会有错误的显示 小弟接触C#不到两个月
太雷请多包涵
玩家选择随机出拳的选项
private void button4_Click(object sender, EventArgs e) //随机出拳的按钮
{
npcset = System.Convert.ToInt32(ran_set.NextDouble() * 3 + 1);
//电脑出拳的机率设定
userscore = System.Convert.ToInt32(ran_set.NextDouble() * 3 + 1);
//玩家随机出拳
if (userscore.Equals(1))//假如玩家出剪刀
{
userscore = 1;
labeluser.Text = "玩家出剪刀";//玩家随机出拳的显示设定
//以下是玩家出剪刀的情形下
if (npcset.Equals(1)) //电脑出剪刀
{
labelnpc.Text = "电脑出剪刀";
labelplaymessage.Text = "平手";
}
else if (npcset.Equals(2))//电脑出石头
{
labelnpc.Text = "电脑出石头";
labelplaymessage.Text = "电脑获胜";
}
else if (npcset.Equals(3))//设定电脑出布的情况
{
labelnpc.Text = "电脑出布";
labelplaymessage.Text = "玩家获胜";
}
}
else if (userscore.Equals(2))//玩家随机出石头
{
userscore = 2;
labeluser.Text = "玩家出石头";
//以下是玩家出石头的判断
if (npcset.Equals(1)) //设定电脑出剪刀的情况
{
labelnpc.Text = "电脑出剪刀";
labelplaymessage.Text = "玩家获胜";
}
else if (npcset.Equals(2))//设定电脑出石头的情况
{
labelnpc.Text = "电脑出石头";
labelplaymessage.Text = "平手";
}
else if (npcset.Equals(3))//设定电脑出布的情况
{
labelnpc.Text = "电脑出布";
labelplaymessage.Text = "电脑获胜";
}
}
else if (userscore.Equals(3))//玩家随机出布
{
userscore = 3;
labeluser.Text = "玩家出布";
//以下是玩家出布的状况
if (npcset.Equals(1)) //设定电脑出剪刀的情况
{
labelnpc.Text = "电脑出剪刀";
labelplaymessage.Text = "电脑获胜";
}
else if (npcset.Equals(2))//设定电脑出石头的情况
{
labelnpc.Text = "电脑出石头";
labelplaymessage.Text = "玩家获胜";
}
else if (npcset.Equals(3))//设定电脑出布的情况
{
labelnpc.Text = "电脑出布";
labelplaymessage.Text = "平手";
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.11.110
1F:推 liaommx:错误讯息是甚麽? 05/08 20:10
2F:→ liaommx:直觉觉得,random number的地方..为什麽是nextdouble? 05/08 20:11
3F:→ liaommx:产生浮点数,然後要把他转为int,当然会错 05/08 20:13
4F:→ liaommx:改成next(3)+1应该就可以了 05/08 20:15
6F:→ liaommx:random number的next用法, 05/08 20:15
7F:→ darkness0727:程式可以跑 但是会出现判定不正确的情况 05/08 21:36
8F:→ darkness0727:胜负的判定会不正常 05/08 21:38
9F:推 liaommx:那就不知道了,要有完整内容才有办法判断.多加一个else看是 05/08 22:13
10F:→ liaommx:不是跑去那边 05/08 22:13