Разработка комплекса логических игр на основе принципов искусственного интеллекта
Принципы построения и программирования игр. Основы 2-3D графики. Особенности динамического изображения и искусственного интеллекта, их использование для создания игровых программ. Разработка логических игр "Бильярд", "Карточная игра - 50", "Морской бой".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 21.05.2013 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство просвещения ПМР
Тираспольский техникум информатики и права
Цикловая Комиссия информационных и экономических дисциплин
Отчет по практике
Этап практики: преддипломная
Специальность: ПОВТ и АС
Ф. И. О. студента:
Слисаренко Дмитрий Александрович
Курс группа: IV курс, 413 группа
База практики: ТСШ №18
Руководитель практики
Земляков Андрей Владимирович
Тирасполь 2013
Содержание
Отзыв о преддипломной практике
1. Круг задач решаемых на преддипломной практике
2. Список теоретических вопросов
3. Дневник практики
4. Отчет о проделанной работе
5. Индивидуальное практическое задание
5.1 Постановка задачи
5.2 Общие вопросы теории игр: их виды и классификация
5.3 Принципы построения и программирования игровых программ
5.4 Основы 2-3D графики
5.5 Понятие динамического изображения
5.6 Методы и способы программирования динамических изображений
5.7 Понятие искусственного интеллекта
5.8 Выводить стартовую форму приложения
5.9 Запускать игровые программы-примеры
5.10 Выдавать сведения об авторе программы. Осуществлять выход из программы
5.11 Описание алгоритмов и пользовательского интерфейса программы
5.12 Игры
Заключение
Список литературы
Отзыв о преддипломной практике
студента___________________курса____________группы____________
Специальности________________________________________________
Тираспольского техникума информатики и права
ФИО_________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Оценка__________________
руководитель группы
преддипломной практики
от базы практики
ФИО_________________________________________________________
___________________
Подпись
М.П.
«_____»__________________200__г.
1. Круг задач решаемых на преддипломной практике
1. Поиск и анализ литературы необходимой для работы над теоретической частью дипломного проекта.
2. Поиск и анализ литературы необходимой для работы над практической частью дипломного проекта.
3. Выводить стартовую форму приложения.
4. Запускать игровые программы-примеры.
5. Выдавать сведения об авторе программы.
6. Осуществлять выход из программы.
2. Список теоретических вопросов
1. Понятие информации и её свойств. Виды информации. Информационные процессы.
2. Кодирование информации. Единицы измерения информации.
3. Системы счисления (10-я, 2-я, 8-я, 16-я). Позиционные и непозиционные. Основание системы. Способы перевода из одной системы в другую.
4. Элементы и узлы ЭВМ. Состав и характеристика основных устройств.
5. Логические элементы компьютера(И, ИЛИ, НЕ, ИЛИ-НЕ, И-НЕ, исключающие ИЛИ) и их таблицы истинности.
6. Понятие Операционной Системы. Назначение, состав, загрузка ОС.
7. Работа с файлами и папками в среде ОС (Ms Dos и Windows).
8. Командные оболочки. Работа с файлами и папками в командной оболочке.
9. Программное обеспечение ЭВМ. Классификация: системное, прикладное, инструментальное.
10. Графический редактор. Назначение, основные функции.
11. Текстовый редактор. Назначение, основные функции.
12. Табличный редактор. Назначение, основные функции.
13. Системы Управления Базами Данных. Назначение, основные функции.
14. Понятие алгоритма и его свойств. Исполнители алгоритмов. Способы описания алгоритмов.
15. Введение в программирование. Языки низкого и высокого уровня. Общая характеристика системы программирования.
16. Этапы подготовки и решения задач на ЭВМ.
17. Введение в язык Паскаль и С++. Общая характеристика языков (алфавит, типы данных,).
18. Понятие идентификатора в языке Паскаль и С++. Константы и переменные. Понятие выражения. Комментарии.
19. Операции языка Паскаль и С++. Стандартные процедуры и функции языка. Приоритет операций.
20. Общий вид программы на языке Паскаль и С++. Понятие оператора. Операторы ввода-вывода языка Паскаль и С++. Оператор присваивания.
21. Линейная структура программы. Примеры на языке Паскаль и С++.
22. Разветвляющаяся структура программы. Примеры на языке Паскаль и С++.
23. Циклическая структура программы. Примеры на языке Паскаль и С++.
24. Одномерные и двумерные массивы в языке Паскаль и С++. Основные алгоритмы обработки одномерных и двумерных массивов.
25. Понятие подпрограммы. Использование подпрограмм в языках Паскаль и С++.
26. Введение понятия компьютерной сети. Понятие технологии «Клиент-Сервер».
27. Физическая и логическая структура компьютерной сети. Типы линий связи.
28. Топология компьютерных сетей. Топология «Звезда», «Кольцо», «Шина» и древовидная топология.
29. История создания и общая характеристика сети Internet. Сервисы, предоставляемые сетью Internet.
30. Введение в язык HTML. Общий вид документа. Основные тэги.
3. Дневник практики
Дата |
Содержание |
Подпись руководителя |
|
25.03.13 |
Прибытие на базу практики. Инструктаж по технике безопасности. Ознакомление с кругом задач выполняемых на практике. Ознакомление с теоретическими вопросами, решаемых в ходе практики. Обсуждение и разбор индивидуального задания на практику. |
||
26.03.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №1-3. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
27.03.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №4-6. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
28.03.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №7-9. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
29.03.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №10-12. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
30.03.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №13-15. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
01.04.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №16-18. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
02.04.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №19-21. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
03.04.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №22-24. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
04.04.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №25-27. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
05.04.13 |
Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №28-30. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
06.04.13 |
Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
08.04.13 |
Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
09.04.13 |
Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
10.04.13 |
Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
11.04.13 |
Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
12.04.13 |
Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе. |
||
13.04.13 |
Подведение итогов практики. Подготовка и оформление документации для защиты практики. Фронтальный опрос руководителем по теоретическим вопросам. |
4. Отчет о проделанной работе
Целью преддипломной практики является поиск и подбор литературы для дипломного проекта, подготовка теоретической части дипломного проекта и выполнение индивидуального задания, связанного с практической частью дипломной работы.
Основной целью моей дипломной работы была разработка игр и головоломок на основе принципов искусственного интеллекта. В результате проделанной работы я создал комплекс логических игр, разработанных на языке программирования Delphi 7, в этот комплекс входят три игры: Бильярд, Карточная игра - 50, Морской бой.
25.03.13 Прибытие на базу практики. Инструктаж по технике безопасности. Ознакомление с кругом задач выполняемых на практике. Ознакомление с теоретическими вопросами, решаемых в ходе практики. Обсуждение и разбор индивидуального задания на практику.
25 марта я прибыл на базу преддипломной практики в МОУ «ТСШ №18». Со мной сразу был проведен инструктаж по технике безопасности и охране труда на рабочем месте программиста. Затем руководитель ознакомил меня с кругом моих практических задач на практике, выдал мне список теоретических вопросов, которые мне нужно будет проработать для защиты практики. Затем мы обсуждали индивидуальное практическое задание, которое я должен буду выполнить в течении практики.
26.03.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №1-3. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Понятие информации и её свойств. Виды информации. Информационные процессы.
2. Кодирование информации. Единицы измерения информации.
3. Системы счисления (10-я, 2-я, 8-я, 16-я). Позиционные и непозиционные. Основание системы. Способы перевода из одной системы в другую.
Для этого я использовал следующую литературу:
1. Гейн А.Г. и др. Основы информатики и вычислительной техники. Москва «Просвещение» 1993 г.
2. Гейн А.Г., Сеноосов А.И., Юнерман Н.А. Информатика 10-11. Москва «Просвещение» 2001 г.
3. Извозчиков В.А. Информатика в понятиях и терминах. Москва «Просвещение» 1991 г.
4. Фоменко А.М., Фоменко Л.В. Основы информатик и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
5. Газета «Информатика»
6. Интернет-ресурсы.
По индивидуальному практическому заданию мы разобрали с руководителем постановку задачи, после чего я приступил к выполнению своего проекта.
В конце дня я занес результаты моей работы в отчет.
27.03.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №4-6. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Элементы и узлы ЭВМ. Состав и характеристика основных устройств.
2. Логические элементы компьютера(И, ИЛИ, НЕ, ИЛИ-НЕ, И-НЕ, исключающие ИЛИ) и их таблицы истинности.
3. Понятие Операционной Системы. Назначение, состав, загрузка ОС.
Для этого я использовал следующую литературу:
1. Урнов В.А. Преподавание информатики в компьютерном классе. Москва «Просвещение» 1990 г.
2. Фигурнов В.Э. IBM PC для пользователя 7 издание. Москва «Инфра-М» 1997 г.
3. Фоменко А.М., Фоменко Л.В. Основы информатик и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
4. Газета «Информатика»
5. Интернет-ресурсы.
По индивидуальному практическому заданию я работал в графическом редакторе Photoshop CS4, я занимался разработкой фоновых изображений, различных кнопок для моего комплекса игр.
Рис.1. Создание фонового изображения.
В конце дня я занес результаты моей работы в отчет.
28.03.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №7-9. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Работа с файлами и папками в среде ОС (Ms Dos и Windows).
2. Командные оболочки. Работа с файлами и папками в командной оболочке.
3. Программное обеспечение ЭВМ. Классификация: системное, прикладное, инструментальное.
Для этого я использовал следующую литературу:
1. Урнов В.А. Преподавание информатики в компьютерном классе. Москва «Просвещение» 1990 г.
2. Фигурнов В.Э. IBM PC для пользователя 7 издание. Москва «Инфра-М» 1997 г.
3. Фоменко А.М., Фоменко Л.В. Основы информатик и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
4. Газета «Информатика»
5. Интернет-ресурсы.
По индивидуальному практическому заданию я так же продолжал работу в Photoshop CS 4.
Рис.2. Создание фонового изображения. Раздел Авторы.
В конце дня я занес результаты моей работы в отчет.
29.03.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №10-12. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Графический редактор. Назначение, основные функции.
2. Текстовый редактор. Назначение, основные функции.
3. Табличный редактор. Назначение, основные функции.
Для этого я использовал следующую литературу:
1. Гейн А.Г., Сеноосов А.И., Юнерман Н.А. Информатика 10-11. Москва «Просвещение» 2001 г.
2. Заварыкин В.М. и др. Основы информатики и вычислительной техники. Москва «Просвещение» 1989 г.
3. Каймин В.А. и др. Основы информатики и вычислительной техники. Москва «Просвещение» 1989 г.
4. Фоменко А.М., Фоменко Л.В. Основы информатик и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
5. Газета «Информатика»
6. Интернет-ресурсы.
По индивидуальному практическому заданию я занимался разработкой меню в языке программирования Delphi 7. Мною была разработана стартовая форма моего проекта.
Рис.3. Стартовая форма.
При запуске моего проекта будет выводится данная форма, которая поприветсвует пользователя и предложит ему начать игру.
В конце дня я занес результаты моей работы в отчет.
30.03.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №13-15. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Системы Управления Базами Данных. Назначение, основные функции.
2. Понятие алгоритма и его свойств. Исполнители алгоритмов. Способы описания алгоритмов.
3. Введение в программирование. Языки низкого и высокого уровня. Общая характеристика системы программирования.
Для этого я использовал следующую литературу:
1. Абрамов С.А.и др. Задачи по программированию. Москва «Наука» 1988 г.
2. Боон К. Паскаль для всех. Москва «Энергоатомиздат» 1988 г.
3. Златопольский Д.М. Я иду на урок информатики. Задачи по программированию. Москва «Первое сентября» 2001 г.
4. Немнюгин С.А. Turbo Pascal. Учебник. Санкт-Петербург «Питер» 2001 г.
5. Немнюгин С.А. Turbo Pascal. Практикум. Санкт-Петербург «Питер»
6. Газета «Информатика»
7. Интернет-ресурсы.
По индивидуальному практическому заданию я работал над практическими аспектами решаемой задачи, а именно разобрал следующий этап моего проекта, в среде программирования Delphi 7 мною были запрограммированы разделы меню.
В эти разделы входят: выбор игр (из трех), при наведении на раздел меню с названием, появляется превью данной игры. Так же были организованны пункты меню: Авторы и Выход.
Рис.4. Раздел меню - Бильярд.
В конце дня я занес результаты моей работы в отчет.
01.04.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №16-18. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Этапы подготовки и решения задач на ЭВМ.
2. Введение в язык Паскаль и С++. Общая характеристика языков (алфавит, типы данных,).
3. Понятие идентификатора в языке Паскаль и С++. Константы и переменные. Понятие выражения. Комментарии.
Для этого я использовал следующую литературу:
1. Абрамов С.А.и др. Задачи по программированию. Москва «Наука» 1988 г.
2. Боон К. Паскаль для всех. Москва «Энергоатомиздат» 1988 г.
3. Златопольский Д.М. Я иду на урок информатики. Задачи по программированию. Москва «Первое сентября» 2001 г.
4. Немнюгин С.А. Turbo Pascal. Учебник. Санкт-Петербург «Питер» 2001 г.
5. Немнюгин С.А. Turbo Pascal. Практикум. Санкт-Петербург «Питер»
6. Газета «Информатика»
7. Интернет-ресурсы.
По индивидуальному практическому заданию я занимался разработкой следующего раздела меню - Карты. Так же при наведении на раздел курсора мыши, появляется превью игры.
Рис. 5. Раздел меню - Карты.
В конце дня я занес результаты моей работы в отчет.
02.04.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №19-21. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Операции языка Паскаль и С++. Стандартные процедуры и функции языка. Приоритет операций.
2. Общий вид программы на языке Паскаль и С++. Понятие оператора. Операторы ввода-вывода языка Паскаль и С++. Оператор присваивания.
3. Линейная структура программы. Примеры на языке Паскаль и С++.
Для этого я использовал следующую литературу:
1. Абрамов С.А.и др. Задачи по программированию. Москва «Наука» 1988 г.
2. Боон К. Паскаль для всех. Москва «Энергоатомиздат» 1988 г.
3. Златопольский Д.М. Я иду на урок информатики. Задачи по программированию. Москва «Первое сентября» 2001 г.
4. Немнюгин С.А. Turbo Pascal. Учебник. Санкт-Петербург «Питер» 2001 г.
5. Немнюгин С.А. Turbo Pascal. Практикум. Санкт-Петербург «Питер»
6. Газета «Информатика»
7. Интернет-ресурсы.
По индивидуальному практическому заданию я занимался разработкой следующего раздела меню - Морской бой. Так же при наведении на раздел курсора мыши, появляется превью игры.
Рис.6. Раздел меню - Морской бой.
В конце дня я занес результаты моей работы в отчет.
03.04.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №22-24. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Разветвляющаяся структура программы. Примеры на языке Паскаль и С++.
2. Циклическая структура программы. Примеры на языке Паскаль и С++.
3. Одномерные и двумерные массивы в языке Паскаль и С++. Основные алгоритмы обработки одномерных и двумерных массивов.
Для этого я использовал следующую литературу:
1. Абрамов С.А.и др. Задачи по программированию. Москва «Наука» 1988 г.
2. Боон К. Паскаль для всех. Москва «Энергоатомиздат» 1988 г.
3. Златопольский Д.М. Я иду на урок информатики. Задачи по программированию. Москва «Первое сентября» 2001 г.
4. Немнюгин С.А. Turbo Pascal. Учебник. Санкт-Петербург «Питер» 2001 г.
5. Немнюгин С.А. Turbo Pascal. Практикум. Санкт-Петербург «Питер»
6. Газета «Информатика»
7. Интернет-ресурсы.
По индивидуальному практическому заданию я продолжал работать над программированием оставшихся пунктов меню, а именно - Авторы и Выход.
Рис.7. Раздел меню - Авторы.
Рис.8. Проектирование данного раздела.
В конце дня я занес результаты моей работы в отчет.
04.04.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №25-27. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Понятие подпрограммы. Использование подпрограмм в языках Паскаль и С++.
2. Введение понятия компьютерной сети. Понятие технологии «Клиент-Сервер».
3. Физическая и логическая структура компьютерной сети. Типы линий связи.
Для этого я использовал следующую литературу:
1. Немнюгин С.А. Turbo Pascal. Учебник. Санкт-Петербург «Питер» 2001 г.
2. Немнюгин С.А. Turbo Pascal. Практикум. Санкт-Петербург «Питер»
3. Урнов В.А. Преподавание информатики в компьютерном классе. Москва «Просвещение» 1990 г.
4. Фигурнов В.Э. IBM PC для пользователя 7 издание. Москва «Инфра-М» 1997 г.
5. Фоменко А.М., Фоменко Л.В. Основы информатик и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
6. Газета «Информатика»
7. Интернет-ресурсы.
По индивидуальному практическому заданию я начал программирование одной из моих игр - Бильярд 3D. Начал с разработки интерфейса и меню будущей игры.
Для разработки интерфейса, я воспользовался графическим редактором Photoshop CS4. Мною были созданы фоновые изображения и кнопки меню моей игры.
Рис.9. Работа в графическом редакторе PhotoShop CS4.
Далее я приступил к программированию, моего интерфейса и меню.
Рис.10. Работа в среде программирования Delphi 7.
В конце дня я занес результаты моей работы в отчет.
05.04.13 Анализ литературы по теоретическим вопросам. Разбор теоретических вопросов №28-30. Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня мною были проработаны следующие теоретические вопросы:
1. Топология компьютерных сетей. Топология «Звезда», «Кольцо», «Шина» и древовидная топология.
2. История создания и общая характеристика сети Internet. Сервисы, предоставляемые сетью Internet.
3. Введение в язык HTML. Общий вид документа. Основные тэги.
Для этого я использовал следующую литературу:
6. Урнов В.А. Преподавание информатики в компьютерном классе. Москва «Просвещение» 1990 г.
7. Фигурнов В.Э. IBM PC для пользователя 7 издание. Москва «Инфра-М» 1997 г.
8. Фоменко А.М., Фоменко Л.В. Основы информатик и вычислительной техники. Ростов-на-Дону «Феникс» 2001 г.
9. Газета «Информатика»
10. Интернет-ресурсы.
По индивидуальному практическому заданию я продолжал работать над игрой Бильярд 3D, сегодня я закончил с программированием интерфейса, довел его до конца, осуществил раздел меню - Выход, затем приступил к написанию кода самой игры. После долгого изучения OpenGl, просмотра многих уроков, я научился создавать несложные фигуры, при помощи этого я без всякого труда за сегодняшний день написал код.
Рис.11. Написание кода игры Бильярд 3D.
Рис.12. Готовая игра Биьярд 3D.
В конце дня я занес результаты моей работы в отчет.
06.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
По индивидуальному практическому заданию я продолжал работать над написанием двух оставшихся игр. Сегодня я занимался созданием интерфейса для игры Морской бой. Я так же воспользовался графическим редактором Adobe Photoshop CS4 для создания фонового изображения и кнопок меню.
Рис.13. Работа в Photoshop CS4.
В конце дня я занес результаты моей работы в отчет.
08.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня я занимался написанием кода для игры Морской бой.
Рис.14. Программирование игры - Морской бой.
Рис.15. Готовая игра - Морской бой.
В конце дня я занес результаты моей работы в отчет.
08.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня я приступил к разработке моей третьей игры, которая называется - Карточная игра - 50. Суть данной игры состоит в следующем: На столе располагаются 24 раскрытые карты: все карты с номерами от 1 до 6 обычной колоды, где туз считается за 1. Масти карт несущественны. Каждый игрок при своём ходе берёт со стола карту и складывает её значение с суммой тех, которые были взяты ранее (таким образом, подсчитывается общая сумма карт, взятых партнёрами, а не отдельные суммы для каждого партнёра. Первый, кто берёт в точности 50 очков выигрывает. Если игрок, взяв карту, не может не превысить 50 очков, то он проигрывает.
09.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня я приступил к созданию интерфейса для Карточной игры. При помощи все того же Photoshop CS4 я занимался созданием фоновых изображений, кнопок разделов меню.
Рис.16. Работа в графическом редакторе Adobe PhotoShop CS4.
10.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня я приступил к программированию карточной игры. Сначала я занялся разработкой интерфейса.
Рис.17. Разработка интерфейса игры.
Организовал пункт меню «Об игре»
Рис.18. Об игре.
11.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
В этот день я занимался оптимизацией некоторых функций моего проекта.
Рис.19. Стартовая форма.
12.04.13 Работа над индивидуальным практическим заданием. Оформление отчета о проделанной за день работе.
Сегодня я занимался полным и окончательным тестированием моей программы и анализом результатов ее выполнения. По результатам выполнения программы можно сделать вывод, что программа осуществляет работу правильно и точно.
Рис.20. Готовый комплекс логических игр.
13.04.13 Подведение итогов практики. Подготовка и оформление документации для защиты практики. Фронтальный опрос руководителем по теоретическим вопросам.
В этот день мы вместе с руководителем подводили итоги практики. Обсуждали все основные моменты. Еще раз затронули те проблемные моменты, которые возникали в ходе практики. Окончательно скомпоновали и распечатали отчет по преддипломной практике. А затем руководитель проводил со мной беглый опрос по всем теоретическим вопросам, которые будут задаваться на защите практики, чтобы убедиться в твердости моих знаний.
5. Индивидуальное практическое задание
5.1 Постановка задачи
1. Общие вопросы теории игр: их виды и классификация.
2. Принципы построения и программирования игровых программ.
3. Основы 2-3D графики.
4. Использование 2-3D графики в программировании.
5. Понятие динамического изображения.
6. Методы и способы программирования динамических изображений.
7. Понятие искусственного интеллекта.
8. Применение принципов искусственного интеллекта для программирования игр и головоломок.
9. Выводить стартовую форму приложения.
10. Запускать игровые программы-примеры.
11. Выдавать сведения об авторе программы.
12. Осуществлять выход из программы.
5.2 Общие вопросы теории игр: их виды и классификация
Игра - это идеализированная математическая модель коллективного поведения нескольких лиц (игроков), интересы которых различны, что и порождает конфликт. Конфликт не обязательно предполагает наличие антагонистических противоречий сторон, но всегда связан с определенного рода разногласиями. Конфликтная ситуация будет антагонистической, если увеличение выигрыша одной из сторон на некоторую величину приводит к уменьшению выигрыша другой стороны на такую же величину и наоборот. Антагонизм интересов порождает конфликт, а совпадение интересов сводит игру к координации действий (кооперации).
Примерами конфликтной ситуации являются ситуации, складывающиеся во взаимоотношениях покупателя и продавца; в условиях конкуренции различных фирм; в ходе боевых действий и др. Примерами игр являются и обычные игры: шахматы, шашки, карточные, салонные и др. (отсюда и название “теория игр” и ее терминология).
В большинстве игр, возникающих из анализа финансово-экономических, управленческих ситуаций, интересы игроков (сторон) не являются строго антагонистическими ни абсолютно совпадающими. Покупатель и продавец согласны, что в их общих интересах договориться о купле-продаже, однако они энергично торгуются при выборе конкретной цены в пределах взаимной выгодности.
Теория игр - это математическая теория конфликтных ситуаций.
Цель теории игр - выработка рекомендаций по разумному поведению участников конфликта (определение оптимальных стратегий поведения игроков).
Классификация компьютерных игр может быть следующая:
1. Приключенческие игры. Игры могут быть великолепным средством рассказа истории. Эти игры представляют собой мультиплицированный рассказ, в котором можно видеть и контролировать основной персонаж (а иногда и более одного) в очень детальном повествовании. Это - компьютерные версии обычных повествований, начиная от душещипательных рассказов до технотриллеров, научно-фантастических приключений, фантазий и рассказов, до предела набитых разными обманами и мошенничествами. Приключенческие игры развиваются вокруг различных загадок и препятствий, которые нужно преодолеть по мере развития рассказа.
2. Фантастические игры, в которых требуется играть некоторую роль (ролевые игры). Их лучше всего определить как компьютеризованную версию рассказа Dungeons and Dragons («Подземелья и драконы»), но действие не всегда происходит в населенном варварами средневековом мире. Часто оно происходит в открытом космосе или в каких-либо областях будущего. В этих играх обычно нужно управлять группой персонажей, которые становятся по мере развития игры сильнее и умнее, и делать некоторые другие вещи. Так же изменяются и враги. Сами рассказы в играх этого типа обычно менее детальны, чем в приключенческих играх, с большим упором на задачу побить чудовищ, чем решить загадки.
3. Имитаторы воздушных и космических сражений. Это не военные игры, в которых может оказаться неограниченное число вооружений и врагов, эти игры пытаются быть точными имитаторами полетов и сражений на реальных боевых самолетах. Эти игры предназначены для тех, кто хочет летать на больших и очень мощных машинах. Кабины пилотов выглядят как настоящие, инструменты работают как в настоящем бою, оружие является имитацией реально существующего, а полетные характеристики самолета (и самолета врага) соответствуют действительным. Имитаторы космических сражений выдуманы, однако они разработаны с целью точно повторить реальные маневры в космосе.
4. Имитаторы наземных и морских сражений. Игры разработаны для военного оборудования и военных машин. Эта категория игр включает в себя симуляторы настоящих подводных лодок, кораблей и танков, и позволяет игрокам испытать реальные сценарии сражений, и выжить для того, чтобы понять, как использовать правильную тактику в следующей игре.
5. Самолеты, поезда и автомобили. В отличие от этих имитаторов, все прочие являются имитаторами военного типа или имеют очень сильный упор на сражение. Эти же игры не относятся к таким имитаторам. Конечно, можно проехать на автомобиле по береговой дороге в Калифорнии со скоростью, вдвое превышающей разрешенную, и потанцевать на всех четырех колесах. Но также можно использовать эти игры, чтобы научиться безопасно летать среди облаков, и получать удовольствие от свободы полета. Даже можно делать такие вещи, как постройка и управление собственной железной дорогой.
6. Спортивные имитаторы. Здесь необходимо обучать профессионалов и управлять ими. Эти игры - нечто большее, чем простое изображение бейсбольных игр в картинках, в некоторых из них можно даже контролировать реальное действие. Спортивные имитаторы дают возможность вести рискованную игру в нужное время, доказать, что можно выиграть с помощью быстроты, иметь в команде Генри Аарона и Теда Вильямса, или переиграть Томми Лазорду.
7. Аркадные игры / игры действия. Это классические «игры действия» - все зависит от того, насколько быстро руки могут дергать джойстик. Обычно о них говорят как о бессмысленных, так часто и бывает. С другой стороны, бывают времена, когда появится потребность дать отдохнуть мозгам. Во многие из этих игр можно играть с помощью клавиатуры или мыши, и джойстики не всегда необходимы. В чем есть необходимость, так это в быстрых рефлексах.
8. Настольные игры, солитер и салонные игры. Многие старые любимые игры появились в компьютерном варианте. Больше не нужно заниматься поисками партнера, чтобы поиграть в шахматы, бэкграммон и риск. Некоторые из этих игр даже научат мошенничать наедине с монитором, и при этом не придется возвращаться домой с пустым карманом после неудачной ночи.
9. Имитаторы реальности («игры в бога»). Это игры, которые позволяют создавать реальный мир из ничего. Это игры, которые позволят создать компьютерный мир из набросков, управлять городом, страной или даже миром.
10. Игры, в которых делаются деньги. Они копируют игровую деятельность и учат высшим формам азартных предприятий: фондовая биржа, торговля недвижимостью. Они также позволят попробовать управлять корпорацией. В эти игры можно играть для удовольствия, или использовать их для того, чтобы научиться карабкаться вверх по лестнице карьеры.
11. Стратегические и военные имитаторы. Здесь можно принимать участие в великих исторических событиях, взять на себя командование немецкой армией у Ленинграда или армией Наполеона у Ватерлоо. Это военные стратегии прошлого, настоящего или будущего.
12. Игры для детей. Если есть домашний компьютер, и чтобы дети научились его использовать, то эти игры достойны внимания. Реальность нашей культуры такова, что, как только малыши станут координированы настолько, чтобы правильно пользоваться клавиатурой или мышью, они хотят сразу приняться за такие игры, как Wing Commander, Populous или Eye of the Beholder. Однако же вокруг существует множество игр, в которые дети могут играть просто чтобы получить удовольствие, или же научиться чему-либо.
13. Игры «On-line». Было бы ошибкой считать, что все компьютерные игры для IBM PC приходят к нам на дискетах или CD-дисках, плотно упакованных в красивые пакеты. Фактически, весь обширный мир компьютерных игр доступен и по телефону. Эта категория игр известна как «он-лайн» и включает в себя разнообразные игры, которые имеются в больших коммерческих «он-лайн» сетях и во многих локальных сетях типа «доска объявлений» (bulletin board system - BBS). Для игр «он-лайн», кроме личного компьютера, необходимы модем и кредитная карточка.
14. Игры Shareware. Будет ошибкой предположить, что все компьютерные игры приходят в красивых упаковках. Многие хорошие игры приходят вовсе без упаковок, и стоят от 10 до 30 долларов. Обычно можно их опробовать за очень низкую плату или вовсе бесплатно в течение нескольких дней и, если захочется получить легальную копию, следует послать по почте чек компании или лицу, которые создали игру.
15. Классические игры. Мир PC-игр во многом похож на мир популярной музыки и фильмов: создается много игр различных наименований, некоторые становятся хитами и держат популярность в течение некоторого времени, другие пропадают. Постепенно эти хиты становится трудно отыскать, и мало-помалу они заменяются другими лучшими играми. Очень мало PC-игр живут более 2-3 лет. Из тех, что действительно остаются, многие настолько хороши, что становятся вечными, и они заслуживают того, чтобы в них играли. Некоторые, как Flight Simulator или King's Quest, обновляются время от времени, так что их можно рассматривать как практически новые игры. Остальные остаются неизменными, и уровень продаж у них таков, что они остаются в обращении, но уже не рекламируются активно их производителями. Это игры, которые не бросаются в глаза, «золотые» игры - классические PC-игры.
5.3 Принципы построения и программирования игровых программ
Важность сюжета
Для начала замечу, что для хорошей игры самое главное - это сюжет. Конечно, существует множество неплохих игр и даже целые жанры, в которых нет и намека на сюжетную линию, и все же самые лучшие игры - те, где присутствует интересная фабула. Quake, бесспорно, является классическим шутером от первого лица, но игру Half-Life, относящуюся по сути к тому же жанру, увлекательная сюжетная линия ставит на порядок выше.
Не давайте игроку скучать
Самое ужасное преступление, какое только может совершить создатель игры, - наскучить игроку. Поясним это положение.
а). Не заставляйте игрока дважды повторять одну и ту же последовательность действий. Если он уже выполнил все необходимые шаги и решил сложную головоломку, предоставьте ему возможность в дальнейшем в аналогичной ситуации миновать эту последовательность одной командой. Для ясности приведу два примера.
б). Не стоит заставлять игрока выполнять длинную последовательность сложных трюков без возможности сохраниться, а при малейшей ошибке - начинать все сначала.
в). Сделайте так, чтобы игрок мог свободно перемещаться в окружающем пространстве. Если созданный вами мир занимает большую площадь, позвольте игроку одной командой преодолевать расстояния из конца в конец. Не утомляйте его бесконечными путешествиями туда и обратно.
г). Если в игре есть видеовставки, дайте игроку возможность отказаться от их просмотра (нажав клавишу ESCAPE или правую кнопку мыши). Поверьте, нет ничего скучнее, чем снова и снова созерцать одну и ту же сцену. Всемогущий Создатель не случайно дал нам клавишу ESCAPE. Используйте ее! Еще одно слабое место - повторная загрузка. Не сомневаюсь, вы сочинили потрясающий ролик для заставки, но игрок уже посмотрел его. Позвольте ему на этот раз пропустить ваш шедевр.
Если вам удастся устранить эти и другие утомительные действия, которыми грешат многие творения нашего жанра, вы получите динамичную игру, которая будет держать игрока в напряжении от первой до последней минуты.
Программа может писаться на особом виде ассемблера, либо на языках высокого уровня. Чаще всего применяются интерпретируемые языки наподобие Python.
5.4 Основы 2-3D графики
искусственный интеллект логический игра
Двухмерная (2D - от англ. two dimensions - «два измерения») компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно компьютерную графику разделяют на векторную и растровую, хотя обособляют ещё и фрактальный тип представления изображений.
Векторная графика
Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также как общий случай, кривые некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Рисунок хранится как набор координат, векторов и других чисел, характеризующих набор примитивов. При воспроизведении перекрывающихся объектов имеет значение их порядок.
Изображение в векторном формате даёт простор для редактирования. Изображение может без потерь масштабироваться, поворачиваться, деформироваться, также имитация трёхмерности в векторной графике проще, чем в растровой. Дело в том, что каждое такое преобразование фактически выполняется так: старое изображение (или фрагмент) стирается, и вместо него строится новое. Математическое описание векторного рисунка остаётся прежним, изменяются только значения некоторых переменных, например, коэффициентов. При преобразовании растровой картинки исходными данными является только описание набора пикселей, поэтому возникает проблема замены меньшего числа пикселей на большее (при увеличении), или большего на меньшее (при уменьшении). Простейшим способом является замена одного пикселя несколькими того же цвета (метод копирования ближайшего пикселя: Nearest Neighbour). Более совершенные методы используют алгоритмы интерполяции, при которых новые пиксели получают некоторый цвет, код которого вычисляется на основе кодов цветов соседних пикселей. Подобным образом выполняется масштабирование в программе Adobe Photoshop (билинейная и бикубическая интерполяция).
Вместе с тем, не всякое изображение можно представить как набор из примитивов. Такой способ представления хорош для схем, используется для масштабируемых шрифтов, деловой графики, очень широко используется для создания мультфильмов и просто роликов разного содержания.
Растровая графика
Растровая графика всегда оперирует двумерным массивом (матрицей) пикселей. Каждому пикселю сопоставляется значение - яркости, цвета, прозрачности - или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов.
Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении. Увеличение же растровых изображений оборачивается «красивым» видом на увеличенные квадраты того или иного цвета, которые раньше были пикселями.
В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.
Фрактальное дерево
Фрактал - объект, отдельные элементы которого наследуют свойства родительских структур. Поскольку более детальное описание элементов меньшего масштаба происходит по простому алгоритму, описать такой объект можно всего лишь несколькими математическими уравнениями.
Фракталы позволяют описывать целые классы изображений, для детального описания которых требуется относительно мало памяти. С другой стороны, фракталы слабо применимы к изображениям вне этих классов.
Трёхмерная графика (3D - от англ. three dimensions - «три измерения») оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.
В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.
Всеми визуальными преобразованиями в 3D-графике управляют матрицы. В компьютерной графике используется три вида матриц:
· матрица поворота
· матрица сдвига
· матрица масштабирования
Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.
Использование 2-3D графики в программировании
Для программирования трехмерной графики сегодня создан ряд специализированных API (Application Programming Interface). Если аппаратура поддерживает данные эффекты - прекрасно, нет - будет мучиться процессор. Все интерфейсы можно разделить на две группы: созданные фирмами под аппаратуру собственной разработки (ЗDfх Glide для Voodoo) и под аппаратуру “общего пользования”, не учитывающие различий графических адаптеров, таких как OpenGL (разработка Silicon Graphic”) и Dlrect3D (DirectX, Microsoft). Недавно появилась шестая версия последнего стандарта, которая имеет все основания стать стандартом в индустрии. Обычно поддерживается один или два интерфейса. Причем в зависимости от интерфейса можем получить не только разницу в цвете, но даже разные сценарии.
Платы ATI традиционно пользовались репутацией недорогих универсальных изделий, которые ориентированы скорее на удовлетворение потребностей “среднестатистического” пользователя, чем на запросы любителей трехмерных компьютерных игр и немногочисленной группы профессионалов, которые предъявляют чрезвычайно высокие требования к графической подсистеме ПК. Иными словами, обладая хорошим соотношением: цена/качество, платы ATI оставались изделиями массового спроса со средними, по современным меркам, показателями производительности при операциях трехмерной графики -- весьма существенный недостаток, учитывая популярность трехмерных игр. Кроме того, пользователи плат ATI сталкивались еще с одной проблемой -- отсутствием драйверов OpenGL, требующихся для игры Quake и ее клонов.
5.5 Понятие динамического изображения
Понятие динамического объекта (динамической системы) является довольно сложным, и к нему имеется несколько подходов. При первом подходе понятие динамической системы рассматривается как существенное обобщение понятия статической, включающее в себя последнюю как частный случай.
Другой подход основан на противопоставлении динамической и статической систем. Под динамической системой понимается система, поведение которой зависит не только от мгновенных значений входных сигналов, но и от состояния системы, обусловленного предыдущими изменениями входных и выходных сигналов. В статической системе мгновенные значения выходных сигналов зависят только от соответствующих мгновенных значений входных сигналов и не зависят от предыдущего состояния системы и прежних изменений входных сигналов.
По-видимому, целесообразно использовать для определения понятия динамической системы первый подход, тем более, что этот подход в последнее время получил широкое распространение.
При втором подходе понятия динамической и статической систем целесообразно заменить понятиями инерционной и безынерционной систем, которые возможно противопоставлять Друг другу.
При этом одна и та же система может рассматриваться и как инерционная, и как безынерционная в зависимости от инерционности устройств, вырабатывающих для нее входные сигналы, либо от инерционности устройств, обрабатывающих ее выходные сигналы. Если переходные процессы этих внешних по отношению к рассматриваемой системе устройств являются значительно более длительными, чем переходные процессы в системе, то ее без большой ошибки можно считать безынерционной.
В дальнейшем будет употребляться терминология, использующая введенные понятия динамической и статической, инерционной и безынерционной систем. Динамической системой называется система, математическая модель которой содержит переменные состояния и переменные преобразования состояния, аналитически это взаимозависимость девяти переменных
Где t - множество моментов времени, х - множество мгновенных значений входных сигналов, - множество допустимых входных сигналов, у - множество выходных сигналов, yt - множество допустимых выходных сигналов, s - множество состояний системы, с - множество параметров системы, <р и D - отображения: ср (t, х, s, с) - s, D (/, х, s, с) - у.
Это абстрактное определение говорит о том, что динамическая система описывается с помощью следующих сигналов: входных переменных х, переменных состояния s, выходных переменных у.
Кроме того, поведение системы зависит от ее параметров. Зависимость переменных состояния от изменения входных сигналов определяется отображением ср. Зависимость выходных переменных от входных и переменных состояния определяется отображением D.
В дальнейшем будет использоваться частный случай понятия динамической системы, для которого t - замкнутый интервал, х - множество кусочно-непрерывных векторных функций с ограниченными мгновенными значениями, s - множество непрерывных кусочно-дифференцируемых векторных функций, с-n-мерное векторное пространство, у - множество непрерывных векторных функций.
Отображение ф описывается с помощью дифференциальных уравнений.
Отображение D является однозначной векторной функцией векторных аргументов. Такое описание задается уравнениями
Общее понятие динамической системы относится не только к объектам, описываемым дифференциальными уравнениями, но и к дискретным объектам, описываемым разностными уравнениями, а также к конечным автоматам. Дальнейшие результаты будут справедливы и для двух последних случаев, хотя выводиться и иллюстрироваться они будут на примере объектов, описываемых дифференциальными уравнениями. Для рассматриваемых нами задач контроля важным является включение в описание контролируемой динамической системы параметров с, которые характеризуют техническое состояние системы, в частности ее работоспособность. Задача контроля динамической системы заключается в формировании входных сигналов х (t), измерении выходных сигналов
У (t), определение на основании этих измерений параметров с и степени работоспособности системы путем сравнения полученных значений параметров с их допустимыми значениями.
5.6 Методы и способы программирования динамических изображений
Одним из распространенных примеров программирования динамических изображений является использование спрайтов. Особенно часто спрайты используются при программировании компьютерных игр. В литературе спрайт определяется как аппаратное или программное средство формирования динамического графического изображения. Спрайт представляет собой растровое графическое изображение небольшого размера, которое может перемещаться по экрану независимо от остального изображения. Спрайт накладывается на основное изображение, перекрывая его.
Спрайт - это небольшое изображение, свободно перемещающееся по монитору. В первоначальном смысле слова этот термин применялся только для аппаратно выводимых изображений. Собственно, лишь один настоящий спрайт можно встретить на IBM PC - аппаратный курсор мыши. При архитектуре х86 под спрайтом принято понимать программно выводимое изображение, которое может иметь сложную форму и передвигаться поверх фона, не затирая его.
Подобные документы
Сущность и проблемы определения искусственного интеллекта, его основных задач и функций. Философские проблемы создания искусственного интеллекта и обеспечения безопасности человека при работе с роботом. Выбор пути создания искусственного интеллекта.
контрольная работа [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