如何为幸运7制作一个实时比分计数器(vb游戏)



我做了一个简单的游戏,幸运7在visual basic上使用vb代码。分数计数器不能正常工作,例如,如果我赢得一次游戏(在3个插槽中的一个获得7分),我将获得10分,分数标签将变为10。如果我继续按旋转按钮并再次获胜,分数标签仍然保持在数字10上,而不会更改为20。

下面是我写的旋转按钮的代码:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim rand = New Random
    Dim slots = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    Dim score = 0
    For i = 0 To 2
        slots(i) = rand.Next(10)
    Next
    Label1.Text = (slots(0).ToString)
    Label2.Text = (slots(1).ToString)
    Label3.Text = (slots(2).ToString)
    If slots(0) = 7 Or slots(1) = 7 Or slots(2) = 7 Then
        score = score + 10  
        Label4.Text = (score.ToString)
        PictureBox1.Visible = True 
    Else
        PictureBox1.Visible = False
    End If
End Sub

我是否需要添加一个while循环或类似的东西来让分数随着我赢得游戏而改变多少次?

您需要在类级别移动变量声明。

目前,您创建它时,您点击您的按钮。因此,每次单击时,都要删除score变量并重新创建它。

移动

Dim score = 0

行如下:

'Assuming your Form is called Form1
Public Class Form1 Inherits Form
Dim score = 0
     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
     'Your current code
     End Sub
 End Class

你的问题就解决了。

你应该阅读一些关于作用域的文档。

关于你的小错误的摘录:

如果在过程中声明变量,但在任何If语句之外,则作用域直到End Sub或End Function。

相关内容

最新更新