Практическая работа по программированию в среде Lazarus «Технология Drag-and-Drop». При изучении технологии Drag-and-Drop» мы выполняем несколько практических работ по программированию несложных игр, основная цель которых – обобщение, систематизация и закрепление на практике изученного ранее материала. В этой практической работе обучающиеся выполняют проект "Пазл"
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Программирование игр в среде Lazarus»
Практическая работа «Пазл»
Автор: Кочергина Кристина Николаевна, педагог дополнительного образования МУДО «Сланцевский ЦИТ»
Создать новый проект и сохранить его в отдельной папке.
Придать форме название Практическая работа «Пазл».
На форму добавить компонент Image с закладки Additional. В свойстве Pictureкомпонента Image выбрать нужный рисунок. Свойство Proportional со значением true изменяет размер загруженной картинки в соответствии с размерами компонента. При необходимости растянуть компонент, чтобы был виден весь рисунок.
Добавить нужное количество компонентов Image и настроить их свойства согласно таблицы. Все компоненты Image должны иметь одинаковые размеры, совпадающие с картинкой.
Компонент
Свойства
Описание
Форма
Рабочая область программы
Image1
, загрузить изображение в компонент
, картинка примет размеры компонента
Пример изображения, который надо собрать
Image2
Image3
Image4
Image5
, загрузить фоновое изображение в компонент
, картинка примет размеры компонента
Область состоящая из 4 изображений, в которые загружены одинаковые картинки. В этой области собирается пазл
Image6
Image7
Image8
Image9
, загрузить фрагмент пазла в компонент
, картинка примет размеры компонента
4 изображения, из которых собирается пазл. Эти изображения можно перетаскивать левой кнопкой мыши
Button1
Кнопка сброса настроек, позволяет начать собирать пазл с начала
Добавить кнопку Начать заново, щелчок по которой возвращает все изображения пазла на место. Для того в событиях этого компонента щелкнуть по событию OnClick и написать следующий код
procedure TForm1.Button1Click(Sender: TObject);
begin
Image6.Visible:=true; // сделать видимым компонент Imageотвечающего за картинку пазла
Image7.Visible:=true;
Image8.Visible:=true;
Image9.Visible:=true;
Image2.Picture.LoadFromFile('фон.jpg'); // загрузить в компонент Image изображение фона
// пазла
Image3.Picture.LoadFromFile('фон.jpg');
Image4.Picture.LoadFromFile('фон.jpg');
Image5.Picture.LoadFromFile('фон.jpg');
end;
В компоненте Image2 в событие DragDrop написать следующий код:
(Sender as TImage).Picture:=(Source as TImage).Picture;
// свойство Picture компонента Image, в который помещается перетаскиваемый
//фрагмент пазла, принимает значение перетаскиваемого изображения
(Source as TImage).Visible:=false; // компонент Image, который перетаскивается в
//данный момент, становиться невидимым
end;
Во всех остальных компонентах Image, которые отвечают за область готового пазла, т.е. Image3,4,5 в событие DragDrop сослаться на компонент для которого написан код, т.е. в нашем случае на Image2
В одном из компонентовImage, которые отвечают за область готового пазла,в событие DragOver написать следующий код:
Accept:=true; // разрешить принимать компонент, который перетаскивается
end;
Во всех остальных компонентах Image, которые отвечают за область готового пазла, т.е. Image3,4,5 в событие DragDrop сослаться на компонент для которого написан код, т.е. в нашем случае на Image2.