Ifi6057lab3demo2

Allikas: Lambda

Pulkade mäng. Oletame, et hetkel on 11 pulka laual, siis küsitakse järgmist käiku nii: take(X, 11)..

move(1).
move(2).
move(3).

% Y - pulkade arv laual hetkel
take(X, Y):-
  iswin(X, Y).

% kui võita pole võimalik, tuleb mingi käik ikka teha
take(X, Y):-
  isloss(X, Y).

iswin(X, Y):-
  move(X),
  Z is Y - X,
  Z > 0,
  isloss(1, Z),
  isloss(2, Z),
  isloss(3, Z).

isloss(X, Y):-
  move(X),
  Z is Y - X,
  Z < 1.

isloss(X, Y):-
  move(X),
  Z is Y - X,
  iswin(_, Z).