Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

Лабораторная работа 18. Движение объектов по многоцветному фону

1. Как вывести на экран картинку формата pcx

Задание 1

Скопируйте в Ваш каталог файлы ex_show.pas, bods.pas, towns.pcx, artists.pcx, pcx_img.exe, nosorog.pcx, ex0_move.pas, ex1_move.pas, ex2_move.pas из каталога PAS_TXT. Запустите среду Turbo Pascal.

Задание 2

Загрузите файл ex_show.pas. Разберитесь, как используется процедура SHOW. Выведите на экран картинки из файлов bods.pcx, towns.pcx.

Задание 3

Попробуйте выполнить эту программу для других графических режимов дисплея: VGA, CGA. Чтобы не портить файл ex_show.pas, войдите в верхнее меню по <F10>, выберите режим FILE, там режим Save as... (записать файл с новым именем). Запишите файл с новым именем и модифицируйте его. Можно снова воспользоваться исходным файлом.

Задание 4

Напишите программу движения (например, справа налево) по экрану дисплея какого-либо сложного цветного объекта по многоцветному фону. В качестве фона используйте носорога из файла nosorog.pcx. С помощью программы pcx_img.exe вырежьте из файла towns.pcx (bods.pcx, artists.pcx) какую-либо небольшую картинку и используйте ее в качестве движущегося объекта.

2. Технология движения объектов по многоцветному фону

Существует достаточно много приемов организации движения по многоцветному фону. С одним из них Вы сегодня познакомитесь. Назовем этот прием “Движение с подложкой”. Суть “встраивания” объекта в фон:

а) создаем в графическом редакторе небольшой объект (или объекты), предназначенный для движения;

б) рисуем точно такой же объект, имеющий те же контуры, что и первый, но отличающийся от первого тем, что он весь внутри закрашен белым (подложка);

в) выводим на одно и то же место экрана с фоном сначала подложку в режиме ORPut, затем подложку в режиме XORPut, потом саму картинку в режиме XORPut.

Задание 5

В среду Turbo Pascal загрузите файл ex0_move.pas. Разберитесь в описанном способе встраивания объекта в фон. Попробуйте другие комбинации режимов вывода картинки.

Задание 6

Подготовьте в графическом редакторе свой движущийся объект и подложку к нему. Выведите его на экран предложенным способом. Результат продемонстрируйте преподавателю.

Задание 7

Загрузите файл ex1_move.pas. В этой программе движение объекта выполняется по следующему алгоритму:

  • выводится фон;

  • с помощью GetImage в памяти сохраняется фрагмент фона, на который будет выводиться объект;

  • на место этого фрагмента выводится объект;

  • е сли объект необходимо двигать, то восстанавливается сохраненный фрагмент фона, а затем

Разберитесь в реализации этого алгоритма. Напишите свою программу, реализующую такое движение для созданного Вами объекта.

  • ПРОСЬБА не портить демонстрационные программы. Если Вы хотите ими воспользоваться, запишите их с новым именем и ломайте...

Понятно, что Вам не очень понравилось мигание объекта при движении. Этого мигания можно избежать, если использовать не одну, а две страницы.

Задание 8

Загрузите программу из файла ex2_move.pas. Разберитесь в используемом алгоритме. Практически он ничем не отличается от предыдущего за исключением того, что этап переписывания объекта становится не заметен и осуществляется на невидимой странице. Модифицируйте программу с Вашим объектом на этот алгоритм.

Задание 9

Модифицируйте программу так, чтобы траектория движения была ограничена:

a) объект движется только вдоль периметра экрана;

б) объект движется по коридорам, нарисованным линиями на фоне:

Задание 10*

Сделайте игру “Минное поле”. Суть игры: на экране появляется минное поле с изображением мин (простейший вариант - разноцветные кружочки). Ваш герой (его выберите сами) должен пройти через поле, не задев ни одной мины. Управление его движением осуществляется с помощью клавиш со стрелками. В случае если он заденет мину, раздается взрыв.

Задание 11*

Используя датчик случайных чисел, разработайте игру “Гонки”. Суть игры: несколько объектов выходят на старт (автомобили, паровозы, лошади, тараканы и т.п.). От игроков принимаются ставки и затем участники гонок начинают движение. К финишу приходит первым кто-то один. Затем раздаются выигрыши и предлагается новый заезд.

  • Продемонстрируйте готовые программы преподавателю.

Задание 12

Выйдите из среды Turbo Pascal. Удалите из Вашего каталога файлы ex_show.pas, bods.pas, towns.pcx, artists.pcx,pcx_img.exe, nosorog.pcx, ex0_move.pas, ex1_move.pas, ex2_move.pas.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]