Вопрос № 94495: привет кто это читает. Снова есть проблема. Нужна прога, которая выводит на экран окружность заданного диаметра, но при нажатии стрелок влево или вправо окружность должна увеличиваться или уменьшаться в диаметре на 10 пунктов. Такая вот задача. Помож...
Вопрос № 94.495
привет кто это читает. Снова есть проблема. Нужна прога, которая выводит на экран окружность заданного диаметра, но при нажатии стрелок влево или вправо окружность должна увеличиваться или уменьшаться в диаметре на 10 пунктов. Такая вот задача. Поможите, плиз
Отправлен: 09.07.2007, 17:04
Вопрос задал: Deimos25 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Vassea
Здравствуйте, Deimos25!
Прога в приложении
путь к драйверу может отличаться от С: p7gi
Приложение:
Ответ отправил: Vassea (статус: 4-ый класс)
Ответ отправлен: 09.07.2007, 20:13
Отвечает: Louken
Здравствуйте, Deimos25!
Программа в приложении:
Ответ изменен по просьбе самого эксперта [Denisss]
Приложение:
Ответ отправил: Louken (статус: 10-ый класс)
Ответ отправлен: 09.07.2007, 22:18
Отвечает: Andrew89
Здравствуйте, Deimos25! давно писал и не исправлял! проверь и измени заранее
uses crt;graph;
var mode:integer; {режим работы графического адаптера}
driver: integer; {тип графического драйвера}
err: integer; {результат инициализации графики}
ch:char; {код символа, нажатого на клавиатуре}
x,y,r:integer; {координаты центра и радиус окружности}
begin driver:=detect; {драйвер определяется автоматически}
initgraph(driver,mode,’c:pgi’); {инициализация графики}
err:=graphresult; {получаем результат}
if err<>0 {если ошибка, то сообщаем и останавливаемся} then
begin writeln('Ошибка графики: ',grapherrormsg(err));
halt(l)
end;
setbkcolor(7); {цвет фона}
setcolor(12); {цвет рисунка}
setlinestyle(0,0,3); {толщина линии}
ch:=’’; {нет нажатых клавиш}
x:=getmaxx div 2; {начальное значение х}
y:=getmaxy div 2; {начальное значение у}
r:=20; {начальное значение радиуса}
while ch<>#13 do {пока не нажата клавиши Enter}
begin clearviewport; {очистить экран}
circle(x,y,r); {нарисовать окружность}
ch:=readkey; {ждать нажатия клавиши}
if ch=#0 then ch:=readkey;
{если нажата управляющая клавиша, то прочесть вторую часть кода}
case ch of {определить и обработать нажатую клавишу}
#72: у:=у-5; {стрелка вниз}
#80: у:==у+5; {стрелка вверх}
#75: х:=х-5; {стрелка влево}
#77: х:==х+5; {стрелка вправо}
#60: r:=r-5; {уменьшить радиус}
#62: г:=r+5; {увеличить радиус}
‘W’: setlinestyle(0,0,l); {тонкая линия}
‘Q’: setlinestyle(0,0,3); {толстая линия}
end;
end;
closegraph; {закрыть графический режим}
end.
Ответ отправил: Andrew89 (статус: 4-ый класс)
Ответ отправлен: 11.07.2007, 21:54