Используя вложенные циклы , изобразить шахматную доску - VB
Формулировка задачи:
Используя вложенные циклы , изобразить шахматную доску ( каждую клетку пронумеровать , для чего воспользуйтесь формулой : j + (i -1 ) *nj для выражения номера через значения счетчиков обоих циклов ) и лоскутный ковер размером ( 8 * 8 ) , клетки которого имеют случайные цвета из палитры RGB . Предусмотрите наличие режима автоматической смены цветов лоскутного ковра ( использовать компонент Timer ) .
Задача есть, но нужно переделать её как написано в задаче по формуле(изменив переменные) и пронумеровать клеточки не используя CurrentX, CurrentY. ПОМОГИТЕ ПОЖАЛУЙСТА!
Листинг программы
- Dim X As Long, Y As Long, color1 As Long, color2 As Long
- Dim a As Integer, b As Integer, c As Integer, d As Integer
- Dim j As Integer, i As Integer
- Private Sub DRAW()
- ReDim kNOP(i, j)
- For c = 1 To i
- CurrentY = b - 300
- CurrentX = a * c + a / 6
- Print c
- For d = 1 To j
- X = a * c
- Y = b * d
- CurrentY = b * d
- CurrentX = a - 400
- Print d
- If (c + d) Mod 2 = 0 Then Line (X, Y)-(X + a, Y + b), color1, BF Else Line (X, Y)-(X + a, Y + b), color2, BF
- CurrentY = b * d
- CurrentX = a * i + a
- Print d
- Next d
- CurrentX = a * c + a / 6
- CurrentY = b * d
- Print c
- Next c
- End Sub
- Private Sub Form_Load()
- Font.Size = 13
- a = 500
- b = 500
- j = 8
- i = 8
- color1 = vbWhite
- color2 = vbBlack
- DRAW
- End Sub
- Private Sub Timer1_Timer()
- color1 = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)
- color2 = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)
- DRAW
- End Sub
- Private Sub COLOR_Click()
- Timer1.Interval = Val(InputBox("Ââåäèòå ГЁГ*òåðâГ*Г« ìåæäó èçìåГ*ГҐГ*ГЁГҐГ¬ Г¶ГўГҐГІГ*, Г±ГҐГЄ", 3)) * 1000
- Timer1.Enabled = True
- End Sub
Решение задачи: «Используя вложенные циклы , изобразить шахматную доску»
textual
Листинг программы
- Const n = 8
- Sub Pic_Click()
- Picture1.Scale (1, 1)-(n + 1, n + 1)
- Randomize (Timer)
- For i = 1 To n
- For j = 1 To n
- r = Int(Rnd * 256): g = Int(Rnd * 256): B = Int(Rnd * 256)
- Picture1.Line (i, j)-(i + 1, j + 1), RGB(r, g, B), BF
- Picture1.Line (i, j)-(i + 1, j + 1), 0, B
- Picture1.CurrentX = i: Picture1.CurrentY = j
- Picture1.Print i + (j - 1) * n
- Next j
- Next i
- End Sub
- Private Sub Form_Load()
- Picture1.AutoRedraw = True
- Timer1.Enabled = False
- End Sub
- Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
- If Button = 1 Then
- Timer1.Enabled = False
- Pic_Click
- Else
- Timer1.Interval = n * (X + n * Y)
- Timer1.Enabled = True
- End If
- End Sub
- Private Sub Timer1_Timer()
- Pic_Click
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д