UNPKG

acu-logic

Version:

diagnostico mtc segun baGang, 5 elementos, etc.

348 lines (292 loc) 12.8 kB
var Elemento=require('./elemento'); var Organo=require('./organo'); var Canal=require('./canal'); var Punto=require('./punto'); var assert=require('assert'); Elemento.Elemento.prototype.organoYin=function(){ switch(this.getNombre()){ case 'fuego': return(Organo.CORAZON); break; case 'tierra': return(Organo.BAZO); break; case 'metal': return(Organo.PULMON); break; case 'agua': return(Organo.RINON); break; case 'madera': return(Organo.HIGADO); break; default: return('impossible'); } } Elemento.Elemento.prototype.organoYang=function(){ switch(this.getNombre()){ case 'fuego': return(Organo.ID); break; case 'tierra': return(Organo.ESTOMAGO); break; case 'metal': return(Organo.IG); break; case 'agua': return(Organo.VEJIGA); break; case 'madera': return(Organo.VESICULA); break; default: return('impossible'); } } Organo.Organo.prototype.estrellaSAAM=function(){ switch(this.getNombre()) { case 'corazon': return( {fuego: 8 , tierra: 7 , metal: 4 , agua: 3, madera: 9 } ); break; case 'intestino delgado': return( {fuego: 5 , tierra: 8 , metal: 1 , agua: 2, madera: 3 } ); break; case 'pericardio': return( {fuego: 8 , tierra: 7 , metal: 5 , agua: 3, madera: 9 } ); break; case 'san jiao': return( {fuego: 6 , tierra: 10 , metal: 1 , agua: 2, madera: 3 } ); break; case 'bazo pancreas': return( {fuego: 2 , tierra: 3 , metal: 5 , agua: 9, madera: 1 } ); break; case 'estomago': return( {fuego: 41 , tierra: 36 , metal: 45 , agua: 44, madera: 43 } ); break; case 'pulmon': return( {fuego: 10 , tierra: 9 , metal: 8 , agua: 5, madera: 11 } ); break; case 'intestino grueso': return( {fuego: 5 , tierra: 11 , metal: 1 , agua: 2, madera: 3 } ); break; case 'rinon': return( {fuego: 2 , tierra: 3 , metal: 7 , agua: 10, madera: 1 } ); break; case 'vejiga': return( {fuego: 60 , tierra: 40 , metal: 67, agua: 66, madera: 65 } ); break; case 'higado': return( {fuego: 2 , tierra: 3 , metal: 4 , agua: 8, madera: 1 } ); break; case 'vesicula biliar': return( {fuego: 38 , tierra: 34 , metal: 44 , agua: 43, madera: 41 } ); break; default: drink = 'Will never happen'; } }; function tratamientoSAAM(organo, tonificarDispersar){ assert.equal((tonificarDispersar=='tonificar' || tonificarDispersar=='dispersar' || tonificarDispersar=='calentar' || tonificarDispersar=='enfriar'),true); var resultado=[]; var elementoAbuelo=organo.getElemento().abuelo(); var elementoPadre=organo.getElemento().padre(); var elementoHijo=organo.getElemento().hijo(); if (tonificarDispersar=='tonificar') { // tonificas padre y dispersas abuelo if (organo.isYin()) { var organoPadre=elementoPadre.organoYin(); var organoAbuelo=elementoAbuelo.organoYin() } else { var organoPadre=elementoPadre.organoYang(); var organoAbuelo=elementoAbuelo.organoYang() } //tonificar el padre var t1Meridiano=organoPadre.getNombre(); var t1Punto=organoPadre.estrellaSAAM()[elementoPadre.getNombre()]; var t2Meridiano=organo.getNombre(); var t2Punto=organo.estrellaSAAM()[elementoPadre.getNombre()]; // dispersar el abuelo var d1Meridiano=organoAbuelo.getNombre(); var d1Punto=organoAbuelo.estrellaSAAM()[elementoAbuelo.getNombre()]; var d2Meridiano=organo.getNombre(); var d2Punto=organo.estrellaSAAM()[elementoAbuelo.getNombre()]; // aqui intentamos usar bien los objetos var t1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t1Meridiano)),t1Punto); var t2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t2Meridiano)),t2Punto); var d1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d1Meridiano)),d1Punto); var d2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d2Meridiano)),d2Punto); resultado.push("Dispersar " + Organo.organoPorNombre(d1Meridiano).getNombre().toUpperCase() + ' - ' + d1ObjetoPunto.getNumero() + ' -- ' + d1ObjetoPunto.getNombreTradicional() + ' ' + d1ObjetoPunto.getChinoTradicional()); resultado.push("Dispersar " + Organo.organoPorNombre(d2Meridiano).getNombre().toUpperCase() + ' - ' + d2ObjetoPunto.getNumero() + ' -- ' + d2ObjetoPunto.getNombreTradicional() + ' ' + d2ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t1Meridiano).getNombre().toUpperCase() + ' - ' + t1ObjetoPunto.getNumero() + ' -- ' + t1ObjetoPunto.getNombreTradicional() + ' ' + t1ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t2Meridiano).getNombre().toUpperCase() + ' - ' + t2ObjetoPunto.getNumero() + ' -- ' + t2ObjetoPunto.getNombreTradicional() + ' ' + t2ObjetoPunto.getChinoTradicional()); // fin aqui /* resultado.push("Dispersar " + d1Meridiano + d1Punto + "."); resultado.push("Dispersar " + d2Meridiano + d2Punto + "."); resultado.push("Tonificar " + t1Meridiano + t1Punto + "."); resultado.push("Tonificar " + t2Meridiano + t2Punto + "."); */ } else if (tonificarDispersar=='dispersar') { // dispersar // dispersas el hijo y tonificas el abuelo if (organo.isYin()) { var organoHijo=elementoHijo.organoYin(); var organoAbuelo=elementoAbuelo.organoYin() } else { var organoHijo=elementoHijo.organoYang(); var organoAbuelo=elementoAbuelo.organoYang() } // dispersar el hijo var d1Meridiano=organoHijo.getNombre(); var d1Punto=organoHijo.estrellaSAAM()[elementoHijo.getNombre()]; var d2Meridiano=organo.getNombre(); var d2Punto=organo.estrellaSAAM()[elementoHijo.getNombre()]; //tonificar el abuelo var t1Meridiano=organoAbuelo.getNombre(); var t1Punto=organoAbuelo.estrellaSAAM()[elementoAbuelo.getNombre()]; var t2Meridiano=organo.getNombre(); var t2Punto=organo.estrellaSAAM()[elementoAbuelo.getNombre()]; // aqui intentamos usar bien los objetos var t1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t1Meridiano)),t1Punto); var t2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t2Meridiano)),t2Punto); var d1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d1Meridiano)),d1Punto); var d2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d2Meridiano)),d2Punto); resultado.push("Dispersar " + Organo.organoPorNombre(d1Meridiano).getNombre().toUpperCase() + ' - ' + d1ObjetoPunto.getNumero() + ' -- ' + d1ObjetoPunto.getNombreTradicional() + ' ' + d1ObjetoPunto.getChinoTradicional()); resultado.push("Dispersar " + Organo.organoPorNombre(d2Meridiano).getNombre().toUpperCase() + ' - ' + d2ObjetoPunto.getNumero() + ' -- ' + d2ObjetoPunto.getNombreTradicional() + ' ' + d2ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t1Meridiano).getNombre().toUpperCase() + ' - ' + t1ObjetoPunto.getNumero() + ' -- ' + t1ObjetoPunto.getNombreTradicional() + ' ' + t1ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t2Meridiano).getNombre().toUpperCase() + ' - ' + t2ObjetoPunto.getNumero() + ' -- ' + t2ObjetoPunto.getNombreTradicional() + ' ' + t2ObjetoPunto.getChinoTradicional()); // fin aqui /*resultado.push("Dispersar " + d1Meridiano + d1Punto + "."); resultado.push("Dispersar " + d2Meridiano + d2Punto + "."); resultado.push("Tonificar " + t1Meridiano + t1Punto + "."); resultado.push("Tonificar " + t2Meridiano + t2Punto + "."); */ } else if (tonificarDispersar=='calentar') { // dispersas el agua y tonificas el fuego if (organo.isYin()) { var organoAgua=Organo.RINON // el rinon var organoFuego=Organo.CORAZON // el corazon } else { var organoAgua=Organo.VEJIGA; var organoFuego=Organo.ID; } //tonificar el FUEGO var t1Meridiano=organoFuego.getNombre(); var t1Punto=organoFuego.estrellaSAAM()[Elemento.FUEGO.getNombre()]; var t2Meridiano=organo.getNombre(); var t2Punto=organo.estrellaSAAM()[Elemento.FUEGO.getNombre()]; // dispersar el AGUA var d1Meridiano=organoAgua.getNombre(); var d1Punto=organoAgua.estrellaSAAM()[Elemento.AGUA.getNombre()]; var d2Meridiano=organo.getNombre(); var d2Punto=organo.estrellaSAAM()[Elemento.AGUA.getNombre()]; // aqui intentamos usar bien los objetos var t1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t1Meridiano)),t1Punto); var t2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t2Meridiano)),t2Punto); var d1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d1Meridiano)),d1Punto); var d2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d2Meridiano)),d2Punto); resultado.push("Dispersar " + Organo.organoPorNombre(d1Meridiano).getNombre().toUpperCase() + ' - ' + d1ObjetoPunto.getNumero() + ' -- ' + d1ObjetoPunto.getNombreTradicional() + ' ' + d1ObjetoPunto.getChinoTradicional()); resultado.push("Dispersar " + Organo.organoPorNombre(d2Meridiano).getNombre().toUpperCase() + ' - ' + d2ObjetoPunto.getNumero() + ' -- ' + d2ObjetoPunto.getNombreTradicional() + ' ' + d2ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t1Meridiano).getNombre().toUpperCase() + ' - ' + t1ObjetoPunto.getNumero() + ' -- ' + t1ObjetoPunto.getNombreTradicional() + ' ' + t1ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t2Meridiano).getNombre().toUpperCase() + ' - ' + t2ObjetoPunto.getNumero() + ' -- ' + t2ObjetoPunto.getNombreTradicional() + ' ' + t2ObjetoPunto.getChinoTradicional()); } else { // enfriar // dispersas el fuego y tonificas el agua if (organo.isYin()) { var organoAgua=Organo.RINON // el rinon var organoFuego=Organo.CORAZON // el corazon } else { var organoAgua=Organo.VEJIGA; var organoFuego=Organo.ID; } //tonificar el AGUA var t1Meridiano=organoAgua.getNombre(); var t1Punto=organoAgua.estrellaSAAM()[Elemento.AGUA.getNombre()]; var t2Meridiano=organo.getNombre(); var t2Punto=organo.estrellaSAAM()[Elemento.AGUA.getNombre()]; // dispersar el fuego var d1Meridiano=organoFuego.getNombre(); var d1Punto=organoFuego.estrellaSAAM()[Elemento.FUEGO.getNombre()]; var d2Meridiano=organo.getNombre(); var d2Punto=organo.estrellaSAAM()[Elemento.FUEGO.getNombre()]; // aqui intentamos usar bien los objetos var t1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t1Meridiano)),t1Punto); var t2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(t2Meridiano)),t2Punto); var d1ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d1Meridiano)),d1Punto); var d2ObjetoPunto=Punto.puntoPorCanalNumero(Canal.getCanalPorOrgano(Organo.organoPorNombre(d2Meridiano)),d2Punto); resultado.push("Dispersar " + Organo.organoPorNombre(d1Meridiano).getNombre().toUpperCase() + ' - ' + d1ObjetoPunto.getNumero() + ' -- ' + d1ObjetoPunto.getNombreTradicional() + ' ' + d1ObjetoPunto.getChinoTradicional()); resultado.push("Dispersar " + Organo.organoPorNombre(d2Meridiano).getNombre().toUpperCase() + ' - ' + d2ObjetoPunto.getNumero() + ' -- ' + d2ObjetoPunto.getNombreTradicional() + ' ' + d2ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t1Meridiano).getNombre().toUpperCase() + ' - ' + t1ObjetoPunto.getNumero() + ' -- ' + t1ObjetoPunto.getNombreTradicional() + ' ' + t1ObjetoPunto.getChinoTradicional()); resultado.push("Tonificar " + Organo.organoPorNombre(t2Meridiano).getNombre().toUpperCase() + ' - ' + t2ObjetoPunto.getNumero() + ' -- ' + t2ObjetoPunto.getNombreTradicional() + ' ' + t2ObjetoPunto.getChinoTradicional()); } return(resultado); } module.exports.tratamientoSAAM = tratamientoSAAM;