Разработка комплекса логических игр на основе принципов искусственного интеллекта
Принципы построения и программирования игр. Основы 2-3D графики. Особенности динамического изображения и искусственного интеллекта, их использование для создания игровых программ. Разработка логических игр "Бильярд", "Карточная игра - 50", "Морской бой".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 21.05.2013 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Спрайт - это обыкновенная картинка, запакованная в spr формат. У этого формата есть много общего с форматом GIF, а именно:
- в файле spr может храниться как статичная картинка, так и последовательность (анимированная картинка);
- ограничение на количество цветов - 256 оттенков (впрочем, как и везде в игре);
- есть поддержка прозрачности 2х видов:
а) с одним прозрачным цветом (например, сетка оптического прицела);
б) с полу прозрачностью (например, радар или свечение около источника света).
Спрайтами в игре представлен HUD (Holographical Unit Display (голографический модульный дисплей)), прицелы, дым, свечение, вспышки от выстрелов и т.д.
При одновременном выводе нескольких спрайтов важно, чтобы каждый из них не только сохранял под собой фон, но и не портил другие при их перекрытии. Для этого все спрайты сортируются по <удаленности>, означающей, что различные объекты на экране должны находиться на разных расстояниях от зрителя, а если они расположены в одной плоскости, то более близким будет считаться тот, который перекрывает остальные.
К сожалению, спрайты так же имеют и свои недостатки. Главный недостаток - ограниченное количество используемых спрайтов. Дело в том, что при загрузке спрайтов, моделей и объектов, для них резервируется ограниченное место в памяти. Поэтому, количество спрайтов, использованных вами, желательно не должно превышать 200 штук.
Цветовая палитра спрайта - всего 256 цветов. Ограничение на размер 256х256 пикселей.
begin
GetPal(p[0],0,256);
FadeOut(p);
CreateSprite('sprt01.bmp',0,0,1,1);
r.ax := $13; { устанавливаем режим }
intr($10,r); { 320х200х256 цветов }
scr := ptr(SegA000,0);
BlackPal;
PutBackGround; {рисуем фон}
FadeIn(p);
GetBuffer; {сохраняем фон под спрайтом}
PutSprite; {и рисуем на его месте спрайт}
repeat {теперь спрайт будет двигаться по экрану}
{до тех пор, пока мы не нажмем на клавишу}
PutBuffer; {восстанавливаем фон}
CalcSpritePosition;
GetBuffer; {сохраняем фон}
PutSprite; {рисуем спрайт}
WaitVerticalRetrace;
{ожидаем обратный ход луча кадровой развертки}
until keypressed;
readkey; {чистим буфер клавиатуры}
FadeOut(p);
r.ax := $3;
intr($10,r); {возвращаемся в текстовый режим}
DestroySprite;
end.
Ещё один недостаток - на спрайт никаким образом не влияют тени, отбрасываемые объектами, а так же источники света (т.е. при компиляции спрайт не обрабатывается компилятором). Если спрайт будет находиться в полной темноте - он будет выглядеть светящимся.
Но, тем не менее, данная технология наиболее привлекательна для создания движущихся по основной сцене графических объектов: (меньший размер алгоритма, большие возможности операций с объектом и др.)
5.7 Понятие искусственного интеллекта
Понятие искусственный интеллект, как впрочем, и просто интеллект, весьма расплывчато. Если обобщить все сказанное за последние тридцать лет, то оказывается, что человек просто хочет создать себе подобного в той или иной форме, хочет, чтобы какие-то действия выполнялись более рационально, с меньшими затратами времени и энергии. С конца 40-х годов ученые все большего числа университетских и промышленных исследовательских лабораторий устремились к дерзкой цели: построение компьютеров, действующих таким образом, что по результатам работы их невозможно было бы отличить от человеческого разума. В последнее время наблюдается возрастание интереса к искусственному интеллекту, вызванное повышением требований к информационным системам. Умнеет программное обеспечение, умнеет бытовая техника. Мы неуклонно движемся к новой информационной революции, сравнимой по масштабам с развитием Интернета, имя которой - искусственный интеллект.
Искусственный интеллект является сейчас «горячей точкой» научных исследований. В этой точке, как в фокусе, сконцентрированы наибольшие усилия кибернетиков, лингвистов, психологов, философов, математиков и инженеров. Именно здесь решаются многие коренные вопросы, связанные с путями развития научной мысли, с воздействием достижений в области вычислительной техники и робототехники на жизнь будущих поколений людей. Здесь возникают и получают права на жизнь новые методы научных междисциплинарных исследований. Здесь формируется новый взгляд на роль тех или иных научных результатов и возникает то, что можно было бы назвать философским осмыслением этих результатов. Поэтому я посчитал актуальным раскрыть данную тему в реферате.
Терпеливо продвигаясь вперед в своем нелегком труде, исследователи, работающие в области искусственного интеллекта (ИИ), обнаружили, что вступили в схватку с весьма запутанными проблемами, далеко выходящими за пределы традиционной информатики. Оказалось, что, прежде всего, необходимо понять механизмы процесса обучения, природу языка и чувственного восприятия. Выяснилось, что для создания машин, имитирующих работу человеческого мозга, требуется разобраться в том, как действуют миллиарды его взаимосвязанных нейронов. И тогда многие исследователи пришли к выводу, что, пожалуй, самая трудная проблема, стоящая перед современной наукой - познание процессов функционирования человеческого разума, а не просто имитация его работы. Что непосредственно затрагивало фундаментальные теоретические проблемы психологической науки. В самом деле, ученым трудно даже прийти к единой точке зрения относительно самого предмета их исследований - интеллекта. Некоторые считают, что интеллект - умение решать сложные задачи; другие рассматривают его как способность к обучению, обобщению и аналогиям; третьи - как возможность взаимодействия с внешним миром путем общения, восприятия и осознания воспринятого. Тем не менее, многие исследователи ИИ склонны принять тест машинного интеллекта, предложенный в начале 50-х годов выдающимся английским математиком и специалистом по вычислительной технике Аланом Тьюрингом. «Компьютер можно считать разумным, - утверждал Тьюринг, - если он способен заставить нас поверить, что мы имеем дело не с машиной, а с человеком».
5.8 Выводить стартовую форму приложения
Разработка меню в языке программирования Delphi 7. Была разработана стартовая форма моего проекта.
При запуске моего проекта будет выводится данная форма, которая поприветсвует пользователя и предложит ему начать игру.
5.9 Запускать игровые программы-примеры
Работа над практическими аспектами решаемой задачи, а именно разработка следующего этапа моего проекта, в среде программирования Delphi 7 мною были запрограммированы разделы меню.
В эти разделы входят: выбор игр (из трех), при наведении на раздел меню с названием, появляется превью данной игры. При нажатии левой кнопки мыши на название - запускается игра.
5.10 Выдавать сведения об авторе программы. Осуществлять выход из программы
Я продолжал работать над программированием оставшихся пунктов меню, а именно - Авторы и Выход. Данные кнопки располагаются в нижней части моего приложения.
5.11 Описание алгоритмов и пользовательского интерфейса программы
Для выполнения игры необходимо проделать следующее:
1. Распаковать архив Logic Game.rar
Для этого необходимо: нажать ПКМ на файл, выбрать пункт - Извлечь файлы.
2. После того, как распаковали содержимое архива, у нас имеется папка Logic Game, входим в эту папку, находим в ней ярлык Логические игры.
Двойным щелчком ЛКМ открываем файл.
После запуска, появляется стартовое окно приложения, которое приветствует пользователя и предлагает ему сыграть в игру.
Пользователю предоставленно два варианта ответа Да - что позволит ему сыграть. Нет- выход из программы.
Если пользователь согласен сыграть, то появляется следующее окно:
Здесь представленно три игры, при на ведении на название, появляется превью игры:
Чтобы сыграть просто кликаем на понравившеюся игру.
5.12 Игры
Игра Бильярд
Игра бильярд разработанна в OpenGl, данная игра является 3D игрой.
После запуска игры, запускается пользовательский интерфейс, меню из двух пунктов: Новая игра и Выход.
При нажатии на раздел - Новая игра, появляется следующее окно, в котором пользователю необходимо ввести свое имя, затем нажать на кнопку - Начать игру.
Удар по шарам производится левой клавишей мыши, прицеливание при помощи курсора мыши.
При нажатии на правую клавишу мыши можно вращаться вокруг стола.
Карточная игра - 50
Карточная игра - 50. Смысл данной игры состоит в следующем: На столе располагаются 24 раскрытые карты: все карты с номерами от 1 до 6 обычной колоды, где туз считается за 1. Масти карт несущественны. Каждый игрок при своём ходе берёт со стола карту и складывает её значение с суммой тех, которые были взяты ранее (таким образом, подсчитывается общая сумма карт, взятых партнёрами, а не отдельные суммы для каждого партнёра. Первый, кто берёт в точности 50 очков выигрывает. Если игрок, взяв карту, не может не превысить 50 очков, то он проигрывает.
Игра включает в себя такие пункты меню, как: Сдать карты - при нажатии которого начинается игра, Об игре - в данном разделе описано правила игры, и Выход.
Морской бой
Морской бой. Игра имеет свой интерфейс, при входе в игру пользователя просят ввести свое имя, а так же право выбора первого хода.
Затем нажимаем на кнопку применить. У нас появляется следующее окно:
Игра предлагает пользователю раставить корабли самостоятельно, либо нажав на кнопку «Автоматическая растановка», корабли будут расположены на карте в случайном порядке. Если пользователя что-то не устраивает он может нажать на кнопку «Заново» и начать все сначала. После того как корабли раставлены и все готово к началу игры, жмем кнопку «Играть».
У нас появилось окно:
В игре имеется подсказка:
Далее для стрельбы по короблям пользователю необходимо навести курсор мыши на карту компьютера и кликнуть левой клавишей мыши.
Победителем считается тот, кто быстрее уничтожит вражеские корабли.
Так же организован выход из игры.
Анализ полученных результатов
У разработанного комплекса игр минимальные системные требования. Все приложение имеет 29.7 Мб. Эксплуатировать данное приложение может любой человек владеющий компьютером на уровне среднего пользователя.
Заключение
Я, за время прохождения преддипломной практики изучил общие вопросы теории игр: их виды и классификация, принципы построения и программирования игровых программ, основы 2-3D графики, использование 2-3D графики в программировании, понятие динамического изображения, методы и способы программирования динамических изображений, понятие искусственного интеллекта, применение принципов искусственного интеллекта для программирования игр и головоломок.
Выполнил задания предусмотренные программой практики, а именно разработал стартовую форму приложения, реализовал запуск игровых программ, организовал сведения об авторе программы, осуществил выход из программы.
Мною самостоятельно были проведены следующие работы, я работал с графическими редакторами Adobe PhotoShop CS4 и CorelDraw, программой для создания иконок - IconX, изучил множество книг, которые помогли мне в разработке моего дипломного проекта, так же при помощи сети Internet, нашел ответы на неизвестные мне вопросы.
Благодаря этим работам и использованию перечисленных ранее программ, я выполнял поставленные передо мной задачи.
В результате пройденной преддипломной практики я получил новые практические навыки по разработке программных продуктов, научился новым приемам программирования в визуальных средах и выполнил индивидуальное практическое задание, разработал игровую программу в виде головоломок на основе принципов искусственного интеллекта.
Список литературы
Список литературы (по теоретическим вопросам)
1. Абрамов С.А.и др. Задачи по программированию. Москва «Наука» 1988 г.
2. Боон К. Паскаль для всех. Москва «Энергоатомиздат» 1988 г.
3. Гейн А.Г. и др. Основы информатики и вычислительной техники. Москва «Просвещение» 1993 г.
4. Гейн А.Г., Сеноосов А.И., Юнерман Н.А. Информатика 10-11. Москва «Просвещение» 2001 г.
5. Демидович Н.Б., Монахов В.М. Программирование и ЭВМ. Москва «Просвещение» 1977 г.
6. Ершов А.П. Основы информатики и вычислительной техники. Москва «Просвещение» 1988 г.
7. Ершов А.П. Основы информатики и вычислительной техники в 2-х ч. Москва «Просвещение» 1987 г.
8. Ершов А.П. Изучение основ информатики и вычислительной техники в 2-х ч. Москва «Просвещение» 1993 г.
9. Заварыкин В.М. и др. Основы информатики и вычислительной техники. Москва «Просвещение» 1989 г.
10. Златопольский Д.М. Я иду на урок информатики. Задачи по программированию. Москва «Первое сентября» 2001 г.
11. Извозчиков В.А. Информатика в понятиях и терминах. Москва «Просвещение» 1991 г.
12. Каймин В.А. и др. Основы информатики и вычислительной техники. Москва «Просвещение» 1989 г.
13. Кушниренко А.Г., Лебедев Г.В., Сворень Р.А. Основы информатики и вычислительной техники. Москва «Просвещение» 1993 г.
14. Немнюгин С.А. Turbo Pascal. Учебник. Санкт-Петербург «Питер» 2001 г.
15. Немнюгин С.А. Turbo Pascal. Практикум. Санкт-Петербург «Питер»
16. Переверзева Н.А., Ревчук И.Н. Решение задач на алгоритмическом языке. Минск «Народная асвета» 1990 г.
17. Урнов В.А. Преподавание информатики в компьютерном классе. Москва «Просвещение» 1990 г.
18. Фигурнов В.Э. IBM PC для пользователя 7 издание. Москва «Инфра-М» 1997 г.
19. Фоменко А.М., Фоменко Л.В. Основы информатики и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
20. Фролов Г.Д., Кузнецов Э.И. Элементы информатики. Москва «Высшая школа» 1989 г.
21. Газета «Информатика»
22. Интернет-ресурсы.
Список литературы (по индивидуальному заданию)
23. Бордман Т. OpenGl учебный курс. Питер, 2006.
24. Жадаева Б. 100% самоучитель Delphi 7. Питер, 2005.
25. Кларк Д., С.Смит, К.Тим Чанг, М.Ошман. Учим PhotoShop. Лондон, 2010.
Размещено на Allbest.ru
Подобные документы
Сущность и проблемы определения искусственного интеллекта, его основных задач и функций. Философские проблемы создания искусственного интеллекта и обеспечения безопасности человека при работе с роботом. Выбор пути создания искусственного интеллекта.
контрольная работа [27,9 K], добавлен 07.12.2009Характеристика сущности искусственного интеллекта. Проблема создания искусственного интеллекта. Базовые положения, методики и подходы построения систем ИИ (логический, структурный, эволюционный, имитационный). Проблемы создания и реализация систем ИИ.
реферат [43,1 K], добавлен 19.07.2010Исторический обзор развития работ в области искусственного интеллекта. Создание алгоритмического и программного обеспечения вычислительных машин, позволяющего решать интеллектуальные задачи не хуже человека. От логических игр до медицинской диагностики.
реферат [29,1 K], добавлен 26.10.2009Понятие искусственного интеллекта как свойства автоматических систем брать на себя отдельные функции интеллекта человека. Экспертные системы в области медицины. Различные подходы к построению систем искусственного интеллекта. Создание нейронных сетей.
презентация [3,0 M], добавлен 28.05.2015История создания и основные направления в моделировании искусственного интеллекта. Проблемы обучения зрительному восприятию и распознаванию. Разработка элементов интеллекта роботов. Исследования в области нейронных сетей. Принцип обратной связи Винера.
реферат [45,1 K], добавлен 20.11.2009Сущность искусственного интеллекта, сферы человеческой деятельности, в которых он распространен. История и этапы развития данного явления. Первые идеи и их воплощение. Законы робототехники. Использование искусственного интеллекта в коммерческих целях.
реферат [40,8 K], добавлен 17.08.2015Разработка на основе игры "Точки" подхода к программированию "искусственного интеллекта" в позиционных играх и возможность применения данного подхода для решения задач в области экономики, управления и других областях науки. Модель игровой ситуации.
дипломная работа [1,5 M], добавлен 21.07.2013Искусственный интеллект – научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Черты искусственного интеллекта Развитие искусственного интеллекта, перспективные направления в его исследовании и моделировании.
реферат [70,7 K], добавлен 18.11.2010Составление программы искусственного интеллекта в среде программирования Delphi 7, осуществляющую игру "крестики-нолики" с пользователем. Данная программа имеет возможность запоминания ходов и на основе них ходить так, чтобы не оказаться в проигрыше.
контрольная работа [787,7 K], добавлен 16.01.2011Описание правил игры "Морской бой". Особенности современных компьютеров и искусственного интеллекта. Создание общей блок-схемы программы, ее внешний вид. Необходимые переменные, процедуры и функции. Характеристика объектов, используемых в приложении.
курсовая работа [950,1 K], добавлен 05.11.2012