Jump to content
Sign in to follow this  
AntonioM

Como hacer un tablero Match 3 con sus componentes "a mano"

Recommended Posts

Buenas tardes.

Quiero hacer un tablero como en un juego Match 3 pero que no se rellene de manera aleatoria, es decir, que cada pantalla tenga de inicio los mismos elementos.

Todos los tutoriales que he visto son para rellenarlos de manera aleatoria, y no sé como hacer para tener una "Plantilla" donde en cada escena (pantalla) rellenar a mano el tablero.

¿Alguien me puede orientar un poco?

Saludos.

 

Share this post


Link to post
Share on other sites

puedes tener un script con una funcion que, segun que pantalla sea, rellene el tablero leyendo valores de un array.

y que array se rellene en la funcion awake o start, dependiendo de que pantalla sea.

te pongo un ejemplo en pseudo-codigo. suponiendo que tu tablero mide 8 de alto y 6 de ancho. y suponiendo que hay 4 tipos de fichas (0, 1, 2, y 3).

class RellenarTablero {

  	public Gameobject[] fichas; //array con las fichas de tu pantalla
  	public int pantallaNum = 1;//numero de pantalla
	private int[] casillas;//array para crear un tipo de ficha u otra

void Start {
	casillas = new int[48];//8x6
  
  	switch(pantallaNum) {
      case 1:
        casillas = new int[48] 
        {0,1,1,3,3,1,
         2,2,2,1,1,1,
         0,0,1,1,2,2,
         0,1,2,3,2,1,
         2,2,1,1,0,0,
         1,1,2,2,0,0,
        };
        break;
        
      case 2:
        casillas = new int[48] 
        {0,1,1,3,3,1,
         2,2,2,1,1,1,
         0,0,1,1,2,2,
         0,1,2,3,2,1,
         2,2,1,1,0,0,
         1,1,2,2,0,0,
        };
        break;
        
        ...etc...
        
      default:
        break;
    }
  
  
  	CrearTablero();
}



  
void CrearTablero() {
    for (int x=0; x<6; x++) {//anchura
        for (int y=0; y<8; y++) {//altura
			int casillaNum = (x*6)+y; 
          	y ahora la ficha[casillaNum] es del tipo casillas[casillaNum];
          
      	}
    }
    
}






}

 

no te puedo ayudar mas porque no se como creas el tablero y como esta estructurado tu juego... como funcionan las fichas y el tablero... etc...

Share this post


Link to post
Share on other sites
On 6/27/2021 at 6:55 PM, Igor said:

puedes tener un script con una funcion que, segun que pantalla sea, rellene el tablero leyendo valores de un array.

y que array se rellene en la funcion awake o start, dependiendo de que pantalla sea.

te pongo un ejemplo en pseudo-codigo. suponiendo que tu tablero mide 8 de alto y 6 de ancho. y suponiendo que hay 4 tipos de fichas (0, 1, 2, y 3).

............

Hola, 

Primero de todo muchas gracias por responder.

Luego, decir que tengo un nivel de conocimientos básico, vamos que lo que voy haciendo es lo que voy viendo en tutoriales de Youtube. En todos los que he visto el relleno del tablero lo hacen de forma aleatoria desde código (scripts) y la formación del tablero se hace mediante un bucle "for" anidado.

El método que me has propuesto desde luego solucionaría mi problema pero lo que tengo en mente es tener en la "Scene" de unity el tablero e ir rellenándolo desde los prefabs mediante "drag & drop" porque así viéndolo directamente en pantalla sería más visual y fácil a la hora de diseñar el tablero de cada pantalla (el relleno de cada pantalla no sería aleatoria como es usual en los juegos de este tipo sino hecho "a mano"). En resumen  sería algo así como un editor de niveles que he visto en juego de plataformas.

Pero como no sé por donde meterle mano ni en que ejemplos fijarme para utilizarlos como punto de partida porque los editores de niveles que he visto hasta ahora son de juegos de plataformas y se hacen mediante "tiles" cosa que no me vale.

De nuevo muchas gracias por tu respuesta.

Saludos.

 

Edited by AntonioM

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...