КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Порядок выполнения. В Delphi разрешается определять массивы объектов, что весьма удобно, если в программе имеются группы объектов
Пояснения к работе В Delphi разрешается определять массивы объектов, что весьма удобно, если в программе имеются группы объектов, действующих примерно одинаково. Такие массивы позволяют «привязывать» разные элементы управления к одной процедуре обработки события. Способ создания массива объектов: · установить компонент (на его основе будет создаваться массив), изменить необходимые свойства; · объявить массив объектов (имя массива не должно совпадать с именем ранее установленного компонента); · написать программный код для создания объектов массива, «привязки» объектов к форме и определения их свойств (обычно код пишется в FormCreate); · если предполагается, что объекты массива должны реагировать на внешние события, то создаются и объявляются соответствующие процедуры. Элементы массива объектов имеют одинаковые имена, различаются по индексу, остальные свойства могут совпадать или отличаться. Для обращения к элементу массива объектов необходимо указать имя объекта и в квадратных скобках его номер.
Постановка задачи: Разработать приложение «Игра в пятнашки». Алгоритм игры следующий: в прямоугольной коробке находится 15 фишек, на которых написаны числа от 1 до 15. Размер коробки - 4х4, таким образом, в коробке одна пустая ячейка. В начале игры фишки перемешаны. Задача игрока состоит в том, чтобы, не вынимая фишки из коробки, выстроить фишки в правильном порядке (по возрастанию).
game:array[0..15] of TButton; d,i:integer; 3. Для формы изменить свойство AutoSize - True, выбрать событие Сreate и ввести код: Var row,col:integer; Begin d:=50;// размер кнопки For i:=0 to 15 do Begin game[i]:= TButton.Create(pole); game[i].Parent:= Form1; game[i].Width:=d; game[i].Height:=d; game[i].Font.Style:=pole.Font.Style; game[i].Font.Size:=pole.Font.Size; game[i].Caption:=inttostr(i); col:=i mod 4; //номер столбца для кнопки row:=i div 4; //номер строки для кнопки game[i].Top:=d*row; game[i].Left:=d*col; game[i].OnClick:=GameClick; End; game[0].Caption:=''; End; 4. Объявить процедуру procedure GameClick(Sender: TObject);
Procedure TForm1.GameClick(Sender: TObject); Var x0,y0,x,y,index:integer; Begin //определение номера нажатой кнопки For i:=0 to 15 do If game[i].Focused =true Then index:=i;; // координаты пустышки x0:=game[0].left; y0:=game[0].Top; //координаты нажатой кнопки x:=game[index].left; y:=game[index].Top; //если соседи по столбцу, то обмен If (x0=x) and (abs(y-y0)=d) Then Begin game[0].Left:=x; game[0].Top:=y; game[index].Left:=x0; game[index].Top:=y0; End; //если соседи по строке, то обмен If (y0=y) and (abs(x-x0)=d) Then Begin game[0].Left:=x; game[0].Top:=y; game[index].Left:=x0; game[index].Top:=y0; End; End;
randomize; For v:=1 to 20 Do Begin row:=random(15)+1; game[row].SetFocus; gameclick(game[row]); End;
Задания для самостоятельного выполнения Задание №1 Доработайте созданное приложение «Пятнашки»:
Задание №2 Разработайте приложение «Клавиатура». Приложение должно работать следующим образом: - при щелчке по одной из «клавиш» в текстовое окно добавляется выбранная буква или пробел; - при щелчке по кнопке «Очистить», текст полностью исчезает. Кнопки с буквами – это массив объектов (командные кнопки или метки). Примерный вид окна представлен на рисунке. Задание №3
Разработать игровое приложение, которое работает следующим образом: - после загрузки приложения картинки (массив объектов) меняют свои координаты случайным образом (скорость перемещения отрегулируйте сами) - при щелчке по любой картинке, она становится невидимой; - работа программы заканчивается тогда, когда все изображения становятся невидимыми. Примерный вид окна представлен на рисунке. Задание №4 Модифицировать приложение «Пятнашки»:
Задача игрока – восстановить изображение картинки из фрагментов.
Контрольные вопросы 1. Из каких объектов можно создать массив объектов? 2. Какова последовательность создания массива объектов? 3. Если в приложении используется массив из 10 объектов, каждый из которых должен реагировать на двойной щелчок мыши, сколько процедур необходимо при этом создать? 4. Могут ли объекты, входящие в массив, реагировать на несколько событий?
Дата добавления: 2014-10-23; Просмотров: 1102; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |