Обычно то, что выдает программа не всегда является оптимальной последовательностью ходов.
Дело в том, что в приложении балда39 читеров банят уже хотя бы по факту играния «нелепыми» словами (куэнковец, денедж, ньяя и др.). Опытные читеры никогда не ходят такими словами и вообще ходят только теми, которые знают сами. И потом, на ход ведь дается не 5 секунд, а минута или 2, за это время можно и самому успеть проанализировать игровую ситуацию (отсеивая нелепые слова)
Сколько у вас время поиска на большом поле наполовину заполненном (на один только ход вперед)? (Ну там 30х30 или большем поле)
Заводим текстуру, например такую
Настраиваем текстурные координаты так, чтобы она репителась столько раз, сколько разрешение «ЭЛТ-монитора» и просто умножаем выборку из нее, на выборку из текстуры кадра (возможно с неким коэффициентом).
Во-первых, крестики ходят первыми, а не нолики. Во-вторых, ваш алгоритм играет на уровне начинающего новичка (забавно, но бот вообще не реагирует на разрывную открытую тройку — тройка с пустой средней клеткой), я уже не говорю про вилки, обозы и форсированные ви́ны. В-третьих, я не очень понимаю смысл этого поста, какую пользу он несет?
Для примера подумайте, как будет выглядеть дискретная функция, коэффициенты разложения которой равны нулю, кроме последнего.
Как же выглядит эта дискретная функция? На ум лишь приходит чередование чёрных и белых пикселей, но тогда 1-й коэффициент будет 0.5? Или я что-то не понимаю?
Невероятно, все один в один как у меня. Я тоже сейчас разрабатываю игру в стиле митбоя с обилием смертей и нервов. То, что у вас в профиле [О себе] один в один про меня, за исключением того, что я не веб-программист. И судя по некоторым фразам из статьи вы с геймдева, как и я
Так, мне эти разговоры про рендер заранее надоели.
Возьмем самый маленький уровень (он же 1-й)
Его размер 47х33 тайла
На экран попадает ровно 15 тайлов по горизонтали (на айпаде), рендеринг произвожу в текстуру 1024х768
Т.е. один тайл занимает примерно 1024/15=68.3 пиксела (примерно 70) в ширину, а он еще и квадратный, т.е. 70х70
Т.о. чтобы сохранить пиксельность уровня нужно заготовить заранее под него текстуру 3290х2310
Теперь возьмем самый большой уровень 91х196. Для него уже потребуется текстура 6370х13720, тогда как на моем айпаде 4 максимальный размер текстур 4096х4096. Как вариант, можно разбить эту текстуру на много маленьких (1024х1024 например) так, чтобы все они покрывали уровень. Один фиг, большой уровень потребует 6370х13720х4=350М
Даже если все это таки сделать, шейдер уровня будет нетривиальный (не, не просто так взять выборку из текстуры и поместить на экран). Нужно произвести смешивание со скайбоксом, На участке, где вода (а её кстати где хранить в большой текстуре, она ведь пересекается с бекграундом, альфаканал уже занят под маску скайбокса) произвести искажений бэка и водорослей и «замутнить» бэк (типа толща воды). А как сделать выплывание рыбок из-за земли, но поверх бэка? (бэк и земля ведь не отдельно хранятся, а в большой текстуре) Обрезать? Как? Хранить землю и бэк таки в разный текстурах? Ладно, тогда 700М.
Оно того стоит? Тогда как я с помощью шейдера рендерю нужный мне кусок уровня с 60фпс
update: только что вспомнил, разрешение маски уровня апается в два раза, поэтому умножаем память еще в 4 раза
Дело в том, что в приложении балда39 читеров банят уже хотя бы по факту играния «нелепыми» словами (куэнковец, денедж, ньяя и др.). Опытные читеры никогда не ходят такими словами и вообще ходят только теми, которые знают сами. И потом, на ход ведь дается не 5 секунд, а минута или 2, за это время можно и самому успеть проанализировать игровую ситуацию (отсеивая нелепые слова)
Сколько у вас время поиска на большом поле наполовину заполненном (на один только ход вперед)? (Ну там 30х30 или большем поле)
Настраиваем текстурные координаты так, чтобы она репителась столько раз, сколько разрешение «ЭЛТ-монитора» и просто умножаем выборку из нее, на выборку из текстуры кадра (возможно с неким коэффициентом).
должно быть
g(m, k) = g(m – 1, k – 1) + g(m – 1, k) + 1
то есть + попытка броска на этаже «a»
Если текстура m (маски) — ч/б, то зачем делать сумму каналов? И так по всему коду
Я его взял из приложения балды в одной социальной сети, точнее из группы этого приложения.
Вот этого не знаю
не много не понял, откуда берется такой шаблон? Ну т.е. как он формируется?
А вы бы могли реализовать эту задачу на основе таких автоматов, потом сравнили бы скорость поиска с моим алгоритмом (этакий челендж)
2) ну некоторые вставки на плюсах же, и опять же вдруг таки код добавлю (а он на С++)
Как же выглядит эта дискретная функция? На ум лишь приходит чередование чёрных и белых пикселей, но тогда 1-й коэффициент будет 0.5? Или я что-то не понимаю?
Возьмем самый маленький уровень (он же 1-й)
Его размер 47х33 тайла
На экран попадает ровно 15 тайлов по горизонтали (на айпаде), рендеринг произвожу в текстуру 1024х768
Т.е. один тайл занимает примерно 1024/15=68.3 пиксела (примерно 70) в ширину, а он еще и квадратный, т.е. 70х70
Т.о. чтобы сохранить пиксельность уровня нужно заготовить заранее под него текстуру 3290х2310
Теперь возьмем самый большой уровень 91х196. Для него уже потребуется текстура 6370х13720, тогда как на моем айпаде 4 максимальный размер текстур 4096х4096. Как вариант, можно разбить эту текстуру на много маленьких (1024х1024 например) так, чтобы все они покрывали уровень. Один фиг, большой уровень потребует 6370х13720х4=350М
Даже если все это таки сделать, шейдер уровня будет нетривиальный (не, не просто так взять выборку из текстуры и поместить на экран). Нужно произвести смешивание со скайбоксом, На участке, где вода (а её кстати где хранить в большой текстуре, она ведь пересекается с бекграундом, альфаканал уже занят под маску скайбокса) произвести искажений бэка и водорослей и «замутнить» бэк (типа толща воды). А как сделать выплывание рыбок из-за земли, но поверх бэка? (бэк и земля ведь не отдельно хранятся, а в большой текстуре) Обрезать? Как? Хранить землю и бэк таки в разный текстурах? Ладно, тогда 700М.
Оно того стоит? Тогда как я с помощью шейдера рендерю нужный мне кусок уровня с 60фпс
update: только что вспомнил, разрешение маски уровня апается в два раза, поэтому умножаем память еще в 4 раза