Здравствуйте, ребята, я работаю над прологом и мне нужно написать кусок кода, который будет:
- Возьмите номер (ArmyNo) у пользователя.
- Взять координату X
- Взять координату Y.
Тогда у меня есть список с именем TempBoard, и он выглядит так:
([
(1,1,-,-),(1,2,-,-),(1,3,-,-),(1,4,-,-),
(2,1,-,-),(2,2,-,-),(2,3,-,-),(2,4,-,-),
(3,1,-,-),(3,2,-,-),(3,3,-,-),(3,4,-,-),
(4,1,-,-),(4,2,-,-),(4,3,-,-),(4,4,-,-)
]).
прежде чем я добавлю это (X, Y, w, ArmyNO) в список, я сначала хочу проверить его, если он уже есть.
Я попытался сделать это с помощью этого кода, но он не работает должным образом:
%#######Got the number####
repeat,
%Get Cordinates X & Y.
writelist( [TempBoard,'select coordinates for the horizontal axis 1 to 4 to place your soldier Mr. Human',nl]),
read(X),
writelist(['select coordinates for the vertical axis 1 to 4 to place your soldier Mr. Human',nl]),
read(Y),
%Check if they are in the list.
(
member( (X,Y,w,ArmyNo),TempBoard ) ->
( replace((X,Y,w,ArmyNo),TempBoard,NewBoard) ) ;
(
writelist(['selected positions are not available in the table Mr.Human',nl]) , fail
)
).
%%