Тетрис. Ну, казалось бы, что можно тут сделать нового? Был уже и трёхмерный тетрис, и четырёхмерный тетрис.
Сделали тетрис, который каждый раз подсовывает тебе самую ненужную фигуру. Сначала прикольно, а потом бесит. БЕСИТ!!!
Осторожно, этот тетрис вызывает негативные чувства и может испортить вам день. А может, натолкнет на философские размышления, что такое удача в жизни и стоит ли ее ждать или надо постоянно бороться.
Уже второй день я думаю, насколько такая простая механика заставила перепрошить привычные ментальные стратегии в игре и в более широком контексте принятия решений. Раньше, можно было «отложить» ситуацию на потом, когда выпадет более благоприятная фигура, а тут ты понимаешь, что за кулисами есть «некто», кто никогда не допустит, чтобы благоприятная фигура появилась. Единственный способ хоть как-то приуспеть — делать вилки, чтобы успех не мог не произойти.
В этом тетрисе даже нет «гравитации», то есть нет давления времени, но это вам мало поможет.
Алгоритм генерации ненависти простой:
«Проверьте все возможные местоположения всех возможных фигур, для каждой фигуры посмотрите лучший сценарий, из этих лучших сценариев выберите худший и сгенерируйте эту фигуру.»
В этой игре Hatetris нет случайностей, алгоритм детерминирован, поэтому есть вызов придумать лучшую стартегию. Авторское решение — 5 строк. Моё, за 10 минут игры — 4 строки.
Пишите в комментариях ваш результат. (не подглядывая в сохранялки)
Задачка для программистов — придумать свой, более оптимальный алгоритм, который максимизирует «ненависть в тетрисе», то есть подсовывает вам самую неудобную фигуру, которая минимизирует шанс игрока заполнить строку.
Поиграть тут.
Исходники тут
Противоядие: Tetreasy – тетрис, который дает вам самую лучшую фигуру.
1)?????????s???uІ????????ђ???????K?uЅ???????І???????????????????U???????????????????U??????????
2)???џИ???????б????????????????????????????s?????я??????????????Н???Ж???????П?????????????????????С?V???S??
????????????????????Щ???????Щ?????????????????????????????????????????l????????????????????????????????
??????????ІK??????????ІJ??????????І????????t??І?????d?S????t???????????????????????Г???????u???????ю???????????C????????
??????ІW?s?a??????????????????????????І????Z??І???ІZ??????Н??e????????????uа????l????e???????????????????????s????????????????????Ф??????у????????І???????????Ђ????G??V???Ѕ???????????Н????????????????????????????G?????????l??
Исследования:
- Смертельная последовательность, которая не дает выиграть никому: A deadly piece sequence
- И научная статья: How to lose at tetris
- Playing forever
- Mathematicians Prove Tetris Is Tough (Tetris is NP-Hard)
Философские размышления с HackerNews, что жизнь — это тетрис:
- news.ycombinator.com/item?id=27064186
- medium.com/the-mission/your-life-is-tetris-stop-playing-it-like-chess-4baac6b2750d
- shkspr.mobi/blog/2016/01/for-some-people-life-is-harder-than-chess
На Хабре про тетрис:
- Внезапно, выиграть в тетрис невозможно
- Реализация «Тетриса» в игре «Жизнь»
- Технический долг как тетрис
Облачные серверы от Маклауд быстрые и безопасные.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
impwx
Как-то неспортивно работает алгоритм. Мне 25 раз подряд выпала одна и та же S-образная фигура. С таким же успехом можно было вообще не заморачиваться и всегда кидать только S или только Z-образные блоки, или квадраты при нечетной ширине поля, и все.
MagisterLudi Автор
А зачем спортивность? Задача алгоритма — максимально вам помешать и выбесить. Он отлично справился.
Если были бы только S и Z, то можно было бы легко хакнуть алгоритм и собирать линии бесконечно.
impwx
Хорошо, я вам пример приведу. Нужно сгенерировать бесячий непроходимый лабиринт. Какой из них вам кажется более удачным, первый или второй? Почему?
MagisterLudi Автор
Тут вопрос такой, как можно при данных правилах максимизировать свой результат?
Для этого надо в корне поменять стратегию игры с ожидания благоприятного момента, на создание вилок и гамбитов.
Кому т осложно даже одну линию сжечь, я уже систематически могу делать результат 6 линий. Мне интересно, сможет ли Хабр побить мировой рекорд (31 линия)?
razielvamp
Это значит, что алгоритм не справляется со своей задачей. Фактически надо закидывать человека палками пока не останется 1 или 3 незакрытых столбца. Затем кубами. Повторить при необходимости.
JustDont
Это так не работает. Палки кладутся плашмя, и вот у вас 8 заполненных столбцов высотой во весь стакан, и кубы больше давать нельзя вообще (каждый куб будет полностью убирать 2 ряда). А если давать не кубы, то всё равно задача заполнения строк в 10 блоков свелась к задаче заполнения строк в 2 блока, и, думаю, там гораздо больше 31 строки можно убрать.
Собственно "мировой рекорд" тоже по такому принципу действий делался, только игра даёт такие фигуры, с которыми заполнить 8 столбцов из 10 без дыр нельзя.
Fi1osof
Второй. Цифра 2 больше бесит.
khim
Очевидно что нельзя. Кидаем S и Z так, чтобы отношение стремилось к любому иррациональному числу. Скажем v2.
Всё, игрок проигрывает, гарантия 100%.
Обсуждалось ещё в маткружке в школе у нас бог знает сколько тет назад.
tmin10
Да, мне тоже кидал одну фигуру S почти всё время. Один раз была палка и один раз Z. Не интересно так играть всё-же.
MagisterLudi Автор
То, что он кидает, зависит от ваших действий. Меняйте стратегию, и фигуры буду другие.
astronom1
это означает, что z — не самая отстойная фигура в тетрисе, если множество из таких фигур приводит к не самой отстойной конфигурации. Мир померк, былая слава ушла
Denai
алгоритм кидал мне только Z пока не забил ими весь экран
MagisterLudi Автор
Если бы мне кто-то кидал ТОЛЬКО Z, я бы набрал бесконечное количество очков
brom_portret
Так в этом и прикол. Он подсовывает самые неудачные, а игроку надо быть хитрее этого алгоритма и придумать стратегию исходя их этого.