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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2017, 19:29   #1
Jenee
Пользователь
 
Регистрация: 24.02.2017
Сообщений: 20
Вопрос Можете помочь с random в графике Паскаль?

Необходимо создать окна у дома, но чтобы они меняли цвет в ходе программы очень часто (как на дискотеке))).
Пример дома:
Код:
uses crt, graphABC;
var x, z :integer;
begin
setwindowsize(640,480);
setpencolor(clmoneygreen);
rectangle(80,220,280,340);
floodfill(81,222,clmoneygreen);
setpencolor(clblue);
line(80,220,180,140);
line(180,140,280,220);
floodfill(180,200,clblue);
x:=100; z:=random(255);
while (x<260) and (z<>random(255)) do begin
setpencolor(clblack);
rectangle(x,240,x+40,300);
floodfill(x+10,250,z);
line(x+20,240,x+20,300);
z:=random(255)+19;
x:=x+60;
end;
end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 05.05.2017 в 10:06.
Jenee вне форума Ответить с цитированием
Старый 05.05.2017, 10:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

что такое "как на дискотеке" не очень понятно.

так устроит?

Код:
uses
  crt, graphABC;

var
  x, z: integer;

begin
  setwindowsize(640, 480);
  setpencolor(clmoneygreen);
  rectangle(80, 220, 280, 340);
  floodfill(81, 222, clmoneygreen);
  setpencolor(clblue);
  line(80, 220, 180, 140);
  line(180, 140, 280, 220);
  floodfill(180, 200, clblue);
  while not keypressed do 
  begin
    LockDrawing;
    x := 100;
    while (x < 260) do 
    begin
      z := RGB(Random(256), Random(256), Random(256));
      setpencolor(clblack);
      rectangle(x, 240, x + 40, 300);
      floodfill(x + 10, 250, z);
      line(x + 20, 240, x + 20, 300);
      x := x + 60;
    end;
    Redraw;
    Sleep(100)
  end;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можете помочь bodi4ka Фриланс 1 16.10.2011 15:27
можете помочь bodi4ka Visual C++ 0 09.10.2011 16:05
можете помочь ? xxxNeXxxx Помощь студентам 1 03.01.2010 21:02
Можете помочь с задачкой? Fitness Паскаль, Turbo Pascal, PascalABC.NET 2 26.12.2007 17:46