Реферат: Моделирование игровых программ
TextHeight = 13.
2.Создать процедуру по созданию формы (обработка события OnCreate):
procedure TForm1.FormCreate(Sender: TObject) (стр.21)
Для ее выполнения необходимо внести в программу следующие процедуры:
procedure TForm 1. Formmas (стр.18)
procedure TForm 1. NewGame (стр.17)
Процедура Formmas формирует массив клеток игрового поля. NewGame позволяет загружать картинку ‘pic_1.bmp’ из внешнего растрового файла, если при обращении к файлу происходит ошибка, то форма закрывается. Также при выполнении этой процедуры устанавливается размер формы, равный размеру картинки. Картинка разрезается на фрагменты, которые перемешиваются (процедура Mixer стр.20) и отображаются на форме (процедура ShowPole стр.19). Для перемешивания 150 раз случайным образом выбирается фрагмент изображения, находящийся рядом с пустой клеткой и перемещается в эту пустую клетку. Для отображения фрагментов на форме задаются прямоугольные области, на канву которых копируются части изображения. Форма приобретает вид:
3. Создать процедуру по обработке события OnMouseDown:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) (стр.19)
Она позволяет при нажатии на кнопку мыши вычислять номер фрагмента, на котором сделан щелчок. Далее необходимо создать процедуру Move (стр.18). В ней проверяется, свободна ли одна из соседних клеток. Если да, то этот фрагмент стирается и заново отображается в соседней клетке. Каждому фрагменту изображения поставлен в соответствие его порядковый номер. Это позволяет проверить, собраны ли номера в нужном порядке, то есть собрана ли картинка целиком. Для этого нужно создать функцию Finish (стр.17), которая будет выполнять эту проверку. Если картинка собрана, то на пустую клетку копируется последний фрагмент изображения. На экран выводится сообщение „ Цель достигнута! ” Игрок имеет возможность сыграть еще раз, выбрав „Yes ”, если он выбирает „ No ”, то программа завершает свою работу.
4. Разместить на форме компоненты MainMenu1 и OpenPictureDialog1 из страниц Standart и Dialog соответственно. Создать главное меню программы (двойной щелчок мышью по MainMenu) следующей структуры:
Игра | Уровень | Справка |
Новая | Простой | Правила игры |
Набор картинок | Средний | О программе |
Выход | Сложный |
Тогда форма примет вид:
5. Создать процедуру для пункта меню игра – новая:
procedure TForm1.N2Click(Sender: TObject) (стр.22 )
Эта процедура позволяет игроку начать игру сначала. Картинка снова разрезается на фрагменты, которые перемешиваются и отображаются на форме.
6. Для пункта набор картинок нужно сделать следующее: заполнить компонент OpenPictureDialog файлами с изображениями формата bmp, затем создать процедуру (щелчок мышью по набор картинок )
procedure TForm1.N3Click(Sender: TObject) (стр.22 ),
которая даст возможность выбирать эти изображения во время игры.
Таким образом, программа будет работать для картинки, загружаемой во время старта программы, а также позволит загружать произвольные изображения формата bmp.
7. Программируем пункт меню выход :
procedure TForm1.N11Click(Sender: TObject) (стр.21 )
Эта процедура обеспечивает выход из игры.
8. Чтобы была возможность выбора уровня игры, необходимо создать следующие процедуры:
для пункта простой - procedure TForm 1. N 8 Click ( Sender : TObject ) (стр.22 );
для пункта средний - procedure TForm1.N9Click(Sender: TObject) (стр.22 );
для пункта сложный - procedure TForm1.N10Click(Sender: TObject) (стр.23).
Уровни зависят от количества фрагментов, на которые разбивается картинка.
Простой уровень Средний уровень
Сложный уровень