Московський державний університет економіки, статистики та інформатики
Інститут Комп'ютерних Технологій
Кафедра Математичного забезпечення інформаційних систем і інноватики (Мойсей)
Курсова робота
з курсу "Об'єктно-орієнтоване програмування (ООП (2))"
на тему
"Гра Акінатор . Мова програмування: С + +. Середа розробки: Microsoft Visual Studio 2010
Виконав студент групи ДКО-201:
Наразін І.В. p> ДКО-10161
Керівник Переверзєв І.Ю. br/>
Москва, 2012
Зміст
Завдання
Структура програми
Вихідний код
Література
Завдання
Розробка гри Вгадай персонажа . Суть гри: користувач загадує персонажа, потім відповідає на пропоновані програмою питання. У підсумку програма вгадує загаданого персонажа.
У програмі врахувати:
) Допустити деякий відсоток помилкових відповідей. Тобто якщо користувач може помилитися у своїй відповіді, але програма все одно повинна дати правильну відповідь.
2) Обучаемость. Програма повинна запам'ятовувати нових персонажів і нові питання, коригувати свою базу даних.
) Кожне питання має дати програмі якомога більше інформації. Тобто питання не повинні вибиратися випадково.
1. Алгоритми та методи
База даних програми складається з двох файлів:
Responses. txt - всі можливі відповіді програми
Questions. txt - всі можливі питання.
Вид записи в responses. Txt
В
Щоразу список можливих варіантів відповідей сортується за ймовірностями. Нове запитання береться зі списку питань самого, на даний момент, ймовірного відповіді. Перші кілька питань - самі найбільш зустрічаються у векторах відповідей персонажів. Вони потрібні для початкового відсіву персонажів. p align="justify"> При позитивній відповіді на запитання, ймовірність всіх відповідей, що містить дане питання збільшується. А ймовірність відповідей, що не містять дане питання зменшується. При негативній відповіді навпаки: ймовірність відповідей, що не містять дане питання підвищується, а містять - зменшується. Всі позитивні питання запам'ятовуються в рамках однієї гри, на випад...