/// <summary> /// Administra el flujo del juego (aciertos, combos, tiempo restante, puntuacion, etc...) /// </summary> void Update() { if (tiempoDeJuego.Corriendo) { // mantiene el HUD actualizado hud.ActualizarCombo(combo); hud.ActualizarPuntos(puntuacion); hud.ActualizarTiempo((int)tiempoDeJuego.TiempoRestante); // manejo de flecha der e izq float ejeHor = Input.GetAxis("Horizontal"); if (ejeHor > 0 && !ejeHorPres) { // Determinando si el jugador acierta o no if (adminDePersonajes.DireccionActual == Spawner.Direccion.Der) { aciertos++; combo = (aciertos != 0 && aciertos % 4 == 0) ? combo + 1 : combo; puntuacion += 100 * combo; } else { aciertos = 0; combo = 1; } adminDePersonajes.Reubicar(); ejeHorPres = true; } else if (ejeHor < 0 && !ejeHorPres) { if (adminDePersonajes.DireccionActual == Spawner.Direccion.Izq) { aciertos++; combo = (aciertos != 0 && aciertos % 4 == 0) ? combo + 1 : combo; puntuacion += 100 * combo; } else { aciertos = 0; combo = 1; } adminDePersonajes.Reubicar(); ejeHorPres = true; } else if (ejeHor == 0 && ejeHorPres) { ejeHorPres = false; } // manejo de flecha arr y abj float ejeVert = Input.GetAxis("Vertical"); if (ejeVert > 0 && !ejeVertPres) { // Determinando si el jugador acierta o no if (adminDePersonajes.DireccionActual == Spawner.Direccion.Arr) { aciertos++; combo = (aciertos != 0 && aciertos % 4 == 0) ? combo + 1 : combo; puntuacion += 100 * combo; } else { aciertos = 0; combo = 1; } adminDePersonajes.Reubicar(); ejeVertPres = true; } else if (ejeVert < 0 && !ejeVertPres) { if (adminDePersonajes.DireccionActual == Spawner.Direccion.Abj) { aciertos++; combo = (aciertos != 0 && aciertos % 4 == 0) ? combo + 1 : combo; puntuacion += 100 * combo; } else { aciertos = 0; combo = 1; } adminDePersonajes.Reubicar(); ejeVertPres = true; } else if (ejeVert == 0 && ejeVertPres) { ejeVertPres = false; } } }