Skip to content

Version 1.0.2

Latest
Compare
Choose a tag to compare
@berracode berracode released this 16 Sep 05:45

Se agrega funcionalidad para movernos en el eje vertical y poder buscar palabras hacia a arriba o hacia a abajo.

Se realizan pequeños test con la sopa de letras de 100x100 siguiente: https://github.com/QuantumInformatik/mips-sopaletra/blob/master/archivos/sopaJava.txt

Además se corrige funcionalidad para finalizar el programa mediante interacción con el usuario.

Los registros $t6 y $t7 juegan un papel importante a la hora de movernos sea en el eje X o Y.

El registro $t7 guarda el valor o el coeficiente de movimiento horizontal, es decir, cuantas posiciones debemos movernos hacia la izquierda o derecha para encontrar un carácter diferente al 32 (espacio, quien delimita las columnas). Se asume que no se limpiaran los espacio de la sopa de letras por tanto addi $t7, $zero, 2 y siendo $t7 un valor constante.

El registro $t6 guarda el valor o el coeficiente de movimiento vertical, es decir, cuantas posiciones debemos movernos hacia arriba o hacia a abajo para encontrar un carácter en la misma columna. Este coeficiente se calcula con la siguiente formula:

Sea:
cmv = coeficiente de movimiento vertical
cf = cantidad de caracteres por fila (sin incluir el caracter 32 (espacio) y el caracter 13 (\r) y 10 (\ n))
ce = cantidad de espacio por fila (si cf = 4, entonces ce=cf-1, cf =n, ce=n-1)
s = simbolos de finalización, puede ser \r\n o solo \r o solo \n, se asumen que serán \r\n, por tanto s=2 (considerada constante).

cmv = cf + ce + s -> cf +ce + 2
Entonces si nuestra sopa de letra es de 3 filas x 4 columnas, tenemos que:

cf = 4 (es decir 4 es el número de caracteres por fila)
ce = 4-1 = 3
s = s

cmv = 4+3+2 = 9

Para una sopa de letras de 100x100, sería:

cmv = 100 + 99 +2 = 201