Ты написал что на кучу комбинаций у тебя уйдёт около 500 байт.
Я спрашиваю - а разве не по оставшимся клеткам будет идти расчёт?
Ты же не можешь перерасчитывать каждый раз в ходе игры, ты хранишь все варианты развитий. Я понимаю так: ты можешь хранить каждый выстрел семью битами, но в итоге у тебя каждый следующий выстрел значительно усложняет варианты.
Я мыслю так: при выстреле в первую клетку у тебя останется 99 клеток (вне зависимости, попадание или нет, попадание просто резко сузит необходимые варианты обстрела).
Соотвественно вначале у тебя 100 вариантов выстрела, потом 99, потом 98 и т.д. И каждую из комбинаций тебе надо хранить.
Я тут вижу, что ты можешь кодировать только наиболее вероятные клетки для следующих выстрелов, но всё равно это тебе надо 7 бит на каждую вероятную клетку, в итоге - чтобы алгоритм не был детерменированным, тебе надо хранить минимум 2 ячейки далее. На каждый новый ход по 14 бит данных на промах (наиболее вероятные ячейки следующих двух ходов) и 14 бит данных на попадание (аналогично). Каждый ход добавляет 28 бит данных, каждые 7 бит которых порождают ещё 28 бит данных и т.д. Т.е. таблица каждый следующий ход вариант ветвления увеличивается в 4 раза . Даже для такого примитивного случая тебе надо будет 14*(4^N) бит на маску некоего хода N. Вся память, занимаемая масками будет записана как Mem = 14 * (1 + 4 + 4^2 + 4^3 + 4^4 + 4^5 + .... + 4^N), для 8 ходов это будет 152916,75 байт, почти влезло в 128к...
Беру свои слова назад... по крайней мере это близко к осуществимости...
Если продумать формат, чтобы занимаемая память была меньше 28 бит на выстрел, тогда возможно, получится уложить даже 9 или 10 ходов.





Ответить с цитированием
