Как найти решение для игры BLOLBS с помощью Prolog - PullRequest
0 голосов
/ 24 сентября 2019

, поэтому я пытаюсь найти способ разрешить эту игру "BLOBLS" * (https://www.juegos -mentales.com / juego / Blobs ) * вам нужно отключить adblock **, покаиспользуя пролог.

ИГРА ОБЪЯСНЕНА "Игра представляет собой доску с несколькими пузырьками с 6 различными цветами, и вам нужно заполнить все доски одним цветом. Таким образом, у вас есть такая доска, где каждое число являетсяразличный цвет, вы всегда начинаете с левого верхнего угла, где или [0] [0] pos, если мы рассматриваем это как матрицу.

[6,2,5,4]
[5,4,4,4]
[3,4,3,4]
[6,3,6,2]

Итак, для раскраски вы начнете с шестерки,поэтому для цвета у вас есть 3 варианта 5, 2, 4, и затем прологу придется выбрать лучший вариант, чтобы новая матрица выглядела примерно так.

[2,2,5,4]
[5,4,4,4]
[3,4,3,4]
[6,3,6,2]

Теперь 6 - это 2,если я выберу пять сейчас, эти 2 будут 5 с.

[5,5,5,4]
[5,4,4,4]
[3,4,3,4]
[6,3,6,2]

Пока это то, что я получил, пытаясь составить список всех карт

% Colors in numbers
% rojo/red = 1
% verde/green = 2
% naranja/orange = 3
% azul/blue = 4
% amarillo/yellow = 5
% fuccia/pink = 6

:- use_module(library(clpfd)).

blobs(Rows) :-
        length(Rows, 4), maplist(same_length(Rows), Rows),
        append(Rows, Vs), Vs ins 1..4,
        maplist(all_distinct, Rows),
        transpose(Rows, Columns).


% Example of a problem of the game, random one
problem(1, [[6,2,5,4],
            [5,4,4,4],
            [3,4,3,4],
            [6,3,6,2]]).

I 'Я пытаюсь найти решение шаг за шагом и, возможно, не слишком много ходов.

Надеюсь, что это нестабильно, так что вы можетеСпасибо мне

...