Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Графика в Pascal
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

tonechka914


Новичок

Ребятки, помогите пожайлуста:"Резиновый прямоугольник". Изменение размера прямоугольника при фиксированной координате верхнего левого угла (растягивание или сжатие за правую боковую или нижнюю стороны). Вращение прямоугольника за его произвольную вершину при фиксированной координате центра прямоугольника. Выбор точки(стороны,вершины) осуществляется графическим курсором и нажатием клавиши "Enter". Буду премного благодарна!

Код:

Procedure Kursor(x,y,n:word);
Begin
       setcolor(n);
       line(x-5,y,x+5,y);
       line(x,y+5,x,y-5);
end;
{----------------}
Procedure dvizhenie;
Var gd,gm,x1,y1,x2,y2:integer;
Begin
    gd:=Detect;
     ent:=0;
     initgraph(gd,gm,'');
     cleardevice;
     x:=20;
     y:=300;
     repeat
         kursor(x,y,10);
         if keypressed then
         begin
             kursor(x,y,0);
              a:=readkey;
              if a=chr(0) then
               begin
                a:=readkey;
                case ord(a) of
               72:begin y:=y-10;
                end;
                80:begin y:=y+10;
                 end;
                 75:begin x:=x-10;
                  end;
                  77: begin x:=x+10;
                   end;
       else
            write('Нажата не стрелка');
         end;
       end
     else
         case ord(a) of
          13:begin
               if ent=0 then
               begin
                    x1:=getx;
                    y1:=gety;
                    ent:=1;
                 end
            else
                begin
                    x2:=getx;
                     y2:=gety;
                    end;
               begin
                    rectangle(x1,y1,x2,y2);
                end;
             end;
        27:d:=3;
   else
        begin gotoxy(20,24);
                writeln('Нажата не стрелка');
                repeat
                until keypressed;
              end;
            end;
          end;
  until (x>=630) or (y>=470) or (x<=10) or (y<=10) or (d=3);
 closegraph;
End.

Всего сообщений: 1 | Присоединился: апрель 2012 | Отправлено: 18 апр. 2012 18:13 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com