Упражнение 11

Игра "15"

 

На экране находятся 16 клеток по 4 в ряд. В начале игры в 15 клетках высвечено случайное число в диапазоне 1...15. Последняя клетка не заполнена. Игрок должен за минимальное количество ходов расположить числа в порядке возрастания. Каждый ход заключается в щелчке по одной панели с цифрами, после чего она перемещается на пустую панель.

1. Поместить на форму объекты Panel1,..., Panel16 и выделить их

2. В окне Object Inspector выбрать страницу Events. Дважды щелкнуть на событии OnClick. Будет создан обработчик событий, общий для всех выделенных объектов.

4. Записать код:

procedure TForm1.Panel1Click(Sender: TObject);

var T,L : integer;

begin

With ( Sender as TPanel ) do

begin

L := Panel16.Left;

T := Panel16.Top;

Panel16.Left := Left;

Panel16.Top := Top;

Left := L; Top := T; end;

end;

5. Добавить подсчет количества сделанных игроком ходов.


Упражнение 12