Задача на массивы, исправить ошибку нужно - VB

Формулировка задачи:

массивы color1 и color2 состоят каждый из 7 элементов. Их значения - семь цветов(рандомные). Значения элементов массива формируются случайным образом и определяют цвет кругов одного радиуса, расположенных в горизонтальный ряд на объектах Picture1 и Picture2 соответственно. Выведите на Picture3(массив Color3) из 14 кругов: его элементами с нечётными значениями индексов являются элементы массива Color1, а с чётными индексами -Color2 Код вот:
Option Explicit
Dim Color1(6) As String, Color2(6) As String, Color3(13) As String, I As Integer, a As Integer, i2 As Integer
 
Private Sub Form_Load()
    Randomize
    For I = 0 To 6
    Randomize
    a = Rnd() * 6
        Select Case a
            Case 0
                Color1(I) = vbBlue
            Case 1
                Color1(I) = vbGreen
            Case 2
                Color1(I) = vbCyan
            Case 3
                Color1(I) = vbRed
            Case 4
                Color1(I) = vbMagenta
            Case 5
                Color1(I) = vbYellow
            Case 6
                Color1(I) = vbWhite
            End Select
    Next
    Randomize
    For I = 0 To 6
    Randomize
    a = Rnd() * 6
        Select Case a
            Case 0
                Color2(I) = vbBlue
            Case 1
                Color2(I) = vbGreen
            Case 2
                Color2(I) = vbCyan
            Case 3
                Color2(I) = vbRed
            Case 4
                Color2(I) = vbMagenta
            Case 5
                Color2(I) = vbYellow
            Case 6
                Color2(I) = vbWhite
            End Select
    Next
    For I = 0 To 6
    For i2 = 0 To 13
        If i2 Mod 2 = 0 Then
            Color3(i2) = Color2(I)
        Else
            Color3(i2) = Color1(I)
        End If
    Next
    Next
End Sub
 
Private Sub Timer1_Timer()
    For I = 0 To 6
        Picture1.FillStyle = vbSolid
        Picture1.FillColor = Color1(I)
        Picture1.Circle (30 + 30 * I, 40), 10, Color1(I)
    Next
    For I = 0 To 6
        Picture2.FillStyle = vbSolid
        Picture2.FillColor = Color2(I)
        Picture2.Circle (30 + 30 * I, 40), 10, Color2(I)
    Next
    For i2 = 0 To 13
        Picture3.FillStyle = vbSolid
        Picture3.FillColor = Color3(i2)
        Picture3.Circle (30 + 30 * i2, 40), 10, Color3(i2)
    Next
End Sub
проблема в то, что третий массив там где 14 кругов выдаёт только круги 2 цветов

Код к задаче: «Задача на массивы, исправить ошибку нужно - VB»

textual
Option Explicit
Dim Color1(6) As Long, Color2(6) As Long, Color3(13) As Long, I As Integer, ar()
 
Private Sub Form_Load()
Timer1.Interval = 10000
ar = Array(vbBlue, vbGreen, vbCyan, vbRed, vbMagenta, vbYellow, vbWhite)
Picture1.FillStyle = vbSolid
Picture2.FillStyle = vbSolid
Picture3.FillStyle = vbSolid
Timer1_Timer
End Sub
 
Private Sub Timer1_Timer()
For I = 0 To 6
  Color1(I) = ar(Int(Rnd() * 7))
  Picture1.FillColor = Color1(I)
  Picture1.Circle (30 + 30 * I, 40), 10, Color1(I)
  
  Color2(I) = ar(Int(Rnd() * 7))
  Picture2.FillColor = Color2(I)
  Picture2.Circle (30 + 30 * I, 40), 10, Color2(I)
  
  Picture3.FillColor = Color1(I)
  Picture3.Circle (30 + 30 * I * 2, 40), 10, Color1(I)
  Picture3.FillColor = Color2(I)
  Picture3.Circle (30 + 30 * (I * 2 + 1), 40), 10, Color2(I)
Next
End Sub
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

7   голосов, оценка 3.857 из 5


СДЕЛАЙТЕ РЕПОСТ