| |
Delphi - делаем компьютерные игры
Виктор Карпинский, Владимир Молочков (В. Новгород)
Интереснее всего разрабатывать, разумеется, компьютерные игры. Начинающему программисту вполне по силам создавать свои собственные, пусть и не очень сложные, но весьма занимательные игры. Вообще, именно разработку оригинальных компьютерных игр мы рекомендуем начинающим программистам: в процессе этой разработки очень удобно осваивать разнообразные возможности языков и систем программирования.
Некоторые из предложенных ниже примеров - не игры, а более или менее безобидные программистские шутки. Опыт показывает, что начинающие программисты любят их придумывать. Если это действительно шутка, если она не причиняет вреда компьютеру и программному обеспечению того, над кем вы решили подшутить, то на здоровье, пишите и такие программы. Хотя мы все-таки рекомендуем ограничить их применение первым апреля.
Игра "Крестики-нолики"
Сама по себе игра "Крестики-нолики" хорошо известна. Для обучения программированию она интересна тем, что в ней используется квадратное игровое поле N x N (в детском варианте 3 x 3). С точки зрения программирования это двумерный массив. А после знакомства с основными алгоритмическими конструкциями (ветвлениями IF... THEN и циклами FOR) уместно познакомиться именно с массивами. На самом деле с массивами мы уже работали. Массив есть составная структура данных, то есть переменная, куда можно записать не одно значение, а несколько. Список ListBox1.Items или совокупность текстовых строк Memo1.Lines - это примеры массивов. Признаком массива в тексте программы являются квадратные скобки. В квадратных скобках пишется номер одного из хранящихся в массиве данных. Этот номер называется индекс. Результат применения индекса к массиву, то есть конструкция типа ListBox1.Items[k], называется элементом массива. С элементами массива можно делать все то же, что и с обычными переменными. Мы делали это в предыдущих примерах.
Двумерный массив имеет два индекса. Первый означает номер строки, а второй - номер столбца (как в игре "Морской бой"). Например, если в создаваемой программе "Крестики-нолики" игровое поле будет представлено переменной Pole, то элемент этого массива Pole[i,k] есть клеточка на пересечении строки номер i и столбца номер k.
Чтобы программа "Крестики-нолики" выглядела поинтереснее, вместо обычных клеточек игрового поля мы будем использовать геометрические фигуры (например, кружочки), а вместо расстановки там крестиков и ноликов будем менять цвет этих кружочков.
1. Создайте новый проект, сохраните файл и проект в папке "Пример 1". Измените заголовок (Caption) и размеры (Height и Width) формы так, как вам кажется подходящим для игры "Крестики-нолики". Работу мы начнем с описания необходимых глобальных структур данных. Но сначала посмотрим, о каких геометрических фигурах в качестве клеток игрового поля идет речь. Найдите палитру компонентов "Дополнительные" (Additional), она вторая после Standard. Выберите компонент Shape (фигура) и внедрите его на форму. Помимо того, что мы сейчас поэкспериментируем с этим компонентом, внедрить его надо еще и потому, что при этом в автоматически создаваемую часть кода программы добавятся необходимые коды. Позже, когда программа заработает, мы эту фигуру Shape удалим.
|