Habilitada opcion para ignorar una oportunidad
This commit is contained in:
parent
2d6bde36c9
commit
83ec3d80e5
@ -82,4 +82,9 @@ object GestorJuegos {
|
||||
juego.manejarDescarte(idUsuario, carta)
|
||||
}
|
||||
|
||||
suspend fun manejarIgnorarOportunidad(idJuego: String, idUsuario: String) {
|
||||
val juego = juegos[idJuego]!!
|
||||
juego.ignorarOportunidadSeq(idUsuario)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,8 @@ val gson = Gson()
|
||||
|
||||
data class DatosDescarte(val idJuego: String, val idUsuario: String, val carta: Int)
|
||||
|
||||
data class DatosIgnorarOportunidad(val idJuego: String, val idUsuario: String)
|
||||
|
||||
fun Routing.juegows() {
|
||||
|
||||
webSocket("/juego") {
|
||||
@ -25,6 +27,10 @@ fun Routing.juegows() {
|
||||
val datos = gson.fromJson(sol.datos, DatosDescarte::class.java)
|
||||
GestorJuegos.manejarDescarte(datos.idJuego, datos.idUsuario, datos.carta)
|
||||
}
|
||||
"ignorar_oportunidad" -> {
|
||||
val datos = gson.fromJson(sol.datos, DatosIgnorarOportunidad::class.java)
|
||||
GestorJuegos.manejarIgnorarOportunidad(datos.idJuego, datos.idUsuario)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -178,4 +178,30 @@ class Juego(val usuarios: ArrayList<Pair<String, Boolean>>) {
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun ignorarOportunidadSeq(idUsuario: String) {
|
||||
|
||||
var aunHayOportunidades = false
|
||||
for ((id, mano) in manos) {
|
||||
// Eliminar oportunidad del usuario
|
||||
if (id == idUsuario) {
|
||||
mano.oportunidades = arrayListOf()
|
||||
continue
|
||||
}
|
||||
|
||||
// Si algun otro jugador tiene una oportunidad
|
||||
if (mano.oportunidades.isNotEmpty()) {
|
||||
aunHayOportunidades = true
|
||||
}
|
||||
}
|
||||
|
||||
// Si no quedan oportunidades cambiar el turno al sig jugador
|
||||
if (!aunHayOportunidades) {
|
||||
cambiarTurnoSigJugadorConsecutivo()
|
||||
gestorDora!!.actualizarDoraCerrado()
|
||||
}
|
||||
|
||||
// Enviar los nuevos datos
|
||||
enviarDatosATodos()
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,5 +4,4 @@ interface Oportunidad {
|
||||
|
||||
val cartaDescartada: Int
|
||||
val nombreOportunidad: String
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user