Rock-paper-scissors: Difference between revisions
Content added Content deleted
(Add Factor example) |
(Added Prolog implementation) |
||
Line 3,949: | Line 3,949: | ||
end rock; |
end rock; |
||
</lang> |
</lang> |
||
=={{header|Prolog}}== |
|||
<lang prolog>play :- |
|||
findall(P,beats(P,_),Prev), |
|||
play(Prev). |
|||
play(Prev) :- |
|||
write('your choice? '), |
|||
read(P), |
|||
random_member(C, Prev), |
|||
format('The computer chose ~p~n', C), |
|||
result(C,P,Prev,Next), |
|||
!, |
|||
play(Next). |
|||
result(C,P,R,[C|R]) :- |
|||
beats(C,P), |
|||
format('Computer wins.~n'). |
|||
result(C,P,R,[B|R]) :- |
|||
beats(P,C), |
|||
beats(B,P), |
|||
format('You win!~n'). |
|||
result(C,C,R,[B|R]) :- |
|||
beats(B,C), |
|||
format('It is a draw~n'). |
|||
beats(paper, rock). |
|||
beats(rock, scissors). |
|||
beats(scissors, paper).</lang> |
|||
=={{header|PureBasic}}== |
=={{header|PureBasic}}== |