|
Часы casio с игрой покер.
Когда-то давно попал в цеху на охранный пост. Такая маленькая будочка возле задних ворот. Назначали обычно на "ворота" внезапно, поэтому ничего развлекательного с собой взять не успел. В общем скукотища. В цеху частенько играли в "кубики" она же "1000" или "бочка". Игра очень интересная и залипательная, но мне не нравилось играть в цеху, потому что я маты не люблю. Но вот на воротах задумался, а что если бы на электронных часах была такая игра?!
Создать такую игру на телефоне, на умных часах или самодельных часах на arduino, не интересно. Посмотрел тогда мельком на старые игровые часы casio и увидел только примитив типа Casio GD8 Car Race. И как-то остыл, стало не интересно, а потом и с завода уволился. Прошло много времени, но я наткнулся на часы casio GC-10W с возможностью игры в покер. Ещё встречались casio с игрой типа слот машина. [media]https://www.youtube.com/watch?v=FHgEHU9oG2k&t=142s[/media] Т.е. получается в часах с таким микро-потреблением и автономностью смогли реализовать простейшее программирование и генератор случайных чисел?! Интересно, как реализовано программирование в простых часах? И есть ли сейчас возможность создать что-то более простое, элегантное и автономное чем часы на arduino? |
Возможность есть - микропотребляющие контроллеры наподобие MSP430 или STM32 со встроенным драйвером дисплея. И кастомный ЖК дисплей без всяких дискретных драйверов. На подобной основе недавно была создана "современная" версия советской игры "Ну-Погоди".
|
Волк ловит яйца это примитив, в котором интересен только генератор случайных чисел. Каким-то программированием там и не пахнет. Но я думаю что написать умный ии для соперника в "бочку" наверное нужен как минимум программируемый калькулятор.
А эти контроллеры программируются и на каком языке? |
Языков под них предостаточно, чаще всего их программируют на чистом Си, реже на С++.
|
Думаю, что код искусственного интеллекта соперника для игры в "1000", часы с нормальной часовой автономностью не потянут.
|
из всего ии там метод альфа-бета отсечений, думаю, не более. стандартный алгоритм сокращённого перебора.
а то и вовсе карта полного перебора в памяти и быстрый поиск, если игра попроще. но на это уже часов наверное не хватит. а что за игра то хоть? какие правила? |
Помимо того что ии нужно думать: кидать дальше или нет, в игре есть 2 перехода с 400-500 и 900-1000, к которым нужно правильно подойти. Также в игре присутствует обгон соперника. Нужно просчитывать риски и часто действовать относительно позиции соперника.
Т.е. строк кода с "если то значит то", очень очень много. Наверное интересно было бы прописать это всё. Если посмотреть игры с ии, то например java шахматы для телефона c дисплеем 128*128, занимают около 50 kb. Вообще игра интересная. 2 на 2 играть интереснее, но и 1 на 1, затягивает. У меня в цеху ребята играли 1 на 1 ночную смену на пролёт. Тонкости игры могут отличаться в зависимости от регионов, но система начисления очков у всех одна. [media]https://www.youtube.com/watch?v=NEvbVVQas4w[/media] |
В общем когда я попадал на охрану задних ворот цеха, я понимал, что будь у меня часы с такой игрой, мне никогда не было бы точно скучно. И такие часы захотели бы себе половина работников цеха.
|
Нашёл тему на вусе, в которой обсуждают что управляет шоками. В шоках используются автоматы управления схемами типа ASIC и VHDL. Думаю в покер часах похожий автомат, который научили играть в покер. Иначе часовая батарейка разряжалась бы очень быстро.
|
Подумал я как бы мог выглядеть алгоритм действий ии.
Всё сводится к тому, что ии либо всегда действует логически, либо ему позволено иногда рисковать. Если ии всегда действует логически верно, то через какое-то количество игр, его стиль изучается, и играть с ним становится не интересно. Если в поведение ии добавить рискованные действия, то эти действия будут определятся генератором случайных чисел. Т.е. к примеру в 1-ом случае из десяти, ии рискует и кидает 5-ый кубик. И т.д. Т.е. вся головная боль умещения игры в часы сводится к реализации механики игры и автоматического подсчёта очков, а само поведение ии свелось бы к генератору случайных чисел. Т.е. к примеру на основе броска двух дополнительных кубиков можно придумать правила случайного поведения соперника, и просто играть на бумаге. Конечно в автоматизированном виде это бы смотрелось интереснее и было комфортнее. Но суть была бы одной, а реализация очень сложной. |
Часовой пояс UTC +3, время: 23:51. |