Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2011, 01:14   #1
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
Вопрос рисование набора фигур. VB

Прошу подсказать как провильно запрограммировать массив фигурок, которые произвольно двигаются и меняют цвета, и размеры меняют квадраты. Набор компактный. Необходимо, чтобы количетво фигур было разным при запуске программы.
Объявляю и инициализирую в программе случайное количество элементов
Код:
Dim kol As Integer
kol = Int(Rnd * 6)
Подпрограмма, которая двигает набор фигур в картинке по вкладке
Код:
Private Sub MkPcBx()
Dim dX As Integer, dY As Integer

    dX = Int(Rnd * 500)
    dY = Int(Rnd * 100)
    If iDirection = 1 Then
    If xx + 1800 + dX >= Picture1.ScaleWidth Then iDirection = -1
    ProgressBar1.Value = xx + 1600
    Else
    If xx + 300 - dX <= 0 Then iDirection = 1
    ProgressBar1.Value = xx + 300
    End If
    xx = xx + dX * iDirection
    
    'ProgressBar1.Value = xx + 1600
    
    If iDirection = 1 Then
    If yy + 2100 >= Picture1.Height Then iDirection = -1
    Else
    If yy - 300 <= 0 Then iDirection = 1
    End If
    yy = yy + dY * iDirection
    Call PcBx(xx, yy)
    Exit Sub
End Sub
Подпрограмма, которая рисует набор
Код:
Private Sub PcBx(x As Integer, y As Integer)
Dim c As Integer
Dim i As Integer

Picture1.Cls
Picture1.DrawWidth = 2
c = Rnd * 4

For i = 0 To kol
    Picture1.Line (x + 800 * i, y + 600 * i)-(x + 950 * i, y + 300 * i), QBColor(c + 2)
    Picture1.Line (x + 950 * i, y + 300 * i)-(x + 1100 * i, y + 600 * i), QBColor(c + 2)
    Picture1.Line (x + 1100 * i, y + 600 * i)-(x + 800 * i, y + 600 * i), QBColor(c + 2)
    Picture1.Line (x + 800 * i + c * 300, y + 800 * i + c * 300)-(x + 1100 * i + c * 500, y + 1100 * i + c * 500), QBColor(c + 4), B
Next i

End Sub
Вот с ней и беда. Что можно сделать, чтобы треугольники и квадраты были рядом друг с другом?
my_sappho_story вне форума Ответить с цитированием
Старый 09.01.2011, 20:34   #2
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Как сделать, чтобы фигурки не по диагонали были сформированы? Куда нужно переменную i вставить в цикле в координаты фигур, чтобы фигурки просто рядом были?
my_sappho_story вне форума Ответить с цитированием
Старый 10.01.2011, 13:55   #3
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

может нужно какую-то переменную еще впихнуть, а с ней формулу, чтоб фигурки рядышком были, а?
my_sappho_story вне форума Ответить с цитированием
Старый 10.01.2011, 15:28   #4
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

вопрос связан с проблемами алгоритма, на совах подкажите хоть
my_sappho_story вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование геометрических фигур - четырехугольников Konicy Общие вопросы C/C++ 0 08.05.2010 21:33
Рисование фигур в Delphi (поворот) Алексей777911 Помощь студентам 3 29.04.2010 03:17
Рисование фигур в Delphi7 без использования VCL saintninja Помощь студентам 15 20.10.2007 11:04