bannerbannerbanner
Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта

Валерий Алексеевич Жарков
Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта

Полная версия

Спасибо за помощь в написании моих книг

моей жене (Жаркова Клавдия Петровна)


Введение

Это первый и единственный в мире “Справочник Жаркова по проектированию и программированию искусственного интеллекта” из нескольких томов по методологии разработки искусственного интеллекта в двухмерных и трёхмерных играх и приложениях со звуковым сопровождением для настольных компьютеров, ноутбуков и планшетов на основе популярного, совершенного и перспективного языка программирования высокого уровня Visual Basic самой мощной в мире в области программирования корпорации Microsoft (США).

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

Среда разработки (иначе, платформа, студия) Visual Studio (или коротко VS) для визуального объектно-ориентированного проектирования приложений даёт уникальную возможность быстро разрабатывать высокотехнологичные и наукоёмкие программные продукты с использованием ИИ, а также компьютерные игры с двухмерной и трёхмерной графикой также с использованием ИИ. Важно отметить, что на основе VS мы программируем не закрытые “чёрные ящики”, как это делают другие известные компьютерные фирмы, а мы создаём открытые любому пользователю (для постоянного дополнения и совершенствования) программы на базе самых мощных в мире алгоритмических языков высокого уровня Visual C#, Visual Basic и Visual C++. В данном чрезвычайно насыщенном томе (заменяющим несколько других книг) мы последовательно и всесторонне, идя от простого к сложному, излагаем методологию программирования ИИ в играх и приложениях с использований двухмерных и трёхмерных изображений.

Наша основная цель – дать читателю ту информацию, которую он больше нигде не найдёт. Поэтому мы не будем дублировать известные книги по языку программирования Visual Basic и давать подробные объяснения по теории языка VB. Если у читателя возникнуть вопросы, он легко отыщет книгу по данному языку (некоторые полезные по данной тематике книги и журналы с сайта ZharkovPress.ru приведены в нашем списке литературы) и там найдёт ответ, так как терминология по всем тематикам у нас общая. Мы будем давать лишь краткие пояснения в виде комментариев в программах, чтобы начинающий пользователь постепенно осваивал базовые дисциплины программирования ИИ на языке VB, по возможности не используя другие книги; опытному пользователю также будут полезны эти пояснения, поскольку книги по разработке ИИ на основе новых версий языка Visual Basic в мире ещё не изданы. К достоинствам нашей книги, рассчитанной на широкий круг новичков и опытных специалистов, мы относим практическую направленность, простоту изложения (без описания сложных теорий, но давая ссылки на книги, в которых эти сложные теории можно изучить), наличие подробных методик и пошаговых инструкций, большое количество примеров и иллюстраций. Теперь читателям может не потребоваться изучать сложные теоретические книги, посещать длительные и дорогостоящие учебные курсы и покупать много отдельных книг. Автор это сделал за них. Читателю необходимо лишь открыть данную книгу в интересующем его разделе (мало кто будет изучать книгу от корки до корки, хотя это и желательно) и по аналогии с разделом (по принципу: делай, как я) самостоятельно программировать ИИ в практическом приложении или игре на основе VS. И именно при проектировании ИИ в своём конкретном и профессионально интересном приложении или игре (а не отвлечённых примеров в других книгах) читатель будет изучать базовые дисциплины по данной тематике. Создавая ИИ в своём приложении или игре по методике данной и других наших книг и журналов из списка литературы и с сайта ZharkovPress.ru (а также используя справку Help из Visual Studio, как правило, заменяющей все учебники по всем языкам), читатель сможет в одиночку работать за конструктора, технолога, математика и программиста одновременно (при разработке практических приложений) или за сценариста, режиссёра, оператора, дизайнера, художника, музыкального редактора и программиста одновременно (при разработке игр) и сэкономить недели упорного труда. Если в начальных главах серии книг инструкции по разработке ИИ в играх и приложениях на базе VS подробны (в интересах новичков), то инструкции в каждой последующей главе мы даём всё короче и короче, чтобы не повторяться и экономить место в книге.

Приводим краткое содержание всех XVIII частей из трёх томов по программированию ИИ на Visual Basic.

Введение

Часть I. Краткие основы Visual Basic

Глава 1. Основные определения книги

Глава 2. Методика разработки приложений для выполнения расчётов с эффектами анимации

Глава 3. Методика разработки приложений на нескольких формах и передачи данных с одной формы на другую

Часть II. Учебная методология программирования игр и приложений с подвижными объектами

Глава 4. Методика анимации и управления подвижными объектами

Глава 5. Методика обнаружения столкновений, программирования уничтожений летающих объектов и подсчёта очков

Глава 6. Методология воспроизведения звуковых файлов

Глава 7. Методика программирования жизней, уровней сложности и вывода лучшего результата

Глава 8. Методика улучшения графики и добавления фона экрана

Глава 9. Методика программирования игры с летающими объектами на основе спрайтов

Глава 10. Игра с летающими объектами на основе спрайтов, двух форм и возможности приостановки и повторного запуска игры

Глава 11. Игра с изменяемой траекторией летающих объектов

Часть III. Методология программирования искусственного интеллекта в карточных играх

Глава 12. Методика программирования искусственного интеллекта в карточных играх на примере игры в покер

Часть IV. Методология программирования искусственного интеллекта в играх по сборке картины из её частей

Глава 13. Методика программирования искусственного интеллекта в игре по сборке разрезанной картины заменой местами её масштабируемых частей

Часть V. Методология программирования искусственного интеллекта в играх типа змейки, которая поедает куски пищи

Глава 14. Методика программирования искусственного интеллекта в игре типа змейки, которая поедает куски пищи и за счёт этого увеличивается по длине, на основе одного файла

Глава 15. Методика программирования искусственного интеллекта в игре типа змейки, которая поедает куски пищи и за счёт этого увеличивается по длине, на основе четырёх файлов

Часть VI. Методология программирования искусственного интеллекта в играх типа “Тетрис” по сборке сплошных полос из разнообразных фигур

Глава 16. Методика программирования искусственного интеллекта в игре по сборке сплошных прямых полос из сторон фигур 12 типов

Глава 17. Методика программирования искусственного интеллекта в игре по сборке сплошных прямых полос из сторон фигур 7 типов с формами для имени игрока, результатов и справкой по игре

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

Глава 18. Методика программирования искусственного интеллекта в игре в “Крестики-нолики”

Часть VIII. Методология программирования искусственного интеллекта в играх типа “Поле чудес” по угадыванию слова по буквам

Глава 19. Методика программирования искусственного интеллекта в игре по угадыванию слова по буквам при заданном количестве попыток

Часть IX. Методология программирования искусственного интеллекта в играх по сборке и выбиванию фигур одинакового цвета или геометрии

Глава 20. Методика программирования искусственного интеллекта в игре по выбиванию фигур одинакового цвета

Глава 21. Методика программирования искусственного интеллекта в игре по сборке прямых из 5 и более объектов одинакового цвета

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

Глава 22. Методика программирования искусственного интеллекта в сюжетных играх на примере сюжета о пещерных людях Адаме и Еве

Часть XI. Методология программирования искусственного интеллекта в играх с воздушными боями ракетами с участием самолётов и вертолётов

Глава 23. Методика программирования искусственного интеллекта в игре воздушного боя ракетами вертолёта с самолётами и вертолётами различных типов

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

Глава 24. Методика программирования искусственного интеллекта в игре в теннис на основе элементов управления с уничтожением их после удара мячом

Часть XIII. Методология программирования искусственного интеллекта в играх в кости

Глава 25. Методика программирования искусственного интеллекта в игре в кости на примере игры с двумя кубиками

Часть XIV. Методология программирования искусственного интеллекта в играх с летающими объектами, уничтожающимися после столкновения

Глава 26. Методика программирования искусственного интеллекта в игре с генерированием летающих объектов, отскакивающих от границ и уничтожающихся после столкновения друг с другом

 

Часть XV. Методология программирования искусственного интеллекта в математических играх

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

Часть XVI. Методология программирования искусственного интеллекта в трёхмерных играх по управлению автомобилем при езде по дороге с препятствиями

Глава 28. Методика программирования искусственного интеллекта в игре по управлению автомобилем

Глава 29. Создание двух проектов игры

Глава 30. Запуск игры

Часть XVII. Проектирование вспомогательных объектов для игр и приложений с искусственным интеллектом

Глава 31. Методика проектирования цифровых часов

Часть XVIII. Развёртывание, публикация и распространение разработанной игры или приложения с искусственным интеллектом

Глава 32. Методика распространения игры или приложения

Заключение

Список литературы

Приводим краткое содержание VII частей первого тома по программированию ИИ на Visual Basic.

Введение

Часть I. Краткие основы Visual Basic

Глава 1. Основные определения книги

Глава 2. Методика разработки приложений для выполнения расчётов с эффектами анимации

Глава 3. Методика разработки приложений на нескольких формах и передачи данных с одной формы на другую

Часть II. Учебная методология программирования игр и приложений с подвижными объектами

Глава 4. Методика анимации и управления подвижными объектами

Глава 5. Методика обнаружения столкновений, программирования уничтожений летающих объектов и подсчёта очков

Глава 6. Методология воспроизведения звуковых файлов

Глава 7. Методика программирования жизней, уровней сложности и вывода лучшего результата

Глава 8. Методика улучшения графики и добавления фона экрана

Глава 9. Методика программирования игры с летающими объектами на основе спрайтов

Глава 10. Игра с летающими объектами на основе спрайтов, двух форм и возможности приостановки и повторного запуска игры

Глава 11. Игра с изменяемой траекторией летающих объектов

Часть III. Методология программирования искусственного интеллекта в карточных играх

Глава 12. Методика программирования искусственного интеллекта в карточных играх на примере игры в покер

Часть IV. Методология программирования искусственного интеллекта в играх по сборке картины из её частей

Глава 13. Методика программирования искусственного интеллекта в игре по сборке разрезанной картины заменой местами её масштабируемых частей

Часть V. Методология программирования искусственного интеллекта в играх типа змейки, которая поедает куски пищи

Глава 14. Методика программирования искусственного интеллекта в игре типа змейки, которая поедает куски пищи и за счёт этого увеличивается по длине, на основе одного файла

Глава 15. Методика программирования искусственного интеллекта в игре типа змейки, которая поедает куски пищи и за счёт этого увеличивается по длине, на основе четырёх файлов

Часть VI. Методология программирования искусственного интеллекта в играх типа “Тетрис” по сборке сплошных полос из разнообразных фигур

Глава 16. Методика программирования искусственного интеллекта в игре по сборке сплошных прямых полос из сторон фигур 12 типов

Глава 17. Методика программирования искусственного интеллекта в игре по сборке сплошных прямых полос из сторон фигур 7 типов с формами для имени игрока, результатов и справкой по игре

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

Глава 18. Методика программирования искусственного интеллекта в игре в “Крестики-нолики”

Заключение

Список литературы

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

Книга предназначена для всех желающих быстро изучить основы программирования искусственного интеллекта в разнообразных двухмерных и трёхмерных компьютерных играх и приложениях на базе популярного, совершенного и перспективного (в мире программирования) языка высокого уровня Visual Basic последних версий для настольных компьютеров, ноутбуков и планшетов, на этих основах сразу же проектировать ИИ в сложных играх и приложениях и применять ИИ на практике или на отдыхе в разнообразных сферах профессиональной и непрофессиональной деятельности. Также адресована начинающим и опытным пользователям, программистам любой квалификации, а также учащимся и слушателям курсов, студентам, аспирантам, учителям, преподавателям и научным работникам.

В следующем томе автор продолжит описывать программирование ИИ в следующих играх и приложениях.

Вопросы, замечания и предложения по тематике данной книги можно направлять по email:

valery-zharkov@mtu-net.ru

Автор: доктор технических наук Жарков Валерий Алексеевич (город Москва)

Часть I. Краткие основы Visual Basic

Глава 1. Основные определения книги

1.1. Классификация компьютерных игр

Компьютерная игра (computer game) – это взаимодействие человека с компьютером по определённым правилам с целью обучения, тренировки или развлечения.

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

Во время игры на экране воспроизводится игровая ситуация, один или несколько игроков анализируют её и реагируют при помощи устройств ввода, для – это кнопки джойстика и кнопки клавиатуры. Компьютерные игры, хорошо спроектированные, развивают профессиональные, познавательные и художественные способности человека.

Большое количество игр для настольных компьютеров и мобильных устройств можно классифицировать по различным признакам и типам в зависимости от преследуемых целей.

С классификацией по типу операционной системы мы определились – это Microsoft Windows.

С классификацией по типу языка программирования высокого уровня мы также определились – это Microsoft Visual Basic из среды разработки Microsoft Visual Studio последних версий.

С классификацией по типу размерности изображения (двухмерные и трёхмерные) также ясно. В данной серии книг мы спрограммируем ИИ в играх и приложениях как без использования технологии DirectX, так и с использованием DirectX и XNA последних версий, которые поддерживает Microsoft.

Далее, по сюжетам и целям, различают несколько типов игр.

Логические – игры, близкие по содержанию к обычным головоломкам (которые называются также пазлами, от английского слова puzzle – головоломка) и математическим упражнениям, а также компьютерные варианты различных настольных игр (шахматы, шашки, нарды и т.д.). В головоломке или математическом упражнении мотивация, основанная на азарте, сопряжена с желанием одного игрока решить задачу быстрее другого игрока. А в игре типа шахмат мотивация основана на желании обыграть компьютер, доказать своё превосходство над машиной.

Аркадные (arcade game) – игры с путешествиями и приключениями, сюжет которых, как правило, слабый линейный, игроку не нужно особо задумываться, а нужно только, управляя компьютерным персонажем или транспортным средством, быстро передвигаться, стрелять и уничтожать движущиеся объекты. При этом игрок набирает очки, зарабатывает дополнительные “жизни”, переходит на следующий более высокий уровень данной игры. В аркаде игрок в большей степени ориентирован не на процесс игры, а на результат. К этому типу относятся также разного рода “бегалки”, “стрелялки” (shooter) и экшны (action).

Игры на быстроту реакции. В этих играх игроку нужно проявлять ловкость и быстроту реакции при нажатии кнопок , уметь нажать кнопку на опережение с учётом перемещения объектов. Эти игры во многом похожи на аркады, но, в отличие от последних, обычно не имеют сюжета и сценария, абстрактны и не связаны с реальной действительностью. Но здесь также есть и азарт, и желание набрать больше очков, чем другой игрок.

Приключенческие или сюжетные (adventure game) – игры, в которых игрок действует по определённому сюжету и сценарию приключенческого, сказочного, фантастического или мистического содержания.

Стратегические или позиционные (extensive game) – игры, в которых игрок управляет армией, городом, страной и другими масштабными объектами.

Игры-имитации моделируют управление игроком автомобилем, вертолётом, самолётом, ракетой и другими подобными машинами.

Спортивные игры – компьютерные реализации разнообразных популярных спортивных игр (футбол, гольф и т.д.).

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

Интерактивные (interactive game) – игры, имеющие чётко выраженную форму диалога игрока с компьютером или мобильным устройством.

Сетевые (network game) – игры, в которых могут участвовать несколько партнёров, взаимодействующих между собой через глобальную сеть Интернет или через локальную сеть LAN – Local Area Network.

Учебные (training game) – игры, способствующие развитию профессиональных возможностей человека.

По психологическому признаку игры условно делятся на ролевые и не ролевые. Ролевая игра (RPG – Role Playing Game) – это игра, в которой игрок принимает на себя роль компьютерного (конкретного видимого на экране или воображаемого) персонажа.

Известны также игры, не имеющие решения (no-solution game), и многие другие.

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

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

В данной книге мы будем описывать игры для настольных компьютеров, ноутбуков и планшетов в соответствии с этой классификацией.

1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28 

Другие книги автора

Все книги автора
Рейтинг@Mail.ru