This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/examples/puzzles/SCRIPT

107 lines
2.5 KiB
Plaintext
Raw Normal View History

=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.27.0
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
% start by loading the necessary library support files (if not
% already loaded):
| ?- logtalk_load(library(types_loader)).
...
% start by loading the example:
| ?- logtalk_load(puzzles(loader)).
...
% Harry Potter's room of potions logical puzzle:
| ?- potions::potions(P1, P2, P3, P4, P5, P6, P7).
P1 = poison
P2 = wine
P3 = forward
P4 = poison
P5 = poison
P6 = wine
P7 = backwards
yes
% Horse show logical puzzle:
| ?- horses::(horses(S), print(S)).
1 place: april riding doc, the chestnut gelding
2 place: sue riding danny, the bay gelding
3 place: doc riding gopher, the gray gelding
4 place: danny riding april, the white mare
5 place: gopher riding sue, the black mare
S = [h(doc,gelding,chestnut,april,1),h(danny,gelding,bay,sue,2),h(gopher,gelding,gray,doc,3),h(april,mare,white,danny,4),h(sue,mare,black,gopher,5)] ?
yes
% Who Stole the Jam?
| ?- jam_thief::thief(Thief).
Thief = hare
yes
| ?- jam_thief::thief(Thief, Why).
Thief = hare
Why = [trusty(dormouse),liar(hare),trusty(hatter)] ?
yes
% Houses logical puzzle:
| ?- houses::(houses(S), print(S)).
h(norwegian,fox,kool,water,yellow)
h(ukrainian,horse,chesterfield,tea,blue)
h(english,snake,winston,milk,red)
h(japonese,zebra,kent,coffee,green)
h(spanish,dog,lucky,juice,white)
S = [h(norwegian,fox,kool,water,yellow),h(ukrainian,horse,chesterfield,tea,blue),h(english,snake,winston,milk,red),h(japonese,zebra,kent,coffee,green),h(spanish,dog,lucky,juice,white)] ? ;
yes
% Passing a note logical puzzle
| ?- note::(students(S), print(S)).
s(mary,english,red,1)
s(paul,math,yellow,2)
s(josephine,science,green,3)
s(derrick,french,blue,4)
s(alexis,reading,black,5)
S = [s(mary,english,red,1),s(paul,math,yellow,2),s(josephine,science,green,3),s(derrick,french,blue,4),s(alexis,reading,black,5)] ?
yes
% Mort's Letter from Camp Swampy logical puzzle
| ?- camp_swampy::(beds(S), print(S)).
tim thomas, from maine, sleeps on bed number 1
sam franklin, from north_carolina, sleeps on bed number 2
mac miller, from virginia, sleeps on bed number 3
fred james, from florida, sleeps on bed number 4
john smith, from arkansas, sleeps on bed number 5
S = [b(tim,thomas,maine,1),b(sam,franklin,north_carolina,2),b(mac,miller,virginia,3),b(fred,james,florida,4),b(john,smith,arkansas,5)] ?
yes