Войти

Показать полную графическую версию : Рисование в GraphABC


Наташок
03-01-2011, 14:56
Помогите пожалуйста написать код рисования вот этой штуки
program kkk;
uses crt,graphABC;
type ColorType=integer;
var x,y,r:integer;

begin
ClearWindow;
SetPenWidth(4);
circle(160,150,50);
SetBrushColor(4);
circle(145,140,5);
circle(175,140,5);
SetPenWidth(4);
Arc(160,185,30,20,160);
end. только чтобы после того как мы ее нарисовали, она исчезла, потом появилась и начала передвигаться по полю в любом направлении.Пожалуйста, очень срочно,помогите!Заранее благодарна)На Паскале.

lxa85
03-01-2011, 21:10
Наташок, вот все что у тебя в begin - end записываешь в процедуру.
Убираешь координатные константные значения (160, 150, 145, 175, 185) и т.д. а вместо них пишешь относительные.
Задаешь центр изображения, например O(x,y) а от него все остальные точки. Точка будет иметь координаты (Ox+x; Oy+y)
Пишешь в основной программе обработку клавиш вперед, назад, влево, вправо, диагонали, а в выполняемые операции прописываешь функцию затирания (идентичную рисованию, только другим цветом), изменения координат рисунка (шаг) и функцию рисования объекта на новом месте.

Процедуре передается точка O(x, y), относительно которой и будет строится новое изображение.
Таким образом у тебя получится перемещение объекта на экране.
Функции "Начать заново" (Нажатие клавиши "N" допустим) - приводят значения всех переменных к первоначальному состоянию, Функция "Выход"(Клавиша Esc) - завершает работу программы.




© OSzone.net 2001-2012