2014-01-04 3 views
0

Для настольной игры я проектирования в Visual Basic У меня есть 6 графических файлов с именем 1,2,3,4,5 и 6.Concatenate последнее письмо на полосу кода (Linq?)

I «м генерации случайного целого числа от 1 до 6. в принципе, если Integer является 2 Я хочу 2, чтобы быть сцеплены на My.Resources._ стать My.Resources._2 и т.д.

Я пытался что-то вдоль линий My.Resources._ & DiceRoll, но он не работает , Я предполагаю, что я должен использовать Linq, возможно?

Function RollDice() 
     Dim DicePic() As PictureBox = {PictureBox3, PictureBox2} 
     Dim DiceRoll = Int(Rnd() * 6 + 1) 
     DicePic(DiceNumber).Image = My.Resources._ 

    End Function 
+0

Вы не можете сделать это так, как Ваше желание. Используйте функцию, чтобы вернуть изображение на основе рулона кости. – OneFineDay

ответ

0

Вы должны либо предварительно загрузить ресурсы в массив, либо использовать Select Case.

Dim ResourcesArray As New ArrayList() 
Function PreLoad() 
    ResourcesArray.Add(My.Resources._1) 
    ResourcesArray.Add(My.Resources._2) 
    ResourcesArray.Add(My.Resources._3) 
    ResourcesArray.Add(My.Resources._4) 
    ResourcesArray.Add(My.Resources._5) 
    ResourcesArray.Add(My.Resources._6) 
End Function 

... 
DicePic(DiceNumber).Image = ResourcesArray(DiceRoll) 
... 

Или

Function ResourceFind(Index As Integer) 
    Select Index 
     Case 1: Return(My.Resources._1) 
     Case 2: Return(My.Resources._2) 
     Case 3: Return(My.Resources._3) 
     Case 4: Return(My.Resources._4) 
     Case 5: Return(My.Resources._5) 
     Case 6: Return(My.Resources._6) 
    End Select 
End Function 

... 
DicePic(DiceNumber).Image = ResourceFind(DiceRoll) 
... 
0
Private Function DiceImage(diceSide As Integer) As Image 
Dim resultImg As Image = Nothing 
Select Case index 
    Case 1 
    resultImg = My.Resources._1 
    'etc... 
End Select 
Return resultImg 
End Function 

Использование:

Private Sub RollDice() 
Dim DicePic() As PictureBox = {PictureBox3, PictureBox2} 
Dim DiceRoll = Int(Rnd() * 6 + 1) 
DicePic(DiceNumber).Image = DiceImage(DiceRoll) 
End Sub 
Смежные вопросы