Неоновые краски, интересные персонажи и зажигательное музыкальное сопровождение в игровом автомате DJ Корова во время игры бесплатных спинов или за деньги, развлекающие по полной программе – далеко не весь перечень приятных бонусов..Игровой автомат Crazy Cows от Play`n Go подарит позитив и хорошее настроение совершенно бесплатно. Играть на аппарате Безумные Коровы или Быки онлайн можно без регистрации, а кроме символов дикаря и скаттера есть бонус игра.. Метод решета в игре «Быки и коровы» / Хабрахабр. Здравствуйте. Еще осенью на 2 курсе в качестве лабораторной работы по «Теории автоматов» преподаватель на ходу придумывал нам задания, ориентируяюсь на наши пожелания в оценке. В основном это были игры. Кому- то достался хоккей, кому- то теннис, мне же досталась не столь известная логическая игра «Быки и коровы». Нужно было реализовать хоть какое- то обоснованное поведение компьютера в игре с человеком.
Мы с самого начала знали о том, что это будет невероятно веселый игровой автомат в тематике инопланетян. Да, это игра о пришельцах (коровах с . Но я пошел дальше и уже через месяц компьютер в большинстве случаев легко обыгрывал моих однокурсников. А по предмету был получен автомат. Программу получите после описания алгоритмов. Суть игры. Игрок и компьютер загадывают четырехзначные числа, используя цифры от 0 до 9. Игроки пытаются разгадать числа соперника, посылая ему возможные варианты чисел, в ответ получая два числа — число «быков» и число «коров». Что же это за числа такие? Быки» — правильные цифры на правильных местах. Четыре «быка» — залог победы, мечта каждого фермера.«Коровы» — правильные цифры на неправильных местах. Для понимания приведу пример: Загадано число 1. Если мы предположим 6. Оперируя данными о «скоте» противника, нужно угадать число быстрей него. Первый же тривиальный алгоритм, который так и напрашивается, — это перебирать наборы «1. Например, загадано то же число 1. Дальше продолжать не будем, так как набралось уже 4 быка в сумме. Осталось найти нужную комбинацию. Будем генерировать перестановки, пока не получим Та- дааам: «1. Все. Очевидно, что алгоритм не очень хорош, зато понятный и не запутаться. Максимальное число ходов для угадывания — 1. Конечно возможно перебор и перестановки всячески оптимизировать, например перебирать поочередно с двух концов — «1. Но не будем этим заниматься. Пусть данная стратегия будет у нас легким уровнем сложности компьютера. Много я сидел на парах и играл сам с собой, пытаясь придумать какой то свой крутой алгоритм. Но приходили только единичные идеи, из которой я не мог составить единой стратегии. Начал изучать литературу. Наткнулся на статьи, рода «угадывание за 7 ходов». Они меня не привлекли, поскольку там очень много ветвления. Но прочитав книгу нашего Кировского профессора(но не из нашего университета) С. М. Окулова «Программирование в алгоритмах», я нашел описание довольно простого и достаточно эффективного алгоритма. В нем используется так называемый «метод решета» (примером может служить известное «решето Эрастофена» — классическая задача поиска простых чисел). Мы рассматриваем конечное множество всех возможных чисел и каждый ход исключаем все элементы множества, не представляющие интереса. Например, для загаданного числа 1. Сразу можете прикинуть, сколько отнимется из 1. Не стоит пугаться множества из 1. За 5- 6 ходов останется всего несколько чисел. Начнем со структур данных. Код на паскале: Const Pmax=1. Type Post=string[4]. Var A: array[1. Pmax] of Post; //множество. B: array[1. Pmax] of boolean; // массив флажков, 1 - значит подходит, 0 - исключено. Инициализация. for i: =0 to 9 do. Функция, реализующая анализ элемента множества по значениям переменных (bk,kr — быки и коровы)function pr(a,b: post; bk,kr: integer): boolean; //b - наш ход, a- элемент "тестируемого" множества. Pmax do. if b[i] and not pr(a[i],hod,bk,kr) then b[i]: =false. В заключение можно сказать, что алгоритм затратен к памяти и по сравнению со стандартными алгоритмами будет думать «дольше», но насколько же он проще и вполне оптимизируется. Ну вот и все, совсем не сложно. Первая моя статья, судить строго. Как и обещал, ссылка на мою игрульку со второго курса, чтоб на себе почувствовать метод «решета»: Быки и коровы.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
January 2017
Categories |