Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

57 lines (38 sloc) 3.785 kB

****** TODO (or at least to consider)

В КОНЕЧНОЙ ВЕРСИИ ЗАПУСКТЬ С КЛЮЧОМ -OO !!!!!!!!!!!!!

Хуйня которая конструирует желаемый терм кратчайшим образом, в идеале опираясь на имеющиеся слоты и избегая слоты, достижимые противником (чтобы он не помешал)

Оценивалка достижимости. Она принимает во внимание числа, которые уже сидят внутри исходного терма. И грубо оценивает, может ли такое-то число быть получено за столько-то шагов путём манипуляций с этим термом и другими.

Детектор циклов у врага Циклы особенно опасны и непредсказуемы.

Ну и вообще оценивалка опасности - по наличию команд атаки, по циклам и т.п.

Общая архитектура - есть цели и когда их надо достигнуть. Например (1. построить УБЕРТЕРМ как можно быстрее, и 2. засрать врагу слот 0 не позднее чем за два хода). Новые цели возникают когда мы распознаём новую опасную хуйню у врага. И планировщик на каждом шаге выбирает действие исходя из этих целей.

Вхардкоженная в окончательный бот библиотека сучковых реализаций для всяких простеньких термов типа ((get 0) (get 1)).

replay viewer

replay replayer (бот, который берёт свои ходы из реплея)

Подсчёт оставшегося времени (на ход и вообще). Защита от таймаута - если времени осталось мало, то бот перестаёт даже обсчитывать игру, и начинает выводить случайные ходы очень быстро.

Если мы убили слот 0, то повставлять во всякие наши промежуточные значения dec (255-0), чтобы оно между делом вызывалось по ходу дальнейшей работы и отменяло попытки воскресить.

Защита от ошибок симуляции - если бот думает, что игра закончилась, а его просят сделать ещё ход (будем надеятся, это произошло из-за расхождений в каком-то редком случае), он очищает и на всякий случай оживляет нужные ему слоты, после чего методично убивает слоты противника вслепую.

generate_***_sequence should accept 'basis' parameter, which is a term we allowed to start from

надо сразу в какой-нибудь слот положить copy чтобы если в нуле у противника появится что-то интересное, тут же спиздить!

****** DONE Мемоизация для конструкторов функций.

Мемоизация для apply - если шняга считается без побочных эффектов, то достаточно запомнить конечный результат и сколько аппликаций было сделано.

****** REJECTED

Jump to Line
Something went wrong with that request. Please try again.