id='col1_x' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_y' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_w' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_h' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_txt' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_rel' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_xOrig' vector='sí' evaluar='una-sola-vez' tamaño='n_n_col1+100' tipo='vector' 
id='col1_yOrig' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_dx' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_dy' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_IMG' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_A' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_R' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_G' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_B' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_BW' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_BA' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_BR' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_BG' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='col1_BB' vector='sí' evaluar='una-sola-vez' tamaño='n_col1+100' tipo='vector' 
id='__BASES__' expresión='0' tipo='variable' 
id='col2_x' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_y' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_w' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_h' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_txt' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_rel' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_xOrig' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_yOrig' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_dx' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_dy' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_IMG' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_A' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_R' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_G' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_B' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_BW' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_BA' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_BR' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_BG' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='col2_BB' vector='sí' evaluar='una-sola-vez' tamaño='n_col2+100' tipo='vector' 
id='____FUNCIONES____' expresión='0' tipo='variable' 
id='acomoda_Col1(xP,yP,maxVal,horien,_gapX,_gapY)' algoritmo='sí' expresión='x' inicio='_index=0;posX=xP;posY=yP;_incrX=(horien==X_AXIS);_incrY=(horien==Y_AXIS);_maxW=0;_maxH=0;maxVal2=(maxVal<0)?9999999:maxVal;strDebug=&squot;&squot;' hacer='col1_x[_index]=posX;col1_y[_index]=posY;;_Width=col1_w[_index];_Height=col1_h[_index];;_maxH=max(_maxH,_Height);_maxW=max(_maxW,_Width);;_cambiarFil=(_incrX)&&(maxVal<abs(posX+_Width-xP));_cambiarCol=(_incrY)&&(maxVal<abs(posY+_Height-yP));;posX=(_cambiarFil)?(xP):(posX+_incrX*(_Width+_gapX));posY=(_cambiarCol)?(yP):(posY+_incrY*(_Height+_gapY));;posX=(_cambiarCol)?(posX+_Width+_gapX):posX;posY=(_cambiarFil)?(posY+_Height+_gapY):posY;;strDebug=strDebug+_cambiarFil+&squot;,&squot;+_cambiarCol+&squot; - &squot;;_index=_index+1' mientras='_index<n_col1' tipo='función' 
id='acomoda_Col2(xP,yP,maxVal,horien,_gapX,_gapY)' algoritmo='sí' expresión='x' inicio='_index=0;posX=xP;posY=yP;_incrX=(horien==X_AXIS);_incrY=(horien==Y_AXIS);_maxW=0;_maxH=0;maxVal2=(maxVal<0)?9999999:maxVal;strDebug=&squot;&squot;' hacer='col2_x[_index]=posX;col2_y[_index]=posY;;_Width=col2_w[_index];_Height=col2_h[_index];;_maxH=max(_maxH,_Height);_maxW=max(_maxW,_Width);;_cambiarFil=(_incrX)&&(maxVal<abs(posX+_Width-xP));_cambiarCol=(_incrY)&&(maxVal<abs(posY+_Height-yP));;posX=(_cambiarFil)?(xP):(posX+_incrX*(_Width+_gapX));posY=(_cambiarCol)?(yP):(posY+_incrY*(_Height+_gapY));;posX=(_cambiarCol)?(posX+_Width+_gapX):posX;posY=(_cambiarFil)?(posY+_Height+_gapY):posY;;strDebug=strDebug+_cambiarFil+&squot;,&squot;+_cambiarCol+&squot; - &squot;;_index=_index+1' mientras='_index<n_col2' tipo='función' 
id='guardaPosOrigCol1()' algoritmo='sí' expresión='x' inicio='_index=0;' hacer='col1_xOrig[_index]=col1_x[_index];col1_yOrig[_index]=col1_y[_index];;_index=_index+1;' mientras='_index<(n_col1)' tipo='función' 
id='baseOcupadaPor(iBase)' algoritmo='sí' expresión='_resBaseOc' inicio='_indexLabelT=0;_resBaseOc=-1' hacer='_ocupadaPor=col1_rel[_indexLabelT];;_resBaseOc=(_ocupadaPor==iBase)?_indexLabelT:_resBaseOc;_indexLabelT=_indexLabelT+1' mientras='(_indexLabelT<n_col1)&&(_resBaseOc<0)' tipo='función' 
id='sobreCual(mX,mY)' algoritmo='sí' expresión='_res' inicio='index=0;limiteIter=n_col1;_res=-1' hacer='_pos.x=col1_x[index];_pos.y=col1_y[index];;_pos.x2=_pos.x+col1_w[index];_pos.y2=_pos.y+col1_h[index];;_estaSobre=(_pos.x<=mX)&&(_pos.x2>=mX);_estaSobre=_estaSobre&&(_pos.y<=mY)&&(_pos.y2>=mY);;_res=(_estaSobre)?index:_res;;index=index+1' mientras='(index<n_col1)&&(!_estaSobre)' tipo='función' 
id='sobreCualSoltado(_x,_y,_w,_h)' algoritmo='sí' expresión='_res' inicio='_indexD=n_col2-1;_res=-1;' hacer='_tmpA.x=col2_x[_indexD];_tmpA.y=col2_y[_indexD];_tmpA.w=col2_w[_indexD];_tmpA.h=col2_h[_indexD];;_cond1=_tmpA.x<(_x +_w);_cond2=_x<(_tmpA.x+_tmpA.w);_cond3=_tmpA.y<(_y+_h);_cond4=_y<(_tmpA.y+_tmpA.h);;_colision=(_cond1)&&(_cond2)&&(_cond3)&&(_cond4);_res=(_colision)?_indexD:_res;_indexD=_indexD-1;' mientras='(_indexD>=0)&&(!_colision)' tipo='función' 
id='moveLabelTo(iL1,toPX,toPY)' algoritmo='sí' expresión='x' hacer='_posT.x=col1_x[iL1];_posT.y=col1_y[iL1];;_posT.w2=col1_w[iL1]/2;_posT.h2=col1_h[iL1]/2;;_posT.x=toPX-_posT.w2;_posT.y=toPY-_posT.h2;;col1_x[iL1]=_posT.x;col1_y[iL1]=_posT.y;' tipo='función' 
id='pegaABase(_iLabel,_iBase)' algoritmo='sí' expresión='x' hacer='_tmpB.x=col2_x[_iBase];_tmpB.y=col2_y[_iBase];_tmpB.w=col2_w[_iBase];_tmpB.h=col2_h[_iBase];;col1_x[_iLabel]=_tmpB.x+(_tmpB.w-col1_w[_iLabel])/2;col1_y[_iLabel]=_tmpB.y+(_tmpB.h-col1_h[_iLabel])/2;;col1_rel[_iLabel]=_iBase;col2_rel[_iBase]=_iLabel;;' tipo='función' 
id='regresaAOrig(iLabel)' algoritmo='sí' expresión='x' hacer='col1_x[iLabel]=col1_xOrig[iLabel];col1_y[iLabel]=col1_yOrig[iLabel];col1_rel[iLabel]=-1;;;' tipo='función' 
id='initArrastrar(iLabel)' algoritmo='sí' expresión='x' hacer='_iBloque=col1_rel[iLabel];_tmpIB=max(_iBloque,0);;col2_rel[_tmpIB]=(_iBloque>-1)?-1:col2_rel[_tmpIB];;col1_rel[iLabel]=-1' tipo='función' 
id='arrastrando(iLabelAct,_mPixX,_mPixY)' algoritmo='sí' expresión='x' hacer='moveLabelTo(iLabelAct,_mPixX,_mPixY)' tipo='función' 
id='reacomodaRel(_iBaseInit)' algoritmo='sí' expresión='x' inicio='_index=_iBaseInit;_iLabelRelAnt=-1;' hacer='_iLabelRel=col2_rel[_index];col2_rel[_index]=-1;;tt=(_iLabelRel>-1)?regresaAOrig(_iLabelRel):0;tt=(_iLabelRelAnt>-1)?pegaABase(_iLabelRelAnt,_index):0;;_iLabelRelAnt=_iLabelRel;;_index=_index+1' mientras='(_index<n_col2)&&(_iLabelRelAnt>-1)' tipo='función' 
id='soltando(iLabel)' algoritmo='sí' expresión='x' hacer='_xTmp=col1_x[iLabel];_yTmp=col1_y[iLabel];_wTmp=col1_w[iLabel];_hTmp=col1_h[iLabel];;_col2Sobre=(iLabel>=0)?sobreCualSoltado(_mousePixX,_mousePixY,1,1):-1 ;_col2Sobre=(_col2Sobre<0)?sobreCualSoltado(_xTmp,_yTmp,_wTmp,_hTmp):_col2Sobre;;_yaAsidB=(_col2Sobre>-1)&&(col2_rel[_col2Sobre]>-1);_regresarLabel=(iLabel>-1)&&((_col2Sobre<0) | ((_yaAsidB)&&(!dejarInsertar)) );;_doSnapBase=(_col2Sobre>-1)&&(iLabel>-1);_doSnapBase=(_doSnapBase)&&((dejarInsertar)|(!_yaAsidB));;_reacomodarRel=(dejarInsertar)&&(_doSnapBase)&&(_yaAsidB);;tt=(_regresarLabel)?regresaAOrig(iLabel):0;tt=(_reacomodarRel)?reacomodaRel(_col2Sobre):0;tt=(_doSnapBase)?pegaABase(iLabel,_col2Sobre):0' tipo='función' 
id='debug' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.Ox' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.Oy' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.escala' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.mousePressed' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.mouse_x' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.mouse_y' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.w' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='Esp.h' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='dejarInsertar' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='usarFondosImagen' expresión='1' evaluar='una-sola-vez' constante='sí' 
id='_mousePixX' expresión='1' evaluar='una-sola-vez' constante='sí' 
id='_mousePixY' expresión='1' evaluar='una-sola-vez' constante='sí' 
id='X_AXIS' expresión='9999' evaluar='una-sola-vez' constante='sí' 
id='Y_AXIS' expresión='99999' evaluar='una-sola-vez' constante='sí' 
id='n_col1' expresión='10' evaluar='una-sola-vez' constante='sí' 
id='n_col2' expresión='10' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.A' expresión='0.4' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.R' expresión='1' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.G' expresión='1' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.B' expresión='1' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.BW' expresión='2' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.BA' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.BR' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.BG' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='maskSelect.BB' expresión='0' evaluar='una-sola-vez' constante='sí' 
id='HACK_TO_FUN' algoritmo='sí' evaluar='una-sola-vez' hacer='_mousePixX=0;_mousePixY=0;;acomoda_Col1(0,0,0,0,0,0);acomoda_Col2(0,0,0,0,0,0);guardaPosOrigCol1();baseOcupadaPor(0);sobreCual(-1,-1);sobreCualSoltado(-10,-10,1,1);moveLabelTo(0,0,0);pegaABase(0,0);regresaAOrig(0);initArrastrar(0);arrastrando(0,0,0);soltando(0);reacomodaRel(n_col2)' 
id='INICIO' algoritmo='sí' evaluar='una-sola-vez' hacer='activo=-1' 
id='INICIO_COL1' algoritmo='sí' evaluar='una-sola-vez' inicio='index=0;limiteIter=min(n_col1,n_col1);' hacer='col1_txt[index]=&squot;Label_&squot;+index;col1_x[index]=150;col1_y[index]=100+index*20;col1_w[index]=125+ent(rnd*5)*5;col1_h[index]=30;col1_rel[index]=-1;;col1_dy[index]=3;col1_dx[index]=0;;col1_A[index]=0.5;col1_R[index]=0;col1_G[index]=1;col1_B[index]=1;;col1_BW[index]=1;col1_BA[index]=0.5;col1_BR[index]=0;col1_BG[index]=0;col1_BB[index]=1;;index=index+1' mientras='index<limiteIter' 
id='INICIO_COL2' algoritmo='sí' evaluar='una-sola-vez' inicio='index=0;limiteIter=n_col2;' hacer='col2_txt[index]=index+1;col2_x[index]=120;col2_y[index]=100+index*20;col2_w[index]=125;col2_h[index]=30;col2_rel[index]=-1;;col2_dx[index]=0;col2_dy[index]=4;;col2_A[index]=0.5;col2_R[index]=1;col2_G[index]=1;col2_B[index]=0.6;;col2_BW[index]=2;col2_BA[index]=0.5;col2_BR[index]=0;col2_BG[index]=0;col2_BB[index]=1;;index=index+1' mientras='index<limiteIter' 
id='INICIO' algoritmo='sí' evaluar='una-sola-vez' hacer='acomoda_Col1(10,10,300,X_AXIS,5,5);guardaPosOrigCol1();acomoda_Col2(100,200,80,Y_AXIS,5,5);' 
id='CALCULOS' algoritmo='sí' evaluar='siempre' hacer='_mousePixX=(Esp.mouse_x*Esp.escala)+Esp.w/2+Esp.Ox;_mousePixY=(-Esp.mouse_y*Esp.escala)+Esp.h/2+Esp.Oy;_mousePressed=Esp.mousePressed ;;_resienPress=(!_mousePressed_ANT)&&(_mousePressed);_soltado=(_mousePressed_ANT)&&(!_mousePressed)&&(activo>=0);;activo=((activo<=-1)&&(_resienPress))?sobreCual(_mousePixX,_mousePixY):activo;tt=(_soltado)?soltando(activo):0;;tt=((_resienPress)&&(activo>=0))?initArrastrar(activo):0;;activo=(!_mousePressed)?-1:activo;;tt=(activo>=0)?arrastrando(activo,_mousePixX,_mousePixY):0;;_mousePressed_ANT=_mousePressed;' 
espacio='E1' tipo='imagen' dibujar-si='usarFondosImagen' coord_abs='sí' expresión='(col2_x[s],col2_y[s])' familia='s' s.intervalo='[0,n_col2-1]' s.pasos='n_col2-1' archivo='images/palabras/fondoBase.png' 
espacio='E1' tipo='polígono' color='(col2_BR[s],col2_BG[s],col2_BB[s],col2_BA[s])' coord_abs='sí' expresión='(col2_x[s],col2_y[s])(col2_x[s]+col2_w[s],col2_y[s])(col2_x[s]+col2_w[s],col2_y[s]+col2_h[s])(col2_x[s],col2_y[s]+col2_h[s])(col2_x[s],col2_y[s])' familia='s' s.intervalo='[0,n_col2-1]' s.pasos='n_col2-1' relleno='(col2_R[s],col2_G[s],col2_B[s],col2_A[s])' ancho='col2_BW[s]' 
espacio='E1' tipo='texto' color='000050' coord_abs='sí' expresión='[col2_x[s]+col2_dx[s],col2_y[s]+col2_dy[s]]' familia='s' s.intervalo='[0,n_col2-1]' s.pasos='n_col2-1' texto='[col2_txt[s]]' fijo='no' ancho='1' fuente puntos='20' align='a_left' anchor='a_top_left' 
espacio='E1' tipo='imagen' coord_abs='sí' expresión='(col1_x[s],col1_y[s])' familia='s' s.intervalo='[0,n_col1-1]' s.pasos='n_col1-1' archivo='images/palabras/fondoPalabra.png' 
espacio='E1' tipo='polígono' color='(col1_BR[s],col1_BG[s],col1_BB[s],col1_BA[s])' coord_abs='sí' expresión='(col1_x[s],col1_y[s])(col1_x[s]+col1_w[s],col1_y[s])(col1_x[s]+col1_w[s],col1_y[s]+col1_h[s])(col1_x[s],col1_y[s]+col1_h[s])(col1_x[s],col1_y[s])' familia='s' s.intervalo='[0,n_col1-1]' s.pasos='n_col1-1' relleno='(col1_R[s],col1_G[s],col1_B[s],col1_A[s])' ancho='col1_BW[s]' 
espacio='E1' tipo='texto' color='000050' coord_abs='sí' expresión='[col1_x[s]+col1_dx[s],col1_y[s]+col1_dy[s]]' familia='s' s.intervalo='[0,n_col1-1]' s.pasos='n_col1-1' texto='[col1_txt[s]]' fijo='no' ancho='1' fuente puntos='20' align='a_left' anchor='a_top_left' 
espacio='E1' tipo='polígono' color='(maskSelect.BR,maskSelect.BG,maskSelect.BB,maskSelect.BA)' dibujar-si='activo>=0' coord_abs='sí' expresión='(col1_x[activo],col1_y[activo])(col1_x[activo]+col1_w[activo],col1_y[activo])(col1_x[activo]+col1_w[activo],col1_y[activo]+col1_h[activo])(col1_x[activo],col1_y[activo]+col1_h[activo])(col1_x[activo],col1_y[activo])' relleno='(maskSelect.R,maskSelect.G,maskSelect.B,maskSelect.A)' ancho='maskSelect.BW' 
espacio='E1' tipo='texto' color='20303a' dibujar-si='debug==2' coord_abs='sí' expresión='[320,320+s*30]' familia='s' s.intervalo='[0,n_col1-1]' s.pasos='n_col1-1' texto='col1_rel([s]) = [col1_rel[s]]' fijo='no' ancho='1' align='a_left' anchor='a_top_left' 
espacio='E1' tipo='texto' color='20303a' dibujar-si='debug==1' coord_abs='sí' expresión='[20,320]' texto='activo = [activo]\n_mouse=([_mousePixX],[_mousePixY])\n_mousePressed=[_mousePressed] ANT = [_mousePressed_ANT] \n posOrigLabel=[posOrigLabel.x],[posOrigLabel.y]\nentroDoL1=[entroDoL1]\n_incrX=[_incrX][_incrY]\nstrDebug=[strDebug]' fijo='no' ancho='1' align='a_left' anchor='a_top_left' 
espacio='E1' tipo='texto' color='20303a' dibujar-si='debug==3' coord_abs='sí' expresión='[20,320]' texto='Esp.pos = {[Esp.Ox],[Esp.Oy],[Esp.escala],[Esp.w],[Esp.h],[Esp.mousePressed],[Esp.mouse_x],[Esp.mouse_y]}' fijo='no' ancho='1' align='a_left' anchor='a_top_left' 
