menu0

 

/* menu0.pro */
/* attivazione menu vari */
/* osserva vari modi di inserimento opzioni */
/* esempio piu completo con MENU1.pro */
nowarnings
include "menu.pro"
predicates
azione1
azione2
finestra
elabora1(integer)
elabora2(integer)
scelta(integer)
scelta2(integer)
termine1(integer)
termine2(integer)
goal finestra,azione1,azione2.
clauses
finestra:-
makewindow(1,5,1,"",1,1,20,70).
azione1:-
 menu(2,30,[rosso_scuro,verde_chiaro,fine],Scelta),
      elabora1(Scelta),
      termine1(Scelta),!.
elabora1(0).
elabora1(1):-scelta(1).
elabora1(2):-scelta(2).
elabora1(3):-scelta(3).
termine1(3).
termine1(0).
scelta(1):-write("scelta1\n"),beep,azione1.
scelta(2):-write("scelta2\n"),beep,azione1.
scelta(3):-write("fine\n"),sound(100,770),
azione2.
azione2:-
menu(5,50,["sodio","potassio","calcio","rame",
"fine"],Scelta2),
elabora2(Scelta2),
termine2(Scelta2),!.
elabora2(0).
elabora2(1):-scelta2(1).
elabora2(2):-scelta2(2). 
elabora2(3):-scelta2(3).
elabora2(4):-scelta2(4).
elabora2(5):-scelta2(5).
termine2(5).
termine2(0).
scelta2(1):-write("1 chiamata\n "),sound(100,550),azione2.
scelta2(2):-write("2 chiamata\n"),sound(100,800),azione2.
scelta2(3):-write("3 chiamata\n"),beep,beep,azione2.
scelta2(4):-write("4 chiamata\n"),beep,azione2.
scelta2(5):-write("5 chiamata:fine\n").