81 días de programación

Ahora tengo la estructura de datos de la pantalla del mapa estratégico. Un array bi-dimensional de toda la vida. Podría haberlo hecho en Basic 🙂 y ese precisamente es la idea desde un principio.

Se trata de un array de 8 filas por 16 columnas, que contienen una string que funciona como símbolo del elemento a mostrar.

Después para representarlo paso el array por un bucle doble de toda la vida. (Lo hubiera hecho con una función pero tengo un problema con una variable externa a la función que se representa con un «this». Y como estoy aprendiendo por mirar ejemplo, ensayo y error, aún no sé a qué diantres se refiere ese «this». Así que para ver si funciona más fácil ha sido usar un doble bucle.

Esta maravilla de la programación de los años 70 va así

1 for(i=0;i<8;i++){		
2  for(j=0;j<16;j++){
3   let asymbol = tablero[i][j];
4   if(asymbol != "-"){ // "-" es el símbolo de vacío
5	this.add.image(25+(i*50),25+(j*50), asymbol);
6	}
7   }
8 }

La clave es la línea 5 this.add.image(25+(i*50),25+(j*50), asymbol); donde calcula la posición del centro del sprite según su posición en la tabla. Y como la variable asymbol ya contiene el string de referencia de la imagen, según asigné en un módulo anterior de la aplicación, la función this.add.image ya tiene todos los datos para mostrar la imagen correspondiente. Parece un poquito lío, pero luego será mucho más fácil mover los símbolos en la tabla. Téngase en cuenta de que este es un juego como el ajedrez en el sentido de que cada pieza está en una casilla.

Miguel de Luis Espinosa