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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2009, 16:39   #1
Leshiy1
Форумчанин
 
Аватар для Leshiy1
 
Регистрация: 24.09.2009
Сообщений: 104
По умолчанию нарисовать дом в Паскале

Здравствуйте! Скажите пожалуйста, как в Паскале циклом нарисовать несколько одиаковых объектов по осям X и Y.
(Нужно нарисовать дом. На доме окна 20 штук. Вдоль 5 и вниз 4)
Leshiy1 вне форума Ответить с цитированием
Старый 24.09.2009, 17:38   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

А что с наработками?
dampirik вне форума Ответить с цитированием
Старый 24.09.2009, 20:07   #3
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

текст программы не помещается в сообщение, вложил в архив
скромный домик(про расположение окон забыл, увлекся((( )
Вложения
Тип файла: rar ris.rar (1.5 Кб, 87 просмотров)
Посторонним В.

Последний раз редактировалось NSvirus; 24.09.2009 в 20:21.
NSvirus вне форума Ответить с цитированием
Старый 24.09.2009, 20:38   #4
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Без кода.
Алгоритм следующий : подключаешь модуль Graph; Используешь примитивы - Rectangle, Line To, (толщина линий, цвет пера, цвет кисти- само собой). Все это в простой цикл for . . . to . . .. Кол-во "домиков" задаем в переменной (i) цикла.
Если все это не понятно - парашютный спорт не для Вас.
В противном случае - на каждый конкретный вопрос будет такой же конкретный ответ.
Спрашивайте .
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 24.09.2009 в 21:34.
DeKot вне форума Ответить с цитированием
Старый 24.09.2009, 20:42   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от Leshiy1
циклом нарисовать несколько одиаковых объектов по осям X и Y.
Можно сделать процедуру, рисующую данный объект в координатах (x,y):
Код:
procedure draw_window (x, y: Integer);
Когда будите задавать координаты для линий или прямоугольников, то прибавляйте к ним x и y соответственно.
Далее в нужном цикле просто вызываем созданную процедуру, передавая в неё нужные аргументы.
Arigato вне форума Ответить с цитированием
Старый 24.09.2009, 20:46   #6
Leshiy1
Форумчанин
 
Аватар для Leshiy1
 
Регистрация: 24.09.2009
Сообщений: 104
По умолчанию

Спасибо люди добрые

Домик-то у меня есть. Мне бы узнать как в цикле нарисовать несколько одинаковых объектов. Например, ёлочка из треугольников. Чтобы не прорисовывать каждый треугольник отдельно. Это же можно сделать в цикле. Вот мне нужно знать как сделать этот цикл.

Последний раз редактировалось Stilet; 25.09.2009 в 08:51.
Leshiy1 вне форума Ответить с цитированием
Старый 24.09.2009, 21:31   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от Leshiy1
Домик-то у меня есть. Мне бы узнать как в цикле нарисовать несколько одинаковых объектов. Например, ёлочка из треугольников. Чтобы не прорисовывать каждый треугольник отдельно. Это же можно сделать в цикле. Вот мне нужно знать как сделать этот цикл.
http://programmersforum.ru/showpost....87&postcount=5
Arigato вне форума Ответить с цитированием
Старый 24.09.2009, 21:32   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ёлочка из треугольников
так пойдёт?
Код:
uses
   Graph;
type
  TTriangle = array[1..3] of PointType;

const
Triangle: TTriangle  = (
  (X: 150; Y: 400),
  (X: 300; Y: 400),
  (X: 225; Y: 350));
var
   grDriver,grMode,errCode: Integer;
   i: Integer;
   TriangleMy: TTriangle;
begin
   grDriver:=Detect;{определение номера драйвера}
   InitGraph(grDriver,grMode,'..\BGI');
   {в кавычках указать путь к драйверу, например
   для Turbo Pascal,'C:\TP\BGI'. Для Free Pascal можно так и оставить}
   errCode:=GraphResult;
   if errCode=grOK then
   begin
   { режим открыт и Вы можете работать}
     TriangleMy := Triangle;
     SetColor(lightgreen);
     for i:=1 to 7 do  begin
       SetFillStyle(2+i,lightgreen);
       TriangleMy[1].y := TriangleMy[1].y - 50;
       TriangleMy[2].y := TriangleMy[2].y - 50;
       TriangleMy[3].y := TriangleMy[3].y - 50;
       FillPoly(3,TriangleMy); {Закрашенный треугольник}
    end;
    readln;
    CloseGraph;{закрывает режим графики}
   end
   else
     Writeln('Ошибка графики:',GraphErrorMsg(ErrCode));
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.09.2009, 15:04   #9
Leshiy1
Форумчанин
 
Аватар для Leshiy1
 
Регистрация: 24.09.2009
Сообщений: 104
По умолчанию

thank you Господа! У меня получилось. Окошки рисуются циклом как надо.

Dekot, Мне понятно что такое for, to, i.
Leshiy1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нарисовать в паскале кораблик Lozergod Помощь студентам 28 13.11.2009 19:53
как нарисовать декартовую ось на паскале? tipson Помощь студентам 1 16.07.2009 07:18
нарисовать машинку в паскале Эйфория Помощь студентам 9 06.05.2009 15:55
нарисовать в Паскале Солнце. КаПрИзУлЬкА Помощь студентам 12 26.02.2009 14:07