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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 19:22   #1
Porsche
 
Регистрация: 11.05.2010
Сообщений: 6
По умолчанию Светофор

Доброго времени суток всем.Есть у меня прогамма одна на, написанная Паскале.Так вот нужна помощь.Эту программу нужно переделать на "С"....С ним работаю не очень долго,поэтому до графического режима её в нём не дошёл.Суть программы,это смена цветов светофора по нажатию пользователем клавиш.Буду очень благодарен...
Код:
Program Graphic;
uses graph, crt;
var driver, mode, Err : integer; c:char;
begin
driver:=detect;
InitGraph (driver, mode,'C:\Bp\Bgi');
Err:= GraphResult;
if Err<>grOK then writeln ('Ошибка при инициализации графического режима');
SetColor (15);
Setlinestyle(0,0,3); {толстая линия}
rectangle (125,125,175,265);
Setlinestyle(0,0,1);{тонкая линия}
setcolor (4); {красный}
circle (150,150,20);
setcolor (14); {желтый}
circle (150,195,20);
setcolor (2);  {зеленый}
circle (150,240,20);
repeat
c:=readkey;
case c of
'r','R':begin {клавиша r включает красный}
         Setfillstyle(1,0); {"выключаем" желтый, сплошная заливка черным}
         FillEllipse(150,195,20,20);
         setcolor (14);  {восстанавливаем окружность}
         circle (150,195,20);
         Setfillstyle(1,0); {выключаем зеленый}
         FillEllipse(150,240,20,20);
         setcolor (2);
         circle (150,240,20);
         Setcolor(0); {рисуем границу красного}
         Circle(150,150,20);
         Setfillstyle(1,4);
         FillEllipse(150,150,20,20);{рисуем красный}
       end;
'y','Y':begin  {клавиша y включает желтый}
         Setfillstyle(1,0);
         FillEllipse(150,150,20,20);
         setcolor (4);
         circle (150,150,20);
         Setfillstyle(1,0);
         FillEllipse(150,240,20,20);
         setcolor (2);
         circle (150,240,20);
         Setfillstyle(1,14);
         FillEllipse(150,195,20,20);
         setcolor (14);
         circle (150,195,20);
       end;
'g','G':begin  {клавиша g включает зеленый}
         Setfillstyle(1,0);
         FillEllipse(150,150,20,20);
         setcolor (4);
         circle (150,150,20);
         Setfillstyle(1,0);
         FillEllipse(150,195,20,20);
         setcolor (14);
         circle (150,195,20);
         Setfillstyle(1,2);
         FillEllipse(150,240,20,20);
         setcolor (2);
         circle (150,240,20);
        end;
end;
until c=#27; {клавиша Esc - выход}
CloseGraph;
end.
Porsche вне форума Ответить с цитированием
Старый 14.05.2010, 23:50   #2
Porsche
 
Регистрация: 11.05.2010
Сообщений: 6
По умолчанию

есть мысли у кого-нибудь?
Porsche вне форума Ответить с цитированием
Старый 15.05.2010, 00:13   #3
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Можно использовать библиотеку ncurses =)
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Светофор junkie Паскаль, Turbo Pascal, PascalABC.NET 7 23.12.2010 19:22
компонент светофор на основе PaintBox _test_ Помощь студентам 2 25.12.2009 11:09
Светофор. Графика. Паскаль. Серафимий Долговяз Помощь студентам 5 10.10.2009 10:38