大家帮忙看下。。
这个是小的编写的一个猜拳的小游戏,当中有一些BUG....这个小游戏是老师为了考验大家能力而要求做的,相信每位朋友都应该写过这个程序,要求的比赛规则是这样的: 石头(值2)>剪刀(值1) 布(值3)>石头(值2) 剪刀(值1)〉布(值3) 以下是程序代码,在窗体上添加三个单选钮,和一个框架: Option Explicit Private Sub Command1_Click() Dim r, k, s, l Dim i As Integer, a As Integer, b As Integer, Computer As Integer Dim UserSel As String For i = 0 To 2 If Option1(i).Value Then l = MsgBox("您的选择为" & Option1(i).Caption & " 是否继续?", vbQuestion + vbYesNo, "小游戏") UserSel = Option1(i).Caption Exit For End If Next If l = vbNo Then Exit Sub a = CoverUser(UserSel) Randomize b = Int(Rnd * 3 + 1) b = CInt(b) k = CoverComputer(b) s = MsgBox("电脑准备和您较量,它出的是" & k, vbInformation, "小游戏") Call Judger(a, b) End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Option1(0).Value = True End Sub Private Function CoverUser(ByVal Title As String) As Integer Select Case Title Case "剪刀" CoverUser = "1" Case "石头" CoverUser = "2" Case "布" CoverUser = "3" End Select End Function Private Function CoverComputer(ByVal ItrCom As Integer) As String Select Case ItrCom Case 1 CoverComputer = "剪刀" Case 2 CoverComputer = "石头" Case 3 CoverComputer = "布" End Select End Function Private Function Judger(ByVal a As Integer, ByVal b As Integer) As String If a > b Then MsgBox "Celebrate, You Win!" ElseIf a = b Then MsgBox "Oh, You Draw!" Else MsgBox "Sorry,You Lost!" End If 以上程序执行后,只能识别出输的情况和平手的情况。。胜利的情况不能识别。。 请问上面的程序BUG在哪里?实在是找不出来错误了。。帮忙找找看错误的地方吧,谢谢!T T 后来经过朋友的指点,错误的地方应该是Judger函数写错了..请大家帮帮忙T T
你的主要问题是判断胜负时漏掉不少情况,其次少了个续行符" _". 可以参考我以前的回答: 里面包含比较快且对的判断方法.谢谢! 这样吧: Public Sub Judger(ByVal a As Integer, ByVal b As Integer) If a * b = 3 Then If a b Then MsgBox "Celebrate, You Win!" Else MsgBox "Sorry,You Lost!" End If End Sub 你的程序中 Option 控件的 Caption 必须分别是"石头、剪刀、布"才对. 你可以免分下载我编好的"石头、剪刀、布"的游戏 可以把你的程序改成类似的样子,相信你的老师会对你感到惊叹的.
答:程序的执行效率指程序运行快慢和使用内存空间的大小的占有率。是程序运行好坏的重要标志。详情>>
答:线性链表分好几种,分为单链,双链等,它们的存储顺序也不一样. 线性表是顺序存储的,占顺序的存储空间详情>>
问:电脑安装了VB6.0,为什么打开方式里面没有VB程序选项,进安装好的VB里去关联...
答:打开方式最下面还有一个《选择程序》,点开后查VB的安装目录的EXE,找到后直接打开,下次就会在打开方式里查到了详情>>