%----------------------------------------------------------------------------
% Jeremey Ferris Cog 366 Lab #2 Random Crypto Problem Generator
% Filename: crytpo.pro
% Load Files: gv.pro
% Date Created: 09/16/2009
%-----------------------------------------------------------------------------
:-consult('gv.pro').
eCryptoP:-
declare(a,0),
declare(b,15).
gRNumber(N):-
valueOf(a,Lo),
valueOf(b,Hi),
Hip is Hi+1,
random(Lo,Hip,N).
gRProblem:-
gRNumber(N1),
gRNumber(N2),
gRNumber(N3),
gRNumber(N4),
gRNumber(N5),
gRNumber(G),
addProbToKB(N1,N2,N3,N4,N5,G).
addProbToKB(N1,N2,N3,N4,N5,G):-
retract(problem(numbers(N1,N2,N3,N4,N5),goal(G))),
assert(problem(numbers(N1,N2,N3,N4,N5),goal(G))).
addProbToKB(N1,N2,N3,N4,N5,G):-
assert(problem(numbers(N1,N2,N3,N4,N5),goal(G))).
demo:-
problem(numbers(N1,N2,N3,N4,N5),goal(G)),
write('Crypto Problem: Numbers = { '),
write(N1), write(', '),
write(N2), write(', '),
write(N3), write(', '),
write(N4), write(', '),
write(N5), write('} Goal = '),
write(G),nl,fail.
eCryptoP.
