Преобразовать строку в предварительно определенное имя переменной в Visual Basic? - PullRequest
0 голосов
/ 09 ноября 2011

Я программирую базовый игровой автомат на Visual Basic и хочу использовать цикл for для случайного выбора изображения для каждого слота, отображения изображения в каждом слоте и изменения переменной slotName (чтобы я мог проверить позжекакие символы находятся в слотах) для каждого слота.

Проблема, которую я обнаружил в цикле for, состоит в том, что переменные и объекты для каждого слота имеют разные имена (slot1Name, slot2Name, slot3Name, lblSlot1, lblSlot2, lblSlot3 и т. Д.).Есть ли способ, которым я мог бы иметь что-то вроде:

currentSlotName = "slot" & i & "Name"

Это код на данный момент, этот код повторяется (с разными именами переменных и объектов), для каждого из 3 слотов, что довольнонеэффективен.Как мне привести в порядок этот код?

' Randomise numbers and assign images to slots based on random numbers, if the hold isn't on
    ' Slot 1
    If Not held1 Then
        slot1Value = Int(Rnd() * numbersGenerated + 0.5)
        Select Case slot1Value
            Case 0 To 5
                lblSlot1.Image = imgBanana
                slot1Name = "Banana"
            Case 6 To 11
                lblSlot1.Image = imgOrange
                slot1Name = "Orange"
            Case 12 To 16
                lblSlot1.Image = imgCherries
                slot1Name = "Cherries"
            Case 17 To 19
                lblSlot1.Image = imgSeven
                slot1Name = "Seven"
            Case 20
                lblSlot1.Image = imgBatman
                slot1Name = "Batman"
            Case Else
                lblSlot1.Text = "Error. slot1value = " & slot1Value
        End Select
    End If

Я искал это, но я очень плохо знаком с Visual Basic и хочу сделать свой код максимально простым.

1 Ответ

1 голос
/ 09 ноября 2011

Слишком много, чтобы объяснить.Массивы - это то, что вам нужно учить дальше.

http://msdn.microsoft.com/en-us/library/wak0wfyt.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...