Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Треугольники и циклы Добавлено: 13.10.03 19:44  

Автор вопроса:  GreenGo

Такая задача: нужно в ряд с помощью цикла for...next вывести 10 одинаковых треугольников. проблемы нарисовать один - нет. но как с помощью цикла это мунуть?

и если несложно, раскажите, плиз, или киньте ссылки где можно найти инфу про юзание циклов, они, как я  понимаю, весьма полезны.

Спасибо! 

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #1 Добавлено: 13.10.03 19:59
Приведи лучше код

Ответить

Номер ответа: 2
Автор ответа:
 GreenGo



Вопросов: 2
Ответов: 4
 Профиль | | #2 Добавлено: 13.10.03 20:51

Дык, а какой код-то? Я смог только сам по себе треугольник намалевать, а что дальше делать не знаю:

Private Sub Command1_Click()
 Call Liners(100, 500, 100, 500)
 Call Liners(100, 500, 100, 100)
 Call Liners(500, 500, 100, 500)
End Sub

Sub Liners(x1, x2, y1, y2 As Integer)
    Picture1.Line (x1, y1)-(x2, y2)
    End Sub

Ответить

Номер ответа: 3
Автор ответа:
 grayk



Вопросов: 5
Ответов: 100
 Профиль | | #3 Добавлено: 14.10.03 09:10
Лучше подход изменить. В процедуре логично не одну линию рисовать, а весь треугольник. В качестве параметров - координаты вершин, а если треугольники всегда одинаковые, то одной вершины (назовем ее ключевой). Кстати, тип надо явно указывать для каждого параметра; в твоем примере тип Integer только у последнего параметра, остальные - Variant. Так вот, в цикле надо вызывать процедуру и менять координаты ключевой вершины в зависимости от счетчика, а в теле процедуры вычислять координаты остальных вершин.

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 14.10.03 09:57
Просто в цикле увеличивай координату x на нужное число.
Что-то типа того:

For i=0 to 9
Call Liners(100+(i*700), 500+(i*700), 100, 500)
Call Liners(100+(i*700), 500+(i*700), 100, 100)
Call Liners(500+(i*700), 500+(i*700), 100, 500)
next

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам