поэтому я утверждаю карту/3 со значением 'O' gamemap (X, Y, 'O') с X и Y от 1 до 10, и я получаю это ошибка в этом коде V2=:= "O"
, если одно из значений V не является «O», может ли кто-нибудь помочь? все создается, но я видел в отладчике, что, если значение отличается от «O», он выполняет откат к карте (X, Y, V) и, вероятно, удаляет значение или что-то еще, что я могу сделать, чтобы остановить это, я хочу так что, если значение не является «O», чтобы проверить другие сравнения, чтобы не выполнять откат.ОШИБКА: =: =/2: Аргументы не созданы в достаточной степени
Z=:=3 ->
(
random_between(3,8,X),
random_between(3,8,Y),
gamemap(X,Y,V),
V=:="O" ->
(
X1 is X-1,
X2 is X+1,
Y1 is Y-1,
Y2 is Y+1,
Y3 is Y+2,
Y5 is Y-2,
X3 is X+2,
X5 is X-2,
gamemap(X1,Y,V1),
gamemap(X,Y2,V2),
gamemap(X2,Y,V3),
gamemap(X,Y1,V4),
gamemap(X,Y3,V5),
gamemap(X3,Y,V7),
gamemap(X,Y5,V9),
gamemap(X5,Y,V11),
V2=:= "O", V5 =:="O" ->
(
change_map(X,Y2,"O","X"),
change_map(X,Y3,"O","X")
);
V3=:="O", V7=:="O" ->
(
change_map(X2,Y,"O","X"),
change_map(X3,Y,"O","X")
);
V4=:="O", V9 =:="O" ->
(
change_map(X,Y1,"O","X"),
change_map(X,Y5,"O","X")
);
V1=:="O", V11=:="O" ->
(
change_map(X1,Y,"O","X"),
change_map(X5,Y,"O","X")
);
placeship(3)
);
placeship(3)
)