Программирование игр для Windows. Советы профессионала


Конечный автомат, управляемый окружающей средой


Теперь наступает приятная часть. Мы можем создать КА, в котором состояний перехода представлены рядом переменных. Другими словами, мы управляем конечным автоматом с помощью самой игровой среды, в которой он находится, так же, как наш собственный мозг реагирует на окружающую обстановку.

Начнем создавать КА с того, что он будет случайным образом выбирать одно из нижеперечисленных состояний:

§          преследование;

§          уклонение;

§          случайное;

§          шаблон.

Но в настоящей игре для управления состоянием КА вместо случайных чисел было бы лучше привлечь саму игровую ситуацию. Ниже приведен пример КА действующего по обстоятельствам:

§          Если игрок близко, КА переключается в состояние Шаблон;

§          Если игрок далеко, можно заставить ПК охотиться за ним, используя состояние Преследование;

§          Если игрок обрушил на наше маленькое создание шквальный огонь, КА моментально переходит в состояние Уклонение;

§          Наконец, при любой иной ситуации КА отрабатывает состояние Случайное. Рисунок 13.5 демонстрирует подобное поведение конечного автомата.

Перейдем к программной реализации описанного КА. Мы не станем создавать сложное игровое пространство. Для демонстрации нам достаточно иметь чистый экран с парой точек, изображающих игрока и противника. Чтобы понять суть, этого вполне достаточно. Программа из Листинга 13.4 моделирует полет действительно назойливой мухи, которая буквально заедает игрока.

Листинг 13.4. Умная «Муха» (BFLY.C).

// ВКЛЮЧАЕМЫЕ ФАЙЛЫ /////////////////////////////////////

#include <stdio.h>

#include <graph.h>

#include <math.h>




Начало  Назад  Вперед



Книжный магазин