funcion remplazaCombinas
dim suelto(0 to 3)
dim temp(0 to 3)
dim usar(0 to 3)
temp(0)="#" : temp(1)="€" : temp(2)="@" : temp(3)="~" 'matriz supuesta para reemplazar temporalmente a la matriz entrada.
suelto=deshaceCombina(combina(0))
existen=compruebaCoincidencias(entrada,suelto)
if existen=true entonces '
usar=temp ' usamos la matriz temp
no existen 'entonces usamos la matriz entrada
usar=entrada
fin existe
for i=0 to 3
cambiarPor=usar(i)
for k=1 to 23
suelto=deshaceCombina(combina(K))
combina(k)=intercambia(suelto, cambiarPor)
fin k
fin i
if existen=true then 'si existen ya que se mudaron por algunos que 'supuestamente no existen, ahora los cambiamos por los que introdujo el usuario....
for i=0 to 3
cambiarPor=entrada(i)
for k=1 to 23
suelto=deshaceCombina(combina(K))
combina(k)=intercambia(suelto, cambiarPor)
fin k
fin i
end if
fin funcion
' intercambia los valores y los reune en una cadena que devuelve
funcio intercambia(destino(),origen) as string
for i=0 to 3
if origen=destino(i) luego
destino(i)=origen(i)
end if
intercambia=intercambia & destino(i)
fin i
fin funcion
' comprueba si un guarismo entrado ya existe en la cadena a sustituir
funcion compruebaCoincidencias(a() as string,b() as string) as boolean
dim repes as byte
for i=0 to 3
for k=0 to 3
if a(i)=b(k) then
repes=respes +1
end if
fin k
fin i
compruebaCoincidencias=(repes>0)
fin funcion
' entrando un string en la forma "ABCD" devuelve una matriz
' enla forma c(0)="A", c(1)="B", c(2)="C", c(3)="D"
funcion deshaceCombina(cadena as string) as string()
deshaceCombina(0)=mid(cadena,1,1)
deshaceCombina(1)=mid(cadena,2,1)
deshaceCombina(2)=mid(cadena,3,1)
deshaceCombina(3)=mid(cadena,4,1)
fin funcion