generico
/* generico.pro */ /* da usare con attivazione menu vari */
nowarnings
domains
include "menu.pro"
predicates fine pulisci finestra elabora1(integer) elabora2(integer) elabora3(integer) termine1(integer) termine2(integer) termine3(integer) scelta(integer) scelta1(integer) scelta2(integer) scelta3(integer) elabora(integer) azione1 azione2 azione3 azione4 azione5 azione6 azione finestra1 termine(integer) goal finestra,azione.
clauses finestra:- makewindow(1,5,7,"",1,1,17,75), makewindow(2,7,1,"",15,40,5,40).
pulisci:- shiftwindow(2),beep, write("premi ENTER per proseguire"), readchar(_),clearwindow,shiftwindow(1), clearwindow.
finestra1:-shiftwindow(1),clearwindow. azione:- menu(2,40,[opzione1, opzione2,opzione3, opzione4, opzione5, opzione6,fine],Scelta), elabora(Scelta), termine(Scelta),!. elabora(0). elabora(1):-Scelta(1). elabora(2):-Scelta(2). elabora(3):-Scelta(3). elabora(4):-Scelta(4). elabora(5):-Scelta(5). elabora(6):-Scelta(6). termine(7). termine(0). Scelta(1):-azione1. Scelta(2):-azione2. Scelta(3):-azione3. Scelta(4):-azione4. Scelta(5):-azione5. Scelta(6):-azione6. Scelta(7):-fine.
azione1:- clearwindow, menu(2,30,[opzione1, menu_principale],Scelta), elabora1(Scelta), termine1(Scelta),!. elabora1(0). elabora1(1):-scelta1(1). elabora1(2):-scelta1(2). termine1(2). termine1(0). scelta1(1):- finestra1, write("opzione1\n"), pulisci, azione1. scelta1(2):-write("ritorno a menu principale\n"), azione.
azione2:- clearwindow, menu(5,50,[opzione2, torna_a_menu_principale], Scelta), elabora2(Scelta), termine2(Scelta),!. elabora2(0). elabora2(1):-scelta2(1). elabora2(2):-scelta2(2). termine2(2). termine2(0). scelta2(1):- finestra1, write("opzione2\n"), pulisci, beep,azione2. scelta2(2):-write("ritorno a menu principale\n "), beep,azione.
azione3:- clearwindow, menu(6,40,[opzione3,menu_principale],Scelta), elabora3(Scelta), termine3(Scelta),!. elabora3(0). elabora3(1):-scelta3(1). elabora3(2):-scelta3(2). termine3(2). termine3(0). scelta3(1):- finestra1, write("opzione3 \n"), pulisci, beep,azione3. scelta3(2):-write("torna a menu principale\n"), beep,azione.
azione4:- finestra1, write(" opzione4,menu_principale "),nl, pulisci, beep,azione. azione5:- finestra1, write("opzione5 \n"), pulisci, azione.
azione6:- finestra1, write("opzione6 \n"), pulisci, azione.
fine:- clearwindow, write("fine prove\n"),beep.