Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 6: Программирование на Visual Basic искусственного интеллекта. Продолжение 2
Шрифт:
В главном (переднем) слое находятся динамические изображения, которые изменяются от кадра к кадру и за счёт этого перемещаются на экране. Они должны рисоваться каждый раз, когда обновляются анимированные изображения.
Другие пояснения этой игры можно найти (если необходимо) в книгах с сайта ZharkovPress.ru.
22.2. Правила игры
1. После запуска игры на экране появляется форма с пользовательским интерфейсом игры (рис. 22.3).
Рис. 22.3.
Слева в верхней части экрана мы видим индикатор энергии Адама, которая уменьшается по мере течения времени.
Правее находятся надпись “Очки: 0” и Бонус в виде начального времени, которое стремительно уменьшается.
Ниже расположен рисунок, на котором Ева кричит Адаму: “Bring me fire!!!” (Принеси мне огонь).
Левее находится рисунок Адама с озабоченным видом.
Ниже мы видим указание игроку, управляющему изображением Адама: “Соберите факелы и принесите Еве”.
Управление Адамом состоит в том, чтобы щёлкать по экрану указателем мыши в том месте экрана, куда должен идти Адам, чтобы взять факел. После каждого щелчка появляется пунктирная линия, показывающая, куда пойдёт Адам.
Чтобы Адам подпрыгнул от падающих валунов (которые извергают вулканы, управляемые искусственным интеллектом) или от пролетающей огромной птицы эпохи динозавров (которые видны на предыдущем рисунке), следует нажать клавишу пробела.
Очки засчитываются за каждый собранный факел данного уровня, за оставшееся время бонуса и за энергию игрока, оставшуюся в конце каждого уровня.
Адам потеряет энергию, если он будет поражён валуном или птицей. Адам будет подскакивать, чтобы не быть поражённым этими объектами. Адам также потеряет энергию, если он упадёт с большой высоты.
Звучит мелодия начала игры.
2. Через несколько секунд поясняющая надпись “Соберите факелы и принесите Еве” исчезает (чтобы не заслонять игровое поле).
3. Щёлкаем указателем мыши в том месте формы, куда должен идти Адам, чтобы взять факел. После каждого щелчка появляется пунктирная линия, показывающая, куда пойдёт Адам.
Например, щёлкаем по первому факелу, который расположен по горизонтали справа от Адама. На этом пути нет настилов, поэтому Адам без помех берет этот факел, и игроку начисляются 200 очков (рис. 22.4)
Рис. 22.4. Игроку начислено 200 очков.
4. К другим факелам подойти не так просто, так как мешают настилы. И Адам может пройти к факелам только через промежутки в настилах и по лестницам.
Щёлкаем указателем мыши в промежутках между настилами и по лестницам, указывая Адаму путь к факелам.
Мы взяли ещё один факел и получили 500 очков (рис. 22.5).
Рис. 22.5. Игроку начислено 500 очков.
5. Напомним, что, чтобы Адам подпрыгнул от падающих валунов (которые извергают вулканы) или от пролетающей огромной птицы эпохи динозавров, следует нажать клавишу пробела.
Мы не успели нажать клавишу пробела, Адам не подпрыгнул и был сбит валуном. Энергия у Адама закончилась (на индикаторе вверху), и игра тоже закончилась (рис. 22.6).
Звучит
6. Для начала новой игры следует нажать кнопку “Новая игра”.
7. Если нам нужна справка о правилах игры, то щёлкаем кнопку Помощь. Последовательно появляются несколько библиотечных панелей MsgBox с записанными нами в программу текстами (рис. 22.7 – 22.9).
8. Если в игре участвует несколько человек, то победителем считается тот, кто набрал большее количество очков.
На основании этих правил можно сформулировать другие правила игры с использованием искусственного интеллекта, и любые правила ввести в показанные справочные панели.
И, естественно, в качестве графических изображений объектов и звуковых файлов игры можно использовать файлы различных форматов (с внесением соответствующих изменений в приведённую далее программу).
Рис. 22.6. Игра закончена.
Рис. 22.7. Первая часть справки.
Рис. 22.8. Вторая часть справки.
Рис. 22.9. Третья часть справки.
22.3. Создание проекта
Создаём проект по обычной схеме: в VS в панели New Project в окне Project types выбираем тип проекта Visual Basic, Windows, в окне Templates выделяем шаблон Windows Forms Application, в окне Name записываем имя проекта HankTheCaveMan и щёлкаем OK.
Так как, в отличие от указанного выше оригинала, в нашем проекте при загрузке графических файлов имя проекта будет определяться в программе, то сейчас в окне Name можно записать любое имя. Создаётся проект, появляется форма Form1 в режиме проектирования (рис. 22.10). Оставляем по умолчанию или проектируем форму, как подробно описано в параграфе “Методика проектирования формы”. Например, в панели Properties (для Form1) в свойстве Font увеличиваем размер шрифта до 10. За маркеры увеличиваем размеры формы таким образом, чтобы в свойстве Size были, например, такие величины: 405; 456.
С панели инструментов Toolbox переносим в нижнюю часть формы элемент управления типа окна текста TextBox.
Ниже размещаем кнопку Button с номером 1. В панели Properties (для этого элемента) в свойстве Text записываем “Новая игра”.
Правее размещаем кнопку Button. В панели Properties (для этого элемента) в свойстве Name записываем ButtonNextLevel, а в свойстве Text записываем Уровень.
Правее размещаем кнопку Button. В панели Properties (для этого элемента) в свойстве Name записываем buttonInstructions, а в свойстве Text записываем Помощь.