使用全局变量在进度条上显示值

时间:2015-07-18 03:05:08

标签: vb.net variables module progress-bar vb.net-2010

我正在使用visual basic 2010制作一款游戏,除了我在使用全局变量方面遇到的一个问题外几乎完成了它。我已将它们设置在一个模块中,如下所示:

Module Module1
Public Structure Maths
    Public accuracy As Integer
    Public speed As Integer
    Public vision As Integer
End Structure

Public Mathsprogress As Maths
End Module

我想对这些变量做的是在一个表单中使用它们来存储值,这样我就可以将这些值传递给第二种形式。为此,我创建了嵌套的if语句,它应根据'不正确的值来设置变量mathsprogress.accuracy = x的值。

  '''''''''''CONTINUED''''''''''''''''''

 Else : incorrect = incorrect + 1


        If incorrect = 0 Then
            Mathsprogress.accuracy = 10
        ElseIf incorrect < 2 And incorrect > 0 Then
            Mathsprogress.accuracy = 9
        ElseIf incorrect = 3 Then
            Mathsprogress.accuracy = 8
        ElseIf incorrect = 4 Then
            Mathsprogress.accuracy = 7
        ElseIf incorrect = 5 Then
            Mathsprogress.accuracy = 6
        ElseIf incorrect = 6 Then
            Mathsprogress.accuracy = 5
        ElseIf incorrect = 7 Then
            Mathsprogress.accuracy = 4
        ElseIf incorrect = 8 Then
            Mathsprogress.accuracy = 3
        ElseIf incorrect = 9 Then
            Mathsprogress.accuracy = 2
        Else
            Mathsprogress.accuracy = 1
        End If

    End If

但由于某种未知的原因,当我使用第二种形式的变量时,它应该显示&#39; mathsprogress.accuracy&#39;在进度条中,它表示“0的值”无效,必须介于最小值和最大值之间。这使我认为从IF语句存储的值没有转移到第三种形式。第三种形式的代码是:

 Private Sub pbaccuracy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbaccuracy.Click
    pbaccuracy.Value = Mathsprogress.accuracy
End Sub

我知道变量设置正确,因为它在第一个表单的表单加载中设置mathsprogress.accuracy = 10时有效。我的问题可能在于我放置了大量的IF语句,有人可以解释一下吗?

由于

0 个答案:

没有答案