Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практическая работа. Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей





 

Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей.

Загрузим изображения фона и автомобиля из файлов gorod.gif и avto.jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля SetPictureTransparent(avto,true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля. Все переменные имеют тип integer.

Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.

 

 

program Avto1;

uses GraphABC;

var fon, avto, x,y, w,h: integer;

Begin

SetWindowSize (600, 300);

fon:= LoadPicture ('город.gif');

avto:= LoadPicture ('автомобиль.jpg');

SetPictureTransparent (avto, true);

x:= 10; y:= 170; w:= 240; h:= 100;

while x < 400 do

Begin

ClearWindow;

DrawPicture (fon, 0, 0);

DrawPicture (avto, x, y, w,h);

x:= x + 10; w:= w - 2; h:= h - 1;

sleep (20); Redraw;

End;

End.

program babochka;

uses Graphabc;

var f, b, x, y: integer;

Begin

setwindowsize (450, 550);

b:= LoadPicture ('цветы.jpg');

f:= LoadPicture ('бабочка.gif');

x:= 10; y:= 350;

while x<= 200 do

Begin

DrawPicture (b, 0, 0);

Setpicturetransparent (f, true);

DrawPicture (f, x, y);

x:= x + 7;

y:= y- 4;

sleep (200);

End;

End.

 

Загрузим изображение циферблата из файла таймер.jpg, поместив описатель в переменную fori. Зададим координаты центра вращения стрелок (хО.уО) и начальные значения секунд sec:=0 и минут min:=0.

На каждом шаге цикла с постусловием repeat...until будем увеличивать значение секунд на 1 до тех пор. пока время не превысит 60 мин. или не нажата любая клавиша (keyPressed). Значения минут вычислим целочисленным делением секунд на 60: min:= secdiv60.

Секундную стрелку будем рисовать линией длиной 120 и толщиной 3 пикселя, а минутную - 100 и 7 пикселей. Радианная мера угла поворота секундной стрелки равна Pi*sec/30. а минутной Pi"min/30. Координаты концов стрелок (х,у) вычисляем по формулам тригонометрии и округляем до целых Например, для секундной стрелки x:=x0+Round<120"sin(Pi'sec/30))i y:=yO-Round(120'cos(Pi'sec/30)).

 

 

Program Timer;

uses crt, GraphABC;

var fon, x0, y0, x, y, R, min, sec: integer;

Begin

SetWindowSize (360, 480); HideCursor;

x0:= 173; y0:= 300; min: =0; sec:= 0;

fon:= LoadPicture ('таймер.jpg');

Repeat

DrawPicture (fon, 0, 0);

sec:= sec + 1; min:= sec div 60;

x:= x0 + Round (120 * sin (Pi * sec / 30));

y:= y0 – Round (120 * cos (Pi * sec / 30));

SetPenWidth (3);

Line (x0, y0, x, y);

x:= x0 + Round (100 * sin (Pi * min / 30));

y:= y0 – Round (100 * cos (Pi * min / 30));

SetPenWidth (7);

Line (x0, y0, x, y);

sleep (1000);

until (min >= 60) or keyPressed;

End.

Date: 2015-07-01; view: 518; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию