// Asignamos a la ficha los valores almacenados en el array durante la selección void InicializaFicha(GameObject ficha, int[,,] datosFichas) { // Inicializamos los datos de las fichas ficha.GetComponent <MoverFicha>().SetCaraActiva(FichaSeleccionada.GetCara()); ficha.GetComponent <MoverFicha>().SetElemento0(datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, 0]); ficha.GetComponent <MoverFicha>().SetElemento1(datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, 1]); if (ControlTurno.GetTurnoJugador() == 0) { // Inicializamos los datos de las casillas del jugador 1 ficha.GetComponent <MoverFicha>().SetCasillaFicha(ficha.GetComponent <numFichaJugador>().idFicha); this.InicializarCasillas(ficha.GetComponent <numFichaJugador>().idFicha, ControlTurno.GetTurnoJugador()); } else { // Inicializamos los datos de las casillas del jugador 2 ficha.GetComponent <MoverFicha>().SetCasillaFicha(25 - ficha.GetComponent <numFichaJugador>().idFicha); this.InicializarCasillas(25 - ficha.GetComponent <numFichaJugador>().idFicha, ControlTurno.GetTurnoJugador()); } // Indicamos qué fichas tiene la bandera if (ficha.GetComponent <numFichaJugador>().idFicha == 5) { ficha.GetComponent <MoverFicha>().SetTieneBandera(1); } else { ficha.GetComponent <MoverFicha>().SetTieneBandera(0); } }
// Dependiendo de la cara que estemos seleccionano se cambia el texto private void Update() { if (FichaSeleccionada.GetCara() == 0 && textoBoton != null) { textoBoton.text = "Cara 1"; } if (FichaSeleccionada.GetCara() == 1 && textoBoton != null) { textoBoton.text = "Cara 2"; } }
// Cambiar cara seleccionada public void SetCara() { if (FichaSeleccionada.GetCara() == 0) { FichaSeleccionada.SetCara(1); FichaSeleccionada.InicializaFichasSeleccionadas(); ElementoSeleccionado.SetElementoSeleccionado(0); } else { FichaSeleccionada.SetCara(0); FichaSeleccionada.InicializaFichasSeleccionadas(); ElementoSeleccionado.SetElementoSeleccionado(0); } }
// Al iniciar pone las fichas y banderas con los elementos correspondientes si ya se habían seleccionado void Start() { // Desactivamos el panel de victoria IniciaPartida.panelVictoria = GameObject.Find("Fondo"); IniciaPartida.panelVictoria.SetActive(false); IniciaPartida.estaPausado = 0; // Desactivamos el panel de Salir IniciaPartida.panelSalir = GameObject.Find("FondoSalir"); IniciaPartida.panelSalir.SetActive(false); GameObject bandera = null; GameObject[] fichas = null; int[,,] datosFichas = new int[2, 9, 2]; // Añadimos al array todas las fichas y la bandera del jugador 1 datosFichas = FichaSeleccionada.GetFichasJugadores(); FichaSeleccionada.SetCara(0); ControlTurno.SetTurnoJugador(0); fichas = GameObject.FindGameObjectsWithTag("FichasJugador1"); foreach (GameObject ficha in fichas) { // recorremos todas las fichas asignando el elemento y añadiendo a las fichas seleccionadas if (datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 1) { CambiaObjeto.AsignaFuegoBlanco(ficha); } if (datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 2) { CambiaObjeto.AsignaAguaBlanca(ficha); } if (datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 3) { CambiaObjeto.AsignaMaderaBlanca(ficha); } this.InicializaFicha(ficha, datosFichas); } bandera = GameObject.FindGameObjectWithTag("BanderaJugador1"); bandera.GetComponent <MoverBandera>().SetCasillaBandera(5); // Añadimos al array todas las fichas y la bandera del jugador 2 ControlTurno.SetTurnoJugador(1); fichas = GameObject.FindGameObjectsWithTag("FichasJugador2"); //datosFichas = FichaSeleccionada.GetFichasJugadores(); foreach (GameObject ficha in fichas) { // recorremos todas las fichas asignando el elemento y añadiendo a las fichas seleccionadas if (datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 1) { CambiaObjeto.AsignaFuegoNegro(ficha); } if (datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 2) { CambiaObjeto.AsignaAguaNegra(ficha); } if (datosFichas[ControlTurno.GetTurnoJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 3) { CambiaObjeto.AsignaMaderaNegra(ficha); } this.InicializaFicha(ficha, datosFichas); } bandera = GameObject.FindGameObjectWithTag("BanderaJugador2"); bandera.GetComponent <MoverBandera>().SetCasillaBandera(20); // Preparamos el tueno y el botón de giro ControlTurno.SetTurnoJugador(0); MoverFicha.DesactivarGiro(); }
static protected int jugador; // 0 o 1 // Comportamiento al pinchar private void OnMouseUp() { this.GetComponent <numFichaJugador>().SonidoSeleccion(); // Si no hay elemento seleccionado permitiremos ir seleccionando o deseleccinando varias fichas del jugador1 if (ElementoSeleccionado.GetElementoSeleccionado() == 0) { // Si la ficha no estaba seleccionada la marcamos de verde, si ya estaba seleccionada la ponemos blanca if (fichasSeleccionadas[this.GetComponent <numFichaJugador>().idFicha - 1] == 0) { if (FichaSeleccionada.GetJugador() == 1 && FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] > 0) { if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 1) { CambiaObjeto.AsignaFuegoBlanco(this.gameObject); } if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 2) { CambiaObjeto.AsignaAguaBlanca(this.gameObject); } if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 3) { CambiaObjeto.AsignaMaderaBlanca(this.gameObject); } } CambiaObjeto.PintaVerde(this.gameObject); fichasSeleccionadas[this.GetComponent <numFichaJugador>().idFicha - 1] = 1; totalFichasSeleccionadas++; } else { if (FichaSeleccionada.GetJugador() == 0) { CambiaObjeto.PintaBlanco(this.gameObject); } if (FichaSeleccionada.GetJugador() == 1 && FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.cara] == 0) { CambiaObjeto.PintaGris(this.gameObject); } if (FichaSeleccionada.GetJugador() == 1 && FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.cara] > 0) { if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 1) { CambiaObjeto.AsignaFuegoNegro(this.gameObject); } if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 2) { CambiaObjeto.AsignaAguaNegra(this.gameObject); } if (FichaSeleccionada.fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] == 3) { CambiaObjeto.AsignaMaderaNegra(this.gameObject); } } fichasSeleccionadas[this.GetComponent <numFichaJugador>().idFicha - 1] = 0; totalFichasSeleccionadas--; } } else // Si hay un elemento seleccionado, cambiaremos el material de la ficha { // Si la ficha ya tiene ese elemento se lo quitaremos if (ElementoSeleccionado.GetElementoSeleccionado() == fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()]) { CambiaObjeto.QuitaMaterial(this.gameObject); fichasJugadores[FichaSeleccionada.GetJugador(), this.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] = 0; } else // Si la ficha no tiene ese elemento, le asignaremos el elemento seleccionado independientemente del elemento que tuviera la ficha anteriormente { if (FichaSeleccionada.GetJugador() == 0) { if (ElementoSeleccionado.GetElementoSeleccionado() == 1) { CambiaObjeto.AsignaFuegoBlanco(this.gameObject); } if (ElementoSeleccionado.GetElementoSeleccionado() == 2) { CambiaObjeto.AsignaAguaBlanca(this.gameObject); } if (ElementoSeleccionado.GetElementoSeleccionado() == 3) { CambiaObjeto.AsignaMaderaBlanca(this.gameObject); } } if (FichaSeleccionada.GetJugador() == 1) { if (ElementoSeleccionado.GetElementoSeleccionado() == 1) { CambiaObjeto.AsignaFuegoNegro(this.gameObject); } if (ElementoSeleccionado.GetElementoSeleccionado() == 2) { CambiaObjeto.AsignaAguaNegra(this.gameObject); } if (ElementoSeleccionado.GetElementoSeleccionado() == 3) { CambiaObjeto.AsignaMaderaNegra(this.gameObject); } } FichaSeleccionada.SetFichaJugador(this.gameObject); } } }
// Guarda los datos de una ficha para el jugador public static void SetFichaJugador(GameObject obj) { fichasJugadores[FichaSeleccionada.GetJugador(), obj.GetComponent <numFichaJugador>().idFicha - 1, FichaSeleccionada.GetCara()] = ElementoSeleccionado.GetElementoSeleccionado(); }
// Al iniciar pone las fichas con los elementos correspondientes si ya se habían seleccionado void Start() { GameObject[] fichas = null; int[,,] datosFichas = null; // Añadimos al array todas las fichas del jugador 1 if (FichaSeleccionada.GetJugador() == 0) { fichas = GameObject.FindGameObjectsWithTag("FichasJugador1"); datosFichas = FichaSeleccionada.GetFichasJugadores(); foreach (GameObject ficha in fichas) { // recorremos todas las fichas asignando el elemento y añadiendo a las fichas seleccionadas if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 1) { CambiaObjeto.AsignaFuegoBlanco(ficha); } if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 2) { CambiaObjeto.AsignaAguaBlanca(ficha); } if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 3) { CambiaObjeto.AsignaMaderaBlanca(ficha); } } } // Añadimos al array todas las fichas del jugador 2 if (FichaSeleccionada.GetJugador() == 1) { fichas = GameObject.FindGameObjectsWithTag("FichasJugador2"); datosFichas = FichaSeleccionada.GetFichasJugadores(); foreach (GameObject ficha in fichas) { // recorremos todas las fichas asignando el elemento y añadiendo a las fichas seleccionadas if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 1) { CambiaObjeto.AsignaFuegoNegro(ficha); } if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 2) { CambiaObjeto.AsignaAguaNegra(ficha); } if (datosFichas[FichaSeleccionada.GetJugador(), (ficha.GetComponent <numFichaJugador>().idFicha) - 1, FichaSeleccionada.GetCara()] == 3) { CambiaObjeto.AsignaMaderaNegra(ficha); } } } }