Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 2: Программирование на Visual C# искусственного интеллекта (продолжение 1). Валерий Алексеевич Жарков

Чтение книги онлайн.

Читать онлайн книгу Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 2: Программирование на Visual C# искусственного интеллекта (продолжение 1) - Валерий Алексеевич Жарков страница 14

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 2: Программирование на Visual C# искусственного интеллекта (продолжение 1) - Валерий Алексеевич Жарков

Скачать книгу

checku (int x, int y, ref int r)

      {

      if ((arr [x, y] == 2) && (arr [x, y +1] == 2) &&

      (arr [x, y +2] == 2) &&

      (arr [x, y +3] == 2)) r = 2;

      if ((arr [x, y] == 1) && (arr [x, y +1] == 1) &&

      (arr [x, y +2] == 1) &&

      (arr [x, y +3] == 1)) r = 1;

      }

      public void check2r (int x, int y, ref int r)

      {

      if ((arr [x, y] == 2) && (arr [x +1, y] == 2) &&

      (arr [x +2, y] == 2) &&

      (arr [x +3, y] == 2)) r = 2;

      if ((arr [x, y] == 1) && (arr [x +1, y] == 1) &&

      (arr [x +2, y] == 1) &&

      (arr [x +3, y] == 1)) r = 1;

      }

      public void checkr (int x, int y, ref int r)

      {

      if ((arr [x, y] == 2) && (arr [x +1, y +1] == 2) &&

      (arr [x +2, y +2] == 2) &&

      (arr [x +3, y +3] == 2)) r = 2;

      if ((arr [x, y] == 1) && (arr [x +1, y +1] == 1) &&

      (arr [x +2, y +2] == 1) &&

      (arr [x +3, y +3] == 1)) r = 1;

      }

      public void checkl (int x, int y, ref int r)

      {

      if ((arr [x, y] == 2) && (arr [x – 1, y +1] == 2) &&

      (arr [x – 2, y +2] == 2) &&

      (arr [x – 3, y +3] == 2)) r = 2;

      if ((arr [x, y] == 1) && (arr [x – 1, y +1] == 1) &&

      (arr [x – 2, y +2] == 1) && (

      arr [x – 3, y +3] == 1)) r = 1;

      }

      }

      }

      После этого добавления в панели Solution Explorer появляется этот файл, как показано выше. Дважды щёлкая в SE по имени файла, любой файл можно открыть, изучить и редактировать.

      12.5. Запуск игры

      Строим и запускаем программу на выполнение обычным образом:

      Build, Build Selection; Debug, Start Without Debugging.

      В ответ Visual C# выводит форму Form1 с показанным выше полем игры из кружочков (ноликов).

      Далее мы играем с компьютером в крестики-нолики согласно приведённым выше правилам.

      По методике данной главы можно разрабатывать самые разнообразные игры в крестики-нолики, однако при следующем условии.

      Часть IV. Методология программирования искусственного интеллекта в спортивных играх на примере игры в теннис для Игрока с Компьютером или двух Игроков

      Глава 13. Методика программирования искусственного интеллекта в игре в теннис на основе элементов управления на одной форме

      13.1. Общие сведения

      Разработаем методику проектирования и программирования типичной и широко распространённой игры в теннис с мячом и двумя ракетками. Если в предыдущей книге (с сайта ZharkovPress.ru) игру в теннис мы разработали на основе графических файлов, то в данной главе эту же игру разработаем на основе стандартных элементов управления с панели инструментов Toolbox, следуя проекту [см. Список литературы: Game Tiny Tennis from the website of Microsoft corporation], но с нашими усовершенствованиями для современной версии Visual Studio.

      Кратко, сюжет игры заключается в следующем. После старта игры появляется форма Form1, слева на форме (точнее, в клиенткой области формы) находится ракетка Игрока 1, справа – ракетка Игрока 2 (по первому режиму игры) или Компьютера в роли Игрока 2 (по второму режиму игры). Мяч произвольным образом прыгает в пределах 4-х границ формы, отскакивая от верхней и нижней границ формы и двух ракеток. Левая граница формы – это ворота Игрока 1, а правая граница формы – это ворота Компьютера в роли Игрока 2 или самого Игрока 2. Если мяч коснётся левой или правой границ формы, считается, что один игрок забил мяч в ворота другого игрока, счёт увеличивается в пользу забившего мяч игрока, а мяч снова появляется в произвольной точке формы и летит в произвольном направлении, заданном генератором случайных числе класса Random.

      В задачу пользователя в роли Игрока 2 (по первому режиму игры, заданному по умолчанию) входит – при помощи

Скачать книгу