Arreglado error que causaba que manos no listas entraran a la verificacion de yaku.
This commit is contained in:
parent
110a8c14d6
commit
d02a29566a
@ -60,6 +60,6 @@ class ContenedorGrupos(
|
||||
tris.size + seqs.size + (if (pares.size <= 1) 1 else 0) - huerfanos.size
|
||||
|
||||
fun estaListo(): Boolean =
|
||||
pares.size == 1 && huerfanos.size == 0
|
||||
pares.size == 1 && huerfanos.size == 0 && (tris.size + seqs.size == 3)
|
||||
|
||||
}
|
||||
|
@ -120,9 +120,14 @@ class Juego(val usuarios: ArrayList<Pair<String, Boolean>>) {
|
||||
posCartaActual++
|
||||
|
||||
// Asignar nueva carta
|
||||
manos[idSigUsuario]!!.sigCarta = sigCarta
|
||||
val manoSigJugador = manos[idSigUsuario]!!
|
||||
manoSigJugador.sigCarta = sigCarta
|
||||
|
||||
// TODO: Verificar tsumo
|
||||
// TODO: Arreglar. Roto.
|
||||
val oportunidadWin = OportunidadWin.verificar(sigCarta, manoSigJugador.cartas, manoSigJugador.cartasReveladas)
|
||||
if (oportunidadWin != null) {
|
||||
manoSigJugador.oportunidades.add(oportunidadWin)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -203,6 +208,7 @@ class Juego(val usuarios: ArrayList<Pair<String, Boolean>>) {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Usar diferente metodo para ignorar oportunidad Tsumo
|
||||
suspend fun ignorarOportunidadSeq(idUsuario: String) {
|
||||
|
||||
var aunHayOportunidades = false
|
||||
@ -213,6 +219,7 @@ class Juego(val usuarios: ArrayList<Pair<String, Boolean>>) {
|
||||
continue
|
||||
}
|
||||
|
||||
// TODO: Notificar al jugador que su oportunidad ha sido ignorada
|
||||
// Si algun otro jugador tiene una oportunidad
|
||||
if (mano.oportunidades.isNotEmpty()) {
|
||||
aunHayOportunidades = true
|
||||
|
@ -41,7 +41,8 @@ fun obtenerListaYakus(contenedorGrupos: ContenedorGrupos, esManoAbierta: Boolean
|
||||
|| contenedorGrupos.pares.size != 1
|
||||
|| contenedorGrupos.huerfanos.size != 0
|
||||
) {
|
||||
throw Error("Error de invariante: Se intento verificar los yakus de un contenedor invalido.")
|
||||
System.err.println("Error de invariante: Se intento verificar los yakus de un contenedor invalido.")
|
||||
return arrayListOf()
|
||||
}
|
||||
|
||||
// 15 puntos
|
||||
|
Loading…
Reference in New Issue
Block a user