|
Лекция
14 |
|
|
|
Игровые программы. |
|
|
1.2 Правила игра
"Быки и Коровы".
Разработка игровых программ является
развлечением, а также хорошим способом показа того, как использовать Пролог для
создания неэлементарных программ.
В игровых программах описывается
стратегия, приводящая к выигрышу игры. Для игры с двумя игроками возможны
варианты: человек-машина, машина-машина. Это программа разгадывает
секретный код. Другое название этой игры "Быки
и коровы". Она является хорошим примером того, как без особых
размышлений легко запрограммировать на Прологе.
Правила игры:
Игрок А выбирает секретный код, представляющий из себя
последовательность из N различных десятичных цифр (обычно N устанавливается
равным 4). Игрок В пытается угадать задуманный код и спрашивает игрока А
о числе "быков" (число
"быков" - количество совпадающих цифр в одинаковых
позициях предполагаемого и задуманного кодов; число
"коров" - количество совпадающих цифр, входящих в
предполагаемый и задуманный код, но находящихся на разных позициях).
Код угадан если число быков равно N.
Алгоритм в общем описывается следующим образом:
Вводится некоторый порядок на множестве допустимых правилами предложений;
выдвижение очередных предположений учитывает, накопленную к тому времени
информмацию, и так до тех пор пока секретный код не будет раскрыт.
Рассмотренный алгоритм позволяет решить задачу - раскрыть код за 4-6 попыток (
как опытный игрок ).
(c) M.N.Morozov,
1999.