Prolog运营商预计

时间:2014-11-30 20:10:51

标签: prolog

我对prolog很新,并且明天有一份作业。我们必须使用给定的位置和移动来自动化游戏。当我输入去。它返回false,我得到多个运算符预期的错误。我在我的代码中标记了它们。

感谢。

  /*
  first, text descriptions of all the places in
  the game.
*/
description(valley,
  'You are in a pleasant valley, with a trail ahead.').
description(path,
  'You are on a path, with ravines on both sides.').
description(cliff,
  'You are teetering on the edge of a cliff.').
description(fork,
  'You are at a fork in the path.').
description(maze(),
  'You are in a maze of twisty trails, all alike.'). %operator error
description(mountaintop,
  'You are on the mountaintop.').
description(labyrinth(),
  'You are lost in a winding corridor.'). %operator error


/*
  report prints the description of your current
  location.
*/
report :-
  at(you,X),
  description(X,Y),
  write(Y), nl.

/*
  These connect predicates establish the map.
  The meaning of connect(X,Dir,Y) is that if you
  are at X and you move in direction Dir, you
  get to Y.  Recognized directions are
  forward, right, and left.
*/
connect(valley,forward,path).
connect(path,right,cliff).
connect(path,left,cliff).
connect(path,forward,fork).
connect(fork,forward,labyrinth(0)).
connect(fork,left,maze(0)).
connect(fork,right,mountaintop).
connect(mountaintop,left,fork).
connect(maze(0),left,maze(1)).
connect(maze(0),right,maze(2)).
connect(maze(1),left,maze(0)).
connect(maze(1),right,maze(2)).
connect(maze(2),forward,maze(4)).
connect(maze(2),left,fork).
connect(maze(2),right,maze(0)).
connect(maze(3),left,maze(0)).
connect(maze(3),right,maze(3)).
connect(maze(4),left,mountaintop).
connect(maze(4),right,maze(4)).
connect(labyrinth(0),left,labyrinth(1)).
connect(labyrinth(0),right,labyrinth(15)).
connect(labyrinth(1),left,labyrinth(2)).
connect(labyrinth(1),right,labyrinth(10)).
connect(labyrinth(2),left,labyrinth(3)).
connect(labyrinth(2),right,labyrinth(9)).
connect(labyrinth(3),right,labyrinth(4)).
connect(labyrinth(4),left,labyrinth(5)).
connect(labyrinth(4),right,labyrinth(9)).
connect(labyrinth(5),left,labyrinth(6)).
connect(labyrinth(5),right,labyrinth(8)).
connect(labyrinth(6),right,labyrinth(7)).
connect(labyrinth(7),left,labyrinth(8)).
connect(labyrinth(7),right,labyrinth(12)).
connect(labyrinth(8),left,labyrinth(7)).
connect(labyrinth(8),right,labyrinth(9)).
connect(labyrinth(9),left,labyrinth(10)).
connect(labyrinth(9),right,labyrinth(8)).
connect(labyrinth(10),left,labyrinth(9)).
connect(labyrinth(10),right,labyrinth(11)).
connect(labyrinth(11),left,labyrinth(12)).
connect(labyrinth(11),right,labyrinth(10)).
connect(labyrinth(12),left,labyrinth(11)).
connect(labyrinth(12),right,labyrinth(13)).
connect(labyrinth(13),left,labyrinth(14)).
connect(labyrinth(14),left,labyrinth(15)).
connect(labyrinth(14),right,labyrinth(11)).
connect(labyrinth(15),left,fork).
connect(labyrinth(15),right,fork).

/*
  move(Dir) moves you in direction Dir, then
  prints the description of your new location.
*/
move(Dir) :-
  at(you,loc),
  connect(loc,Dir,Next),
  retract(at(you,loc)),
  assert(at(you,Next)),
  report,
  !.
/*
  But if the argument was not a legal direction,
  print an error message and don't move.
*/
move(_) :-
  write('That is not a legal move.\n'),
  report.

/*
  Shorthand for moves.
*/
forward :- move(forward).
left :- move(left).
right :- move(right).

/*
  If you and the ogre are at the same place, it
  kills you.
*/
ogre :-
  at(ogre,loc),
  at(you,loc),
  write('An ogre sucks your brain out through\n'),
  write('your eye sockets, and you die.\n'),
  retract(at(you,loc)),
  assert(at(you,done)),
  !.
/*
  But if you and the ogre are not in the same place,
  nothing happens.
*/
ogre.

/*
  If you and the treasure are at the same place, you
  win.
*/
treasure :-
  at(treasure,loc),
  at(you,loc),
  write('There is a treasure here.\n'),
  write('Congratulations, you win!\n'),
  retract(at(you,loc)),
  assert(at(you,done)),
  !.
/*
  But if you and the treasure are not in the same
  place, nothing happens.
*/
treasure.

/*
  If you are at the cliff, you fall off and die.
*/
cliff :-
  at(you,cliff),
  write('You fall off and die.\n'),
  retract(at(you,cliff)),
  assert(at(you,done)),
  !.
/*
  But if you are not at the cliff nothing happens.
*/
cliff.

/*
  main loop.  Stop if player won or lost.
*/
main :-
  at(you,done),
  write('Thanks for playing.\n'),

  !.
/*
  main loop.  Not done, so get a move from the user
  and make it.  Then run all our special behaviors.
  Then repeat.
*/
main([H|T]) :-
  write('\nNext move -- '),
  call(H),
  ogre,
  treasure,
  cliff,
  main(T).

/*
  This is the starting point for the game.  We
  assert the initial conditions, print an initial
  report, then start the main loop.
*/

start([Head|[Head2|Tail]]) :-
moves = [forward., %operator error
forward.,
left.,
right.,
left.,
left.,
right.,
forward.,
forward.,
left.,
forward.,
left.,
left.,
left.,
right.,
left.,
left.,
right.,
left.,
right.,
left.,
right.,
left.,
right.,
left.,
left.],

retractall(at(_,_)), % clean up from previous runs
assert(at(you,valley)),
assert(at(ogre,Head)),
assert(at(treasure, Head2)),
write('This is an adventure game. \n'),
write('legal moves are left, right, or forward.\n'),
write('End each move with a period.\n\n'),
report,
main(moves),
start(Tail).


go :-
config = [path,fork,
path,mountaintop,
path,maze(0),
path,maze(1),
path,maze(2),
path,maze(3),
path,maze(4),
path,labyrinth(0),
path,labyrinth(1),
path,labyrinth(2),
path,labyrinth(3),
path,labyrinth(4),
path,labyrinth(5),
path,labyrinth(6),
path,labyrinth(7),
path,labyrinth(8),
path,labyrinth(9),
path,labyrinth(10),
path,labyrinth(11),
path,labyrinth(12),
path,labyrinth(13),
path,labyrinth(14),
path,labyrinth(15),
fork,path,
fork,mountaintop,
fork,maze(0),
fork,maze(1),
fork,maze(2),
fork,maze(3),
fork,maze(4),
fork,labyrinth(0),
fork,labyrinth(1),
fork,labyrinth(2),
fork,labyrinth(3),
fork,labyrinth(4),
fork,labyrinth(5),
fork,labyrinth(6),
fork,labyrinth(7),
fork,labyrinth(8),
fork,labyrinth(9),
fork,labyrinth(10),
fork,labyrinth(11),
fork,labyrinth(12),
fork,labyrinth(13),
fork,labyrinth(14),
fork,labyrinth(15),
mountaintop,path,
mountaintop,fork,
mountaintop,maze(0),
mountaintop,maze(1),
mountaintop,maze(2),
mountaintop,maze(3),
mountaintop,maze(4),
mountaintop,labyrinth(0),
mountaintop,labyrinth(1),
mountaintop,labyrinth(2),
mountaintop,labyrinth(3),
mountaintop,labyrinth(4),
mountaintop,labyrinth(5),
mountaintop,labyrinth(6),
mountaintop,labyrinth(7),
mountaintop,labyrinth(8),
mountaintop,labyrinth(9),
mountaintop,labyrinth(10),
mountaintop,labyrinth(11),
mountaintop,labyrinth(12),
mountaintop,labyrinth(13),
mountaintop,labyrinth(14),
mountaintop,labyrinth(15),
maze(0),path,
maze(0),fork,
maze(0),mountaintop,
maze(0),maze(1),
maze(0),maze(2),
maze(0),maze(3),
maze(0),maze(4),
maze(0),labyrinth(0),
maze(0),labyrinth(1),
maze(0),labyrinth(2),
maze(0),labyrinth(3),
maze(0),labyrinth(4),
maze(0),labyrinth(5),
maze(0),labyrinth(6),
maze(0),labyrinth(7),
maze(0),labyrinth(8),
maze(0),labyrinth(9),
maze(0),labyrinth(10),
maze(0),labyrinth(11),
maze(0),labyrinth(12),
maze(0),labyrinth(13),
maze(0),labyrinth(14),
maze(0),labyrinth(15),
maze(1),path,
maze(1),fork,
maze(1),mountaintop,
maze(1),maze(0),
maze(1),maze(2),
maze(1),maze(3),
maze(1),maze(4),
maze(1),labyrinth(0),
maze(1),labyrinth(1),
maze(1),labyrinth(2),
maze(1),labyrinth(3),
maze(1),labyrinth(4),
maze(1),labyrinth(5),
maze(1),labyrinth(6),
maze(1),labyrinth(7),
maze(1),labyrinth(8),
maze(1),labyrinth(9),
maze(1),labyrinth(10),
maze(1),labyrinth(11),
maze(1),labyrinth(12),
maze(1),labyrinth(13),
maze(1),labyrinth(14),
maze(1),labyrinth(15),
maze(2),path,
maze(2),fork,
maze(2),mountaintop,
maze(2),maze(0),
maze(2),maze(1),
maze(2),maze(3),
maze(2),maze(4),
maze(2),labyrinth(0),
maze(2),labyrinth(1),
maze(2),labyrinth(2),
maze(2),labyrinth(3),
maze(2),labyrinth(4),
maze(2),labyrinth(5),
maze(2),labyrinth(6),
maze(2),labyrinth(7),
maze(2),labyrinth(8),
maze(2),labyrinth(9),
maze(2),labyrinth(10),
maze(2),labyrinth(11),
maze(2),labyrinth(12),
maze(2),labyrinth(13),
maze(2),labyrinth(14),
maze(2),labyrinth(15),
maze(3),path,
maze(3),fork,
maze(3),mountaintop,
maze(3),maze(0),
maze(3),maze(1),
maze(3),maze(2),
maze(3),maze(4),
maze(3),labyrinth(0),
maze(3),labyrinth(1),
maze(3),labyrinth(2),
maze(3),labyrinth(3),
maze(3),labyrinth(4),
maze(3),labyrinth(5),
maze(3),labyrinth(6),
maze(3),labyrinth(7),
maze(3),labyrinth(8),
maze(3),labyrinth(9),
maze(3),labyrinth(10),
maze(3),labyrinth(11),
maze(3),labyrinth(12),
maze(3),labyrinth(13),
maze(3),labyrinth(14),
maze(3),labyrinth(15),
maze(4),path,
maze(4),fork,
maze(4),mountaintop,
maze(4),maze(0),
maze(4),maze(1),
maze(4),maze(2),
maze(4),maze(3),
maze(4),labyrinth(0),
maze(4),labyrinth(1),
maze(4),labyrinth(2),
maze(4),labyrinth(3),
maze(4),labyrinth(4),
maze(4),labyrinth(5),
maze(4),labyrinth(6),
maze(4),labyrinth(7),
maze(4),labyrinth(8),
maze(4),labyrinth(9),
maze(4),labyrinth(10),
maze(4),labyrinth(11),
maze(4),labyrinth(12),
maze(4),labyrinth(13),
maze(4),labyrinth(14),
maze(4),labyrinth(15),
labyrinth(0),path,
labyrinth(0),fork,
labyrinth(0),mountaintop,
labyrinth(0),maze(0),
labyrinth(0),maze(1),
labyrinth(0),maze(2),
labyrinth(0),maze(3),
labyrinth(0),maze(4),
labyrinth(0),labyrinth(1),
labyrinth(0),labyrinth(2),
labyrinth(0),labyrinth(3),
labyrinth(0),labyrinth(4),
labyrinth(0),labyrinth(5),
labyrinth(0),labyrinth(6),
labyrinth(0),labyrinth(7),
labyrinth(0),labyrinth(8),
labyrinth(0),labyrinth(9),
labyrinth(0),labyrinth(10),
labyrinth(0),labyrinth(11),
labyrinth(0),labyrinth(12),
labyrinth(0),labyrinth(13),
labyrinth(0),labyrinth(14),
labyrinth(0),labyrinth(15),
labyrinth(1),path,
labyrinth(1),fork,
labyrinth(1),mountaintop,
labyrinth(1),maze(0),
labyrinth(1),maze(1),
labyrinth(1),maze(2),
labyrinth(1),maze(3),
labyrinth(1),maze(4),
labyrinth(1),labyrinth(0),
labyrinth(1),labyrinth(2),
labyrinth(1),labyrinth(3),
labyrinth(1),labyrinth(4),
labyrinth(1),labyrinth(5),
labyrinth(1),labyrinth(6),
labyrinth(1),labyrinth(7),
labyrinth(1),labyrinth(8),
labyrinth(1),labyrinth(9),
labyrinth(1),labyrinth(10),
labyrinth(1),labyrinth(11),
labyrinth(1),labyrinth(12),
labyrinth(1),labyrinth(13),
labyrinth(1),labyrinth(14),
labyrinth(1),labyrinth(15),
labyrinth(2),path,
labyrinth(2),fork,
labyrinth(2),mountaintop,
labyrinth(2),maze(0),
labyrinth(2),maze(1),
labyrinth(2),maze(2),
labyrinth(2),maze(3),
labyrinth(2),maze(4),
labyrinth(2),labyrinth(0),
labyrinth(2),labyrinth(1),
labyrinth(2),labyrinth(3),
labyrinth(2),labyrinth(4),
labyrinth(2),labyrinth(5),
labyrinth(2),labyrinth(6),
labyrinth(2),labyrinth(7),
labyrinth(2),labyrinth(8),
labyrinth(2),labyrinth(9),
labyrinth(2),labyrinth(10),
labyrinth(2),labyrinth(11),
labyrinth(2),labyrinth(12),
labyrinth(2),labyrinth(13),
labyrinth(2),labyrinth(14),
labyrinth(2),labyrinth(15),
labyrinth(3),path,
labyrinth(3),fork,
labyrinth(3),mountaintop,
labyrinth(3),maze(0),
labyrinth(3),maze(1),
labyrinth(3),maze(2),
labyrinth(3),maze(3),
labyrinth(3),maze(4),
labyrinth(3),labyrinth(0),
labyrinth(3),labyrinth(1),
labyrinth(3),labyrinth(2),
labyrinth(3),labyrinth(4),
labyrinth(3),labyrinth(5),
labyrinth(3),labyrinth(6),
labyrinth(3),labyrinth(7),
labyrinth(3),labyrinth(8),
labyrinth(3),labyrinth(9),
labyrinth(3),labyrinth(10),
labyrinth(3),labyrinth(11),
labyrinth(3),labyrinth(12),
labyrinth(3),labyrinth(13),
labyrinth(3),labyrinth(14),
labyrinth(3),labyrinth(15),
labyrinth(4),path,
labyrinth(4),fork,
labyrinth(4),mountaintop,
labyrinth(4),maze(0),
labyrinth(4),maze(1),
labyrinth(4),maze(2),
labyrinth(4),maze(3),
labyrinth(4),maze(4),
labyrinth(4),labyrinth(0),
labyrinth(4),labyrinth(1),
labyrinth(4),labyrinth(2),
labyrinth(4),labyrinth(3),
labyrinth(4),labyrinth(5),
labyrinth(4),labyrinth(6),
labyrinth(4),labyrinth(7),
labyrinth(4),labyrinth(8),
labyrinth(4),labyrinth(9),
labyrinth(4),labyrinth(10),
labyrinth(4),labyrinth(11),
labyrinth(4),labyrinth(12),
labyrinth(4),labyrinth(13),
labyrinth(4),labyrinth(14),
labyrinth(4),labyrinth(15),
labyrinth(5),path,
labyrinth(5),fork,
labyrinth(5),mountaintop,
labyrinth(5),maze(0),
labyrinth(5),maze(1),
labyrinth(5),maze(2),
labyrinth(5),maze(3),
labyrinth(5),maze(4),
labyrinth(5),labyrinth(0),
labyrinth(5),labyrinth(1),
labyrinth(5),labyrinth(2),
labyrinth(5),labyrinth(3),
labyrinth(5),labyrinth(4),
labyrinth(5),labyrinth(6),
labyrinth(5),labyrinth(7),
labyrinth(5),labyrinth(8),
labyrinth(5),labyrinth(9),
labyrinth(5),labyrinth(10),
labyrinth(5),labyrinth(11),
labyrinth(5),labyrinth(12),
labyrinth(5),labyrinth(13),
labyrinth(5),labyrinth(14),
labyrinth(5),labyrinth(15),
labyrinth(6),path,
labyrinth(6),fork,
labyrinth(6),mountaintop,
labyrinth(6),maze(0),
labyrinth(6),maze(1),
labyrinth(6),maze(2),
labyrinth(6),maze(3),
labyrinth(6),maze(4),
labyrinth(6),labyrinth(0),
labyrinth(6),labyrinth(1),
labyrinth(6),labyrinth(2),
labyrinth(6),labyrinth(3),
labyrinth(6),labyrinth(4),
labyrinth(6),labyrinth(5),
labyrinth(6),labyrinth(7),
labyrinth(6),labyrinth(8),
labyrinth(6),labyrinth(9),
labyrinth(6),labyrinth(10),
labyrinth(6),labyrinth(11),
labyrinth(6),labyrinth(12),
labyrinth(6),labyrinth(13),
labyrinth(6),labyrinth(14),
labyrinth(6),labyrinth(15),
labyrinth(7),path,
labyrinth(7),fork,
labyrinth(7),mountaintop,
labyrinth(7),maze(0),
labyrinth(7),maze(1),
labyrinth(7),maze(2),
labyrinth(7),maze(3),
labyrinth(7),maze(4),
labyrinth(7),labyrinth(0),
labyrinth(7),labyrinth(1),
labyrinth(7),labyrinth(2),
labyrinth(7),labyrinth(3),
labyrinth(7),labyrinth(4),
labyrinth(7),labyrinth(5),
labyrinth(7),labyrinth(6),
labyrinth(7),labyrinth(8),
labyrinth(7),labyrinth(9),
labyrinth(7),labyrinth(10),
labyrinth(7),labyrinth(11),
labyrinth(7),labyrinth(12),
labyrinth(7),labyrinth(13),
labyrinth(7),labyrinth(14),
labyrinth(7),labyrinth(15),
labyrinth(8),path,
labyrinth(8),fork,
labyrinth(8),mountaintop,
labyrinth(8),maze(0),
labyrinth(8),maze(1),
labyrinth(8),maze(2),
labyrinth(8),maze(3),
labyrinth(8),maze(4),
labyrinth(8),labyrinth(0),
labyrinth(8),labyrinth(1),
labyrinth(8),labyrinth(2),
labyrinth(8),labyrinth(3),
labyrinth(8),labyrinth(4),
labyrinth(8),labyrinth(5),
labyrinth(8),labyrinth(6),
labyrinth(8),labyrinth(7),
labyrinth(8),labyrinth(9),
labyrinth(8),labyrinth(10),
labyrinth(8),labyrinth(11),
labyrinth(8),labyrinth(12),
labyrinth(8),labyrinth(13),
labyrinth(8),labyrinth(14),
labyrinth(8),labyrinth(15),
labyrinth(9),path,
labyrinth(9),fork,
labyrinth(9),mountaintop,
labyrinth(9),maze(0),
labyrinth(9),maze(1),
labyrinth(9),maze(2),
labyrinth(9),maze(3),
labyrinth(9),maze(4),
labyrinth(9),labyrinth(0),
labyrinth(9),labyrinth(1),
labyrinth(9),labyrinth(2),
labyrinth(9),labyrinth(3),
labyrinth(9),labyrinth(4),
labyrinth(9),labyrinth(5),
labyrinth(9),labyrinth(6),
labyrinth(9),labyrinth(7),
labyrinth(9),labyrinth(8),
labyrinth(9),labyrinth(10),
labyrinth(9),labyrinth(11),
labyrinth(9),labyrinth(12),
labyrinth(9),labyrinth(13),
labyrinth(9),labyrinth(14),
labyrinth(9),labyrinth(15),
labyrinth(10),path,
labyrinth(10),fork,
labyrinth(10),mountaintop,
labyrinth(10),maze(0),
labyrinth(10),maze(1),
labyrinth(10),maze(2),
labyrinth(10),maze(3),
labyrinth(10),maze(4),
labyrinth(10),labyrinth(0),
labyrinth(10),labyrinth(1),
labyrinth(10),labyrinth(2),
labyrinth(10),labyrinth(3),
labyrinth(10),labyrinth(4),
labyrinth(10),labyrinth(5),
labyrinth(10),labyrinth(6),
labyrinth(10),labyrinth(7),
labyrinth(10),labyrinth(8),
labyrinth(10),labyrinth(9),
labyrinth(10),labyrinth(11),
labyrinth(10),labyrinth(12),
labyrinth(10),labyrinth(13),
labyrinth(10),labyrinth(14),
labyrinth(10),labyrinth(15),
labyrinth(11),path,
labyrinth(11),fork,
labyrinth(11),mountaintop,
labyrinth(11),maze(0),
labyrinth(11),maze(1),
labyrinth(11),maze(2),
labyrinth(11),maze(3),
labyrinth(11),maze(4),
labyrinth(11),labyrinth(0),
labyrinth(11),labyrinth(1),
labyrinth(11),labyrinth(2),
labyrinth(11),labyrinth(3),
labyrinth(11),labyrinth(4),
labyrinth(11),labyrinth(5),
labyrinth(11),labyrinth(6),
labyrinth(11),labyrinth(7),
labyrinth(11),labyrinth(8),
labyrinth(11),labyrinth(9),
labyrinth(11),labyrinth(10),
labyrinth(11),labyrinth(12),
labyrinth(11),labyrinth(13),
labyrinth(11),labyrinth(14),
labyrinth(11),labyrinth(15),
labyrinth(12),path,
labyrinth(12),fork,
labyrinth(12),mountaintop,
labyrinth(12),maze(0),
labyrinth(12),maze(1),
labyrinth(12),maze(2),
labyrinth(12),maze(3),
labyrinth(12),maze(4),
labyrinth(12),labyrinth(0),
labyrinth(12),labyrinth(1),
labyrinth(12),labyrinth(2),
labyrinth(12),labyrinth(3),
labyrinth(12),labyrinth(4),
labyrinth(12),labyrinth(5),
labyrinth(12),labyrinth(6),
labyrinth(12),labyrinth(7),
labyrinth(12),labyrinth(8),
labyrinth(12),labyrinth(9),
labyrinth(12),labyrinth(10),
labyrinth(12),labyrinth(11),
labyrinth(12),labyrinth(13),
labyrinth(12),labyrinth(14),
labyrinth(12),labyrinth(15),
labyrinth(13),path,
labyrinth(13),fork,
labyrinth(13),mountaintop,
labyrinth(13),maze(0),
labyrinth(13),maze(1),
labyrinth(13),maze(2),
labyrinth(13),maze(3),
labyrinth(13),maze(4),
labyrinth(13),labyrinth(0),
labyrinth(13),labyrinth(1),
labyrinth(13),labyrinth(2),
labyrinth(13),labyrinth(3),
labyrinth(13),labyrinth(4),
labyrinth(13),labyrinth(5),
labyrinth(13),labyrinth(6),
labyrinth(13),labyrinth(7),
labyrinth(13),labyrinth(8),
labyrinth(13),labyrinth(9),
labyrinth(13),labyrinth(10),
labyrinth(13),labyrinth(11),
labyrinth(13),labyrinth(12),
labyrinth(13),labyrinth(14),
labyrinth(13),labyrinth(15),
labyrinth(14),path,
labyrinth(14),fork,
labyrinth(14),mountaintop,
labyrinth(14),maze(0),
labyrinth(14),maze(1),
labyrinth(14),maze(2),
labyrinth(14),maze(3),
labyrinth(14),maze(4),
labyrinth(14),labyrinth(0),
labyrinth(14),labyrinth(1),
labyrinth(14),labyrinth(2),
labyrinth(14),labyrinth(3),
labyrinth(14),labyrinth(4),
labyrinth(14),labyrinth(5),
labyrinth(14),labyrinth(6),
labyrinth(14),labyrinth(7),
labyrinth(14),labyrinth(8),
labyrinth(14),labyrinth(9),
labyrinth(14),labyrinth(10),
labyrinth(14),labyrinth(11),
labyrinth(14),labyrinth(12),
labyrinth(14),labyrinth(13),
labyrinth(14),labyrinth(15),
labyrinth(15),path,
labyrinth(15),fork,
labyrinth(15),mountaintop,
labyrinth(15),maze(0),
labyrinth(15),maze(1),
labyrinth(15),maze(2),
labyrinth(15),maze(3),
labyrinth(15),maze(4),
labyrinth(15),labyrinth(0),
labyrinth(15),labyrinth(1),
labyrinth(15),labyrinth(2),
labyrinth(15),labyrinth(3),
labyrinth(15),labyrinth(4),
labyrinth(15),labyrinth(5),
labyrinth(15),labyrinth(6),
labyrinth(15),labyrinth(7),
labyrinth(15),labyrinth(8),
labyrinth(15),labyrinth(9),
labyrinth(15),labyrinth(10),
labyrinth(15),labyrinth(11),
labyrinth(15),labyrinth(12),
labyrinth(15),labyrinth(13),
labyrinth(15),labyrinth(14)],
start(config).

1 个答案:

答案 0 :(得分:0)

删除移动列表中start/1中的所有点。而不是

moves = [forward., %operator error
forward.,
left.,
right.,
left.,
left.,
right.,
forward.,
forward.,
left.,
forward.,
left.,
left.,
left.,
right.,
left.,
left.,
right.,
left.,
right.,
left.,
right.,
left.,
right.,
left.,
left.]

执行:

moves = [forward,
forward,
left,
right,
left,
left,
right,
forward,
forward,
left,
forward,
left,
left,
left,
right,
left,
left,
right,
left,
right,
left,
right,
left,
right,
left,
left]