Está en la página 1de 3

/*

INTERFAZ GRAFICA: Esta parte del sistema experto es la que se encarga de


interactuar con la persona comun, mostrar imagenes, botones, textos, etc.
INICIAR SISTEMA EXPERTO:
PARA CORRER EL PROGRAMA, ES NESESARIO CARGAR LAS 3 PARTES AL SWI PROLOG
Y LUEGO SOLO CONSULTAR TODO, AUTOMATICAMENTE SE ABRIRA LA VENTANA DEL PROGRAMA
*/
:- use_module(library(pce)).
:- pce_image_directory('./imagenes').
:- use_module(library(pce_style_item)).
:- dynamic color/2.
resource(img_principal, image, image('img_principal.jpg')).
resource(portada, image, image('portada.jpg')).
resource(hidropesia, image, image('trat_hidropesia.jpg')).
resource(vejiga_natatoria, image, image('trat_vejiga.jpg')).
resource(punto_blanco_ich, image, image('trat_ich.jpg')).
resource(estres, image, image('trat_estres.jpg')).
resource(parasito_hexamita, image, image('trat_hexamita.jpg')).
resource(lo_siento_diagnostico_desconocido, image, image('desconocido.jpg')).
resource(agresivo, image, image('agresividad.jpg')).
resource(aletargamiento, image, image('aletargamiento.jpg')).
resource(aletas_retraidas, image, image('aletas_retraidas.jpg')).
resource(equilibrio, image, image('equilibrio.jpg')).
resource(escamas_levantadas, image, image('escamas_levantadas.jpg')).
resource(falta_apetito, image, image('falta_apetito.jpg')).
resource(hexamita, image, image('hexamita.jpg')).
resource(hexamita2, image, image('hexamita2.jpg')).
resource(ich, image, image('ich.jpg')).
resource(ojos_sobresalidos, image, image('ojos_sobresalidos.jpg')).
resource(venas_rojas, image, image('venas_rojas.jpg')).
resource(vientre_hinchado, image, image('vientre_hinchado.jpg')).
mostrar_imagen(Pantalla, Imagen) :- new(Figura, figure),
new(Bitmap, bitmap(resource(Imagen),@on)),
send(Bitmap, name, 1),
send(Figura, display, Bitmap),
send(Figura, status, 1),
send(Pantalla, display,Figura,point(100,80)
).
mostrar_imagen_tratamiento(Pantalla, Imagen) :-new(Figura, figure),
new(Bitmap, bitmap(resource(Imagen),@on)),
send(Bitmap, name, 1),
send(Figura, display, Bitmap),
send(Figura, status, 1),
send(Pantalla, display,Figura,point(20,100)
).
nueva_imagen(Ventana, Imagen) :-new(Figura, figure),
new(Bitmap, bitmap(resource(Imagen),@on)),
send(Bitmap, name, 1),
send(Figura, display, Bitmap),
send(Figura, status, 1),
send(Ventana, display,Figura,point(0,0)).
imagen_pregunta(Ventana, Imagen) :-new(Figura, figure),
new(Bitmap, bitmap(resource(Imagen),@on)),
send(Bitmap, name, 1),
send(Figura, display, Bitmap),
send(Figura, status, 1),
send(Ventana, display,Figura,point(500,60)).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%5
botones:-borrado,
send(@boton, free),
send(@btntratamiento,free),
mostrar_diagnostico(Enfermedad),
send(@texto, selection('El Diagnostico a partir de los datos es:
')),
send(@resp1, selection(Enfermedad)),
new(@boton, button('Iniciar consulta',
message(@prolog, botones)
)),
new(@btntratamiento,button('Detalles y Tratamiento',
message(@prolog, mostrar_tratamiento,Enfermedad)
)),
send(@main, display,@boton,point(20,450)),
send(@main, display,@btntratamiento,point(138,450)).

mostrar_tratamiento(X):-new(@tratam, dialog('Tratamiento')),
send(@tratam, append, label(nombre, 'Explicacion: ')),
send(@tratam, display,@lblExp1,point(70,51)),
send(@tratam, display,@lblExp2,point(50,80)),
tratamiento(X),
send(@tratam, transient_for, @main),
send(@tratam, open_centered).
tratamiento(X):- send(@lblExp1,selection('De Acuerdo Al Diagnostico El Tratamien
to Es:')),
mostrar_imagen_tratamiento(@tratam,X).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
preguntar(Preg,Resp):-new(Di,dialog('Colsultar Datos:')),
new(L2,label(texto,'Responde las siguientes preguntas'))
,
id_imagen_preg(Preg,Imagen),
imagen_pregunta(Di,Imagen),
new(La,label(prob,Preg)),
new(B1,button(si,and(message(Di,return,si)))),
new(B2,button(no,and(message(Di,return,no)))),
send(Di, gap, size(25,25)),
send(Di,append(L2)),
send(Di,append(La)),
send(Di,append(B1)),
send(Di,append(B2)),
send(Di,default_button,'si'),
send(Di,open_centered),get(Di,confirm,Answer),
free(Di),
Resp=Answer.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
interfaz_principal:-new(@main,dialog('Sistema Experto Diagnosticador de Enferm
edades deL Goldfish',
size(1000,1000))),
new(@texto, label(nombre,'El Diagnostico a partir de los datos es:',font

('times','roman',18))),
new(@resp1, label(nombre,'',font('times','roman',22))),
new(@lblExp1, label(nombre,'',font('times','roman',14))),
new(@lblExp2, label(nombre,'',font('times','roman',14))),
new(@salir,button('SALIR',and(message(@main,destroy),message(@main,free)
))),
new(@boton, button('Iniciar consulta',message(@prolog, botones))),
new(@btntratamiento,button('Tratamiento?')),
nueva_imagen(@main, img_principal),
send(@main, display,@boton,point(138,450)),
send(@main, display,@texto,point(20,130)),
send(@main, display,@salir,point(300,450)),
send(@main, display,@resp1,point(20,180)),
send(@main,open_centered).
borrado:- send(@resp1, selection('')).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
crea_interfaz_inicio:- new(@interfaz,dialog('Bienvenido al Sistema Experto Dia
gnosticador',
size(1000,1000))),
mostrar_imagen(@interfaz, portada),
new(BotonComenzar,button('COMENZAR',and(message(@prolog,interfaz_principal) ,
and(message(@interfaz,destroy),message(@interfaz,free)) ))),
new(BotonSalir,button('SALIDA',and(message(@interfaz,destroy),message(@interfa
z,free)))),
send(@interfaz,append(BotonComenzar)),
send(@interfaz,append(BotonSalir)),
send(@interfaz,open_centered).
:-crea_interfaz_inicio.

También podría gustarte