• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Доделать код в графике турбо паскаль

  • Автор темы Автор темы omik
  • Дата начала Дата начала

omik

Ученик
Регистрация
8 Апр 2011
Сообщения
5
Реакции
0
Баллы
0
Доделать код в графике турбо паскаль

надо добавить клавиши для увеличения и уменьшения шага. Надо до пятницы крайняк понедельник. ну очень надо
код:
uses crt,graph;
var x,y:integer;
k:char;

Procedure charik (var a:integer;b:integer);
begin
SetColor(10);
Circle(a,b,40);
SetColor(1);
Circle(a,b,40);
end;
begin
clrscr;
initgraph(x,y,'c:\tp71\bgi');
x:=GetMaxX div 2;Y:=GetMaxY div 2;

While (x>60) and (x<600) and (y>40) and (y<420) do
begin
charik(x,y); k:=#0;
while (k<>#77) and (k<>#75) and (k<>#72) and (k<>#80) do
begin
k:=readkey;
k:=readkey;
end;
ClearDevice;
Case k of
#77: x:=x+10;
#75: x:=x-10;
#72: y:=y-10;
#80: y:=y+10;
end;
end;
SetColor(1);
Circle(600, GetMaxY div 2, 35);
Repeat Until KeyPressed;
closegraph;
end.
 
Немножко переделал. Выход по "Esc".
Код:
uses crt,graph;
var
 x,y,Step:integer;
 k:char;

Procedure charik (a:integer;b:integer);
begin
 Circle(a,b,40);
end;

begin
 clrscr;
 initgraph(0,0,'c:\tp71\bgi');
 x:=GetMaxX div 2;
 Y:=GetMaxY div 2;
 Step:=10;
 SetColor(10);
 Repeat
  charik(x,y);
  k:=ReadKey;
  ClearDevice;
  Case k of
   #77: if (x+Step)<600 then x:=x+Step;
   #75: if (x-Step)>60  then x:=x-Step;
   #72: if (y-Step)>40  then y:=y-Step;
   #80: if (y+Step)<420 then y:=y+Step;
   '+': Step:=Step+1;
   '-': if (step-1)>0 then Step:=Step-1;
  end;
 Until k=#27;
 closegraph;
end.
 
Назад
Сверху