Hey all. Anyone know prolog language?

My dillema is:

A teacher is on playground duty encounters a problem with a bully, a hungry nerd and an apple and he must escort these three to the office. The teacher, by school rules, can only escort one at a time to the office. This is compounded by the fact that if the bully is left with the nerd the bully will beat up the nerd and if the nerd is left with the apple then the nerd will eat the apple. This will happen both in the playground as well as in the office.

and my code:

move(state(X,X,X,notsolved),
  solved,
  state(X,X,X,solved)).
move(state(P1,B,A,notsolved),
  movenerd(P1,P2),
  state(P2,B,A,notsolved)).
move(state(N, P1, P,notsolved),
  moveapple(P1,P2),
  state(N, P2, B,notsolved)).
move(state(N, A, P1,notsolved),
  movebully(P1, P2),
  state(N, A, P2, H,notsolved)).
escort(state(_,_,_,solved)).
  escort(OldState) :-
  move(OldState, Move, NewState),
  escort(NewState),
  write(Newstate),
  nl.

What must I do to make it check that bully is not with nerd, nerd not with apple and that they are all at the office?

HUGE thanks in advance.

Recommended Answers

All 4 Replies

please do not wrap the program requirements in code tags because it is difficult to read with all of it on the same line.

Where the heck is the edit button nowadays? I got it for this and other posts, but not my post above :S

anyway the problem is:
A teacher is on playground duty encounters a problem with a bully, a hungry nerd and an apple and he must escort these three to the office. The teacher, by school rules, can only escort one at a time to the office. This is compounded by the fact that if the bully is left with the nerd the bully will beat up the nerd and if the nerd is left with the apple then the nerd will eat the apple. This will happen both in the playground as well as in the office.

Where the heck is the edit button nowadays? I got it for this and other posts, but not my post above :S

I think you only have 30 minutes to edit a post.

As for the problem: I don't know the answer. If you first move the nerd to the office, that leave the bully and apple together on the playground -- that's ok. But I don't know how to solve the problem at that point. Do you ? If not, please repost this in the Geek's Lounge and hopefully some (or lots) of people can help solve it.

nerd office
apple office
take nerd back
bully office
nerd office

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.