/// <summary> /// Se prepara todo para que el juega pueda dar comienzo /// </summary> public void Jugar() { jugador.gameObject.SetActive(true); for (int i = 0; i < bolos.Length; i++) { bolos [i].gameObject.SetActive(true); puntuacionTurno[i] = 0; } turno = 0; puntuacionTotal = 0; tiradaTurno = GameThrow.tiro1; cambiarTextoTiros(); canvas.cambiarTextoPuntuacion(puntuacionTurno[turno]); canvas.cambiarTextoTurno(turno); }
/// <summary> /// Controla los cambios de turnos y cuando se debe ejecutar el fin del juego /// </summary> public void cambiarTurno() { // Primera tirada del turno if (tiradaTurno == GameThrow.tiro1) { jugador.Reiniciar(); jugador.gameObject.SetActive(true); DesaparecerCamara(); canvas.activarUIJugador(); // Si el tiro no ha llegado a 10 (pleno) if (puntuacionTurno[turno] < 10) { tiradaTurno = GameThrow.tiro2; cambiarTextoTiros(); } // Si hay pleno else { // Reinicio de los bolos for (int i = 0; i < bolos.Length; i++) { bolos[i].Reiniciar(); bolos[i].gameObject.SetActive(true); } // Si el turno es distinto de 9 (turno 10 en la realidad), se debe cambiar el turno if (turno != 9) { tiradaTurno = GameThrow.tiro1; cambiarTextoTiros(); puntuacionTotal += puntuacionTurno[turno]; turno++; canvas.cambiarTextoPuntuacion(puntuacionTurno[turno]); canvas.cambiarTextoTurno(turno); } else { tiradaTurno = GameThrow.tiro2; } } } // Segunda tirada del turno else if (tiradaTurno == GameThrow.tiro2) { DesaparecerCamara(); jugador.Reiniciar(); // Si todavia no es el turno 9 (turno 10 real), se cambia el turno if (turno < 9) { tiradaTurno = GameThrow.tiro1; cambiarTextoTiros(); jugador.gameObject.SetActive(true); canvas.activarUIJugador(); for (int i = 0; i < bolos.Length; i++) { bolos[i].gameObject.SetActive(true); bolos [i].Reiniciar(); } puntuacionTotal += puntuacionTurno[turno]; turno++; canvas.cambiarTextoPuntuacion(puntuacionTurno[turno]); canvas.cambiarTextoTurno(turno); } // Actual turno 10 else if (turno == 9) { // No llega a hacer semipleno o pleno en el turno: Fin del juego if (puntuacionTurno[turno] < 10) { for (int i = 0; i < bolos.Length; i++) { bolos[i].Reiniciar(); bolos[i].gameObject.SetActive(false); } puntuacionTotal += puntuacionTurno[turno]; canvas.finDelJuego(puntuacionTotal); } // Puede haber realizado un pleno, semipleno o dos plenos else { jugador.gameObject.SetActive(true); canvas.activarUIJugador(); // Puede tirar una vez mas tiradaTurno = GameThrow.tiro3; cambiarTextoTiros(); // Comprueba si todos los bolos estan caidos. Si es asi, se reinician y se hacen aparecer int contador; for (contador = 0; contador < bolos.Length && bolos[contador].caido; contador++) { ; } if (contador == bolos.Length) { for (int i = 0; i < bolos.Length; i++) { bolos[i].gameObject.SetActive(true); bolos [i].Reiniciar(); } } } } } // Tercera tirada: Fin del juego else if (tiradaTurno == GameThrow.tiro3) { DesaparecerCamara(); jugador.Reiniciar(); for (int i = 0; i < bolos.Length; i++) { bolos [i].Reiniciar(); bolos[i].gameObject.SetActive(false); } puntuacionTotal += puntuacionTurno[turno]; canvas.finDelJuego(puntuacionTotal); } }