作者j76992001 (人缘有待等)
看板Visual_Basic
标题[.NET] 数值判断胜负的地方会有小问题
时间Sun Jun 14 22:41:19 2009
请输入专案类型(网站专案或者应用程式专案):VB2008
a = Val(Label2.Text)
If a > 10 Then
a = 0.5
End If
sum = a
If sum >= 8 And sum <= 10 And sum > sumI Then
MsgBox("你输了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10 And sum = sumI Then
MsgBox("平手")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10 And sum < sumI Then
MsgBox("你赢了")
Button2.Enabled = False
End If
If a < 8 Then
Label3.Text = CInt(Int((13 - 1 + 1) * Rnd() + 1))
b = Val(Label3.Text)
If b > 10 Then
b = 0.5
End If
sum = a + b
If sum > 10.5 Then
MsgBox("你赢了")
Button2.Enabled = False
End If
If sum >= 8 And sum <= 10.5 And sum > sumI Then
MsgBox("你输了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum < sumI Then
MsgBox("你赢了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum = sumI Then
MsgBox("平手")
Button2.Enabled = False
End If
If a + b < 8 Then
Label4.Enabled = True
Label4.Text = CInt(Int((13 - 1 + 1) * Rnd() + 1))
c = Val(Label4.Text)
If c > 10 Then
c = 0.5
End If
sum = a + b + c
If sum > 10.5 Then
MsgBox("你赢了")
Button2.Enabled = False
End If
If sum >= 8 And sum <= 10.5 And sum > sumI Then
MsgBox("你输了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum < sumI Then
MsgBox("你赢了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum = sumI Then
MsgBox("平手")
Button2.Enabled = False
End If
If a + b + c < 8 Then
Label5.Enabled = True
Label5.Text = CInt(Int((13 - 1 + 1) * Rnd() + 1))
d = Val(Label5.Text)
If d > 10 Then
d = 0.5
End If
sum = a + b + c + d
If sum > 10.5 Then
MsgBox("你赢了")
Button2.Enabled = False
End If
If sum >= 8 And sum <= 10.5 And sum > sumI Then
MsgBox("你输了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum < sumI Then
MsgBox("你赢了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum = sumI Then
MsgBox("平手")
Button2.Enabled = False
End If
If a + b + c + d < 8 Then
Label6.Enabled = True
Label6.Text = CInt(Int((13 - 1 + 1) * Rnd() + 1))
f = Val(Label6.Text)
If f > 10 Then
f = 0.5
End If
sum = a + b + c + d + f
If sum >= 10.5 Then
MsgBox("你赢了")
Button2.Enabled = False
End If
If sum >= 8 And sum <= 10.5 And sum > sumI Then
MsgBox("你输了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum < sumI Then
MsgBox("你赢了")
Button2.Enabled = False
ElseIf sum >= 8 And sum <= 10.5 And sum = sumI Then
MsgBox("平手")
Button2.Enabled = False
End If
End If
End If
End If
End If
End Sub
备注:当中的sumI是玩家的总值
自己在写一个十点半的小游戏 上面是电脑判断胜负的过程
在测试的时候 发觉有时候明明电脑的总值比玩家大
却会显示出"你赢了"而不是"你输了"(总值比玩家小也有这情况~"~)
有时候双方平手却显示"你赢了"...囧 在判断大小的地方觉得没有错误
却始终找不出原因~"~ 想请问一下究竟是那个部分的判断有出错??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.38.8.85
※ 编辑: j76992001 来自: 114.38.8.85 (06/14 22:42)
1F:→ MOONRAKER:差不多的判断写四五次,这样不搞出问题也难。 06/15 02:06
2F:→ MOONRAKER:每次判断做的事情都差不多,那就不如取出来变成一个函数 06/15 02:07
3F:→ MOONRAKER:每次有输入之後先读取输入,然後叫这个函数。 06/15 02:07
4F:→ MOONRAKER:不然我实在无法提起劲看你是错在哪里。可能别人可以吧。 06/15 02:08
5F:→ j76992001:恩恩 感谢MOONRAKER大提供的意见~"~ 06/15 08:34