Чтение онлайн

на главную - закладки

Жанры

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 6: Программирование на Visual Basic искусственного интеллекта. Продолжение 2
Шрифт:

Теперь игрок щёлкает на тому пустому квадрату, в который должен переместиться мяч, чтобы образовать прямую линию из мячей одинакового цвета.

Мяч перемещается в эту клетку.

Отметим, что игрок может разместить мяч и не вплотную к мячу того же цвета, а через один или несколько пустых квадратов, чтобы прогнозировать сборку как можно более длинной линии из мячей одинакового цвета (так как на место уже имеющихся в сетке мячей компьютер с искусственным интеллектом не может размещать другие мячи). Однако игрок должен помнить, что компьютер со своим искусственным интеллектом (для данной игры) может “разгадать” замысел игрока и разместить свой маленький мяч в пустой квадрат между большими

мячами игрока (тем самым, разорвав сплошную линию из мячей игрока).

5. После этого искусственный интеллект размещает в пустующие клетки следующие 3 больших мяча произвольных цветов, а 3 маленьких блокирующих мяча переносит в другие квадраты (чтобы помешать игроку построить прямую линию из 5 и более мячей), рис. 21.5.

Ниже надписи “Следующие мячи:” компьютер с искусственным интеллектом размещает 3 мяча, которые появятся на поле после перемещения игроком мяча из одного квадрата в другой.

6. Аналогично игрок снова щёлкает по выбранному им мячу и по той клетке, в которую мяч перемещается. После этого искусственный интеллект снова размещает в пустующие клетки следующие 3 больших мяча произвольных цветов, а 3 маленьких блокирующих мяча переносит в другие квадраты (чтобы помешать игроку построить прямую линию из 5 и более мячей).

Рис. 21.5. Добавляются ещё 3 больших мяча, а 3 маленьких мяча – в новых квадратах.

Рис. 21.6. Игрок подготовил вертикаль из 5 чёрных мячей с пустым 6-м квадратом.

7. На рис. 21.6 показано, как игрок подготовил вертикаль из 5 чёрных мячей с пустым 6-м квадратом.

8. На следующем ходе игрок переносит в этом 6-й пустой квадрат чёрный мяч, тем самым собрав вертикальную линию из 6 чёрных мячей.

Как только игрок соберёт горизонтальную, вертикальную или диагональную прямую линию из 5 и более мячей одинакового цвета, игроку начисляются очки (по 100 очков за каждый собранный в линию мяч), а линия из собранных мячей исчезает, освобождая квадраты, в которые искусственный интеллект далее будет размещать новые мячи.

На рис. 21.7 игроку начислено 600 очков.

9. По такой схеме игрок быстро щёлкает мышью по мячам, стараясь за отведённое время собрать как можно больше линий из мячей одинакового цвета.

Искусственный интеллект же периодически (после каждого второго щелчка игрока и следующего за ним перемещения пульсирующего мяча в новую клетку) уничтожает линию из 5 и более мячей (если такая линия собрана игроком), начисляет очки, дополняет квадраты 3 новыми разноцветными мячами (произвольным образом), а 3 маленьких блокирующих мяча переносит в другие квадраты (чтобы помешать игроку построить прямую линию из 5 и более мячей)..

Рис. 21.7. Игроку начислено 600 очков.

10. По окончании игры (например, по окончании заданного времени) игрок выбирает в меню Очки команду “Показать средние” очки.

Появляется стандартная панель MessageBox.Show с выходной информацией (рис. 21.8):

Очки:

Время:

Среднее значение: (очков/сек).

11.

По среднему значению очков в секунду определяется победитель в игре.

Рис. 21.8. Панель MessageBox.Show с выходной информацией.

12. Таким образом, после начала игры идёт отсчёт времени при помощи таймера.

Для каждого сеанса (попытки) игры одного или нескольких игроков задано определённое время, в данном примере, 60 секунд, по истечении которого звучит мелодия файла win.wav.

Игрок прекращает щёлкать мышью и смотрит на заработанные им очки.

13. Для начала новой попытки игрок снова щёлкает команду Новая в меню Игра.

14. Для закрытия игры следует в меню Игра выбрать команду Выход (или на форме щёлкнуть значок Close).

На основании этих правил можно сформулировать другие правила игры с использованием искусственного интеллекта, и любые правила ввести в справочную форму игры, которая появится после выбора команды Справка в меню Помощь по разработанной нами ранее (или в книгах с сайта ZharkovPress.ru) методике.

21.3. Создание проекта

Создаём проект по обычной схеме: в VS в панели New Project в окне Project types выбираем тип проекта Visual Basic, Windows, в окне Templates выделяем шаблон Windows Forms Application, в окне Name записываем имя проекта Line и щёлкаем OK. Создаётся проект, появляется форма Form1 в режиме проектирования (рис. 21.9). Оставляем по умолчанию или проектируем форму, как подробно описано в параграфе “Методика проектирования формы”. За маркер увеличиваем размеры формы таким образом, чтобы в панели Properties (для Form1) в свойстве Size были значения, например, 880; 630. Устанавливаем белый цвет Window для фона формы в свойстве BackColor.

Для задания режимов и управления игрой воспользуемся каким-либо элементом управления или компонентом. Как и выше, с панели инструментов Toolbox переносим на форму элемент управления MenuStrip и щёлкаем по нему (ниже формы в режиме проектирования). На форме Form1 появляются окна с надписью Type Here (Печатайте здесь), в которые записываем команды сначала на английском языке:

File, New Game, Save, Load, Exit;

Score, Show Score, Calculate Avg;

Help, Help, About.

Теперь в панели Properties (для каждой команды) в свойстве Text изменяем английские команды на соответствующие русские:

Игра, Новая, Сохранить, Загрузить, Выход;

Очки, Показать, Рассчитать средние;

Помощь, Справка, О программе (рис. 21.10 – 21.12).

Рис. 21.9. Форма Form1 в режиме проектирования.

Рис. 21.10. Команды меню Игра. Рис. 21.11. Команды меню Очки. Рис. 21.12. Меню Помощь.

Поделиться:
Популярные книги

Дарующая счастье

Рем Терин
Любовные романы:
любовно-фантастические романы
6.96
рейтинг книги
Дарующая счастье

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Царь поневоле. Том 1

Распопов Дмитрий Викторович
4. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Царь поневоле. Том 1

Гром над Империей. Часть 4

Машуков Тимур
8. Гром над миром
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Гром над Империей. Часть 4

Толян и его команда

Иванов Дмитрий
6. Девяностые
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Толян и его команда

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Невеста клана

Шах Ольга
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Невеста клана

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Черный дембель. Часть 1

Федин Андрей Анатольевич
1. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 1

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Дороги Пламенных

Дмитриева Ольга Олеговна
4. Пламенная
Фантастика:
боевая фантастика
5.00
рейтинг книги
Дороги Пламенных

Наследник павшего дома. Том II

Вайс Александр
2. Расколотый мир [Вайс]
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том II

Измена. Свадьба дракона

Белова Екатерина
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Измена. Свадьба дракона