14 ноября 2014 в 10:38

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

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

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



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

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



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

Анатолий Ализар @alizar
карма
668,3
рейтинг 715,3
Редактор
Самое читаемое

Комментарии (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 всегда есть возможность сделать оговоренный правилами «ход».

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