0h h1 – маленькая логическая игра

    Хороший способ провести пятничный вечер — поиграть в новую головоломку 0h h1.

    Смысл простой: нужно заполнить всё игровое пространство квадратиками красного и синего цветов. При этом запрещено размещать в ряд три квадрата одного цвета.



    Красный квадрат создаётся одинарным щелчком, синий — двойным щелчком.

    Ещё одно правило — в каждом ряду и колонке должно быть одинаковое количество красных и синих квадратов.



    И последнее правило — не допускается создание одинаковых рядов.

    Метки:
    Поделиться публикацией
    Комментарии 24
    • +6
      Комментов нет, все играют :-)
      • +1
        Слишком просто на мой взгляд
        • 0
          Мне понравилось, попробовать точно стоит.
        • 0
          У меня то ли глаз замылился, то ли мой вариант правильным не считается.

          10*10
          image
          • 0
            У вас 5 и 8 строка одинаковые.
            • 0
              Спасибо за наводку! Правило про одинаковые строки, я почему-то спроецировал только на соседние, 5 и 8 сравнить не догадался.
            • 0
              вижу минимум 2 вертикальных одинаковых ряда, 3-й и 5-й слева
            • +1
            • +3
              По ощущениям — как подгонка верстки под стандарт W3C.
              Сначала все расставляешь, а потом начинаешь исправлять указанные косяки. Просто, скучно, не интересно.
              Пойду дальше убивать часы в 2048.
              • 0
                Интересно задачу решить аналитически для поля NxN. Или алгоритм подбора написать.
                • +3
                  По ощущениям — как решать судоку на Easy/Medium, есть несколько очень простых механических правил, которые последовательно применяешь к каждой строке и столбцу, пока поле не заполнится.
                  1. Если в строке/столбце из 2N ячеек присутствует N ячеек одного цвета, закрасить все оставшиеся в противоположный цвет (должно быть поровну синих и красных)
                  2. Если в строке/столбце есть 2 ячейки подряд одного цвета, соседние ячейки нужно покрасить в противоположный цвет (нельзя три в ряд)
                  3. Если в строке/столбце есть 2 ячейки одного цвета с дыркой между ними, дырку нужно покрасить в противоположный цвет (нельзя три в ряд)
                  4. Если в строке/столбце есть ровно две дырки, а заполненные ячейки в точности совпадают с ячейками полностью заполненной строки, то дырки заполняются инвертированными значениями (строки должны быть разными)
                  • 0
                    5) когда ни одно из правил не работает — покрасить любую клетку в любой цвет и запомнить координаты. Потом снова применять правила 1-5. Когда упрётесь в тупик — откатиться до этой клетки и поменять её цвет.
                    • 0
                      Всё это верно, но на поле 10×10 одного механического заполнения клеток уже недостаточно :)
                      • 0
                        Если добавить ещё несколько правил, то чаще всего достаточно:
                        — Если у нас есть конструкция R?? B, то среди неизвестных клеток ровно одна синяя и одна красная;
                        — В ситуациях R?? и? R? неизвестные клетки не могут быть красными одновременно;
                        — Если в строке/столбце больше двух неизвестных клеток, среди которых ровно одна красная, а известные клетки совпадают с соответствующими клетками другой строки/столбца, то неизвестная клетка, соответствующая красной клетке этой другой строки/столбца, должна быть синей.
                        • 0
                          Всё верно, но на то это и логическая игра, чтобы находить такие моменты и заполнять поле в соответствии с тем, что вы нашли. Это уже не совсем механические действия :)
                          • 0
                            Если «находить моменты» значит пополнять список ситуаций, то да. Но если удалось найти достаточный набор, то игра становится такой же «логической», как кубик Рубика, который собирается строго по алгоритму — всего лишь распознавание паттернов и быстрота реакции, а логика совсем ни при чём.
                            • 0
                              Ну почему же? На поле 10×10 приходится заглядывать довольно далеко, потому что одними паттернами здесь уже не обойтись. После их применения остаётся довольно много возможностей для того, чтобы сделать неправильные ходы, которые заставят откатиться назад :)
                              • 0
                                Последние примерно 20 игр мне не потребовалось ни одного «заглядывания вперёд». Правил было достаточно, чтобы открыть хотя бы одну клетку — а потом ещё одну… Если вам (в реальной игре) встретится ситуация, где паттернов не хватает — выложите, пожалуйста.
                                • +1
                                  Хорошо, если буду ещё играть и увижу, выложу. Но я вчера наигрался и больше не собираюсь пока :)
                                  • 0
                                    Там есть кнопка подсказки, и она работает в любой момент игры, указывая место одним из правил.

                                    Суть — возможность хода есть всегда
                                  • 0
                                    Вот какая ситуация у меня получилась на поле 8х8:
                                    Картинка
                                    По-моему, тут 2 равнозначных варианта.
                                    • +1
                                      В одном из этих вариантов совпадут 3 и 5-я строки, думаю если нажать на глаз — это и покажет
                                    • 0
                                      Вы были совершенно правы. Даже при игре на поле 10×10 всегда есть возможность сделать оговоренный правилами «ход».

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.