diff --git a/src/GestorJuegos.kt b/src/GestorJuegos.kt index 08bcf5e..5951d6c 100644 --- a/src/GestorJuegos.kt +++ b/src/GestorJuegos.kt @@ -89,7 +89,7 @@ object GestorJuegos { suspend fun manejarLlamarSeq(idJuego: String, idUsuario: String, cartaDescartada: Int, combinacion: Pair) { val juego = juegos[idJuego]!! - juego.manejarSeq(idUsuario, cartaDescartada, combinacion) + juego.manejarSeqTri(idUsuario, cartaDescartada, combinacion) } } diff --git a/src/JuegoWS.kt b/src/JuegoWS.kt index 4ebc2f8..abeb91a 100644 --- a/src/JuegoWS.kt +++ b/src/JuegoWS.kt @@ -36,7 +36,7 @@ fun Routing.juegows() { val datos = gson.fromJson(sol.datos, DatosIgnorarOportunidad::class.java) GestorJuegos.manejarIgnorarOportunidad(datos.idJuego, datos.idUsuario) } - "llamar_seq" -> { + "llamar_seq", "llamar_tri" -> { val datos = gson.fromJson(sol.datos, DatosLlamarSeq::class.java) GestorJuegos.manejarLlamarSeq( datos.idJuego, diff --git a/src/juego/Juego.kt b/src/juego/Juego.kt index 88bf824..8650a5a 100644 --- a/src/juego/Juego.kt +++ b/src/juego/Juego.kt @@ -214,8 +214,16 @@ class Juego(val usuarios: ArrayList>) { enviarDatosATodos() } - suspend fun manejarSeq(idUsuario: String, cartaDescartada: Int, combinacion: Pair) { + private fun cambiarTurnoSegunIdUsuario(idUsuario: String) { + for ((posJugador, i) in ordenJugadores.withIndex()) { + if (i == idUsuario) { + turnoActual = posJugador + break + } + } + } + suspend fun manejarSeqTri(idUsuario: String, cartaDescartada: Int, combinacion: Pair) { val manoJugadorDescarte = manos[ordenJugadores[turnoActual]]!! val descartesJ = manoJugadorDescarte.descartes @@ -241,13 +249,16 @@ class Juego(val usuarios: ArrayList>) { cartasRobador.remove(vCarta1) cartasRobador.remove(vCarta2) val seq = arrayListOf(cartaDescartada, vCarta1, vCarta2) + seq.sort() manoRobador.cartasReveladas.add(seq) // Eliminar las oportunidades manoRobador.oportunidades = arrayListOf() // Cambiar turno al robador sin dar carta - turnoActual = (turnoActual + 1) % 4 + // turnoActual = (turnoActual + 1) % 4 + cambiarTurnoSegunIdUsuario(idUsuario) + gestorDora!!.actualizarDoraCerrado() enviarDatosATodos() diff --git a/src/juego/Mano.kt b/src/juego/Mano.kt index 7e274c8..7dca410 100644 --- a/src/juego/Mano.kt +++ b/src/juego/Mano.kt @@ -18,4 +18,6 @@ data class Mano( ) } + + }