Modificar Yaku

master
Araozu 2020-12-31 08:20:22 -05:00
parent 2f0305d4c2
commit 8c58639a61
7 changed files with 10 additions and 25 deletions

View File

@ -46,10 +46,10 @@ fun Routing.juegows() {
) )
} }
"llamar_ron" -> { "llamar_ron" -> {
TODO() TODO("Ron no implementado")
} }
"llamar_tsumo" -> { "llamar_tsumo" -> {
TODO() TODO("Tsumo no implementado")
} }
} }
} }

View File

@ -8,7 +8,7 @@ data class DatosJuego(
val turnoActual: String, val turnoActual: String,
val turnosHastaDora: Int, val turnosHastaDora: Int,
val dragonPartida: Dragon, val dragonPartida: Dragon,
val oportunidadesRestantes: Int val estadoJuego: EstadoJuego
) { ) {
override fun equals(other: Any?): Boolean { override fun equals(other: Any?): Boolean {
if (this === other) return true if (this === other) return true
@ -23,7 +23,7 @@ data class DatosJuego(
if (turnoActual != other.turnoActual) return false if (turnoActual != other.turnoActual) return false
if (turnosHastaDora != other.turnosHastaDora) return false if (turnosHastaDora != other.turnosHastaDora) return false
if (dragonPartida != other.dragonPartida) return false if (dragonPartida != other.dragonPartida) return false
if (oportunidadesRestantes != other.oportunidadesRestantes) return false if (estadoJuego != other.estadoJuego) return false
return true return true
} }
@ -36,7 +36,7 @@ data class DatosJuego(
result = 31 * result + turnoActual.hashCode() result = 31 * result + turnoActual.hashCode()
result = 31 * result + turnosHastaDora result = 31 * result + turnosHastaDora
result = 31 * result + dragonPartida.hashCode() result = 31 * result + dragonPartida.hashCode()
result = 31 * result + oportunidadesRestantes result = 31 * result + estadoJuego.hashCode()
return result return result
} }
} }

View File

@ -78,7 +78,7 @@ class Juego(val idJuego: String) {
turnoActual = idJugadorTurnoActual, turnoActual = idJugadorTurnoActual,
turnosHastaDora = gestorDora.turnosRestantesDora, turnosHastaDora = gestorDora.turnosRestantesDora,
dragonPartida = dragonPartida, dragonPartida = dragonPartida,
oportunidadesRestantes = oportunidadesRestantes estadoJuego = estadoJuego
) )
} }

View File

@ -32,9 +32,8 @@ enum class Yaku {
Interior, Interior,
TripleTriples, TripleTriples,
Realeza, Realeza,
Variedad,
DobleSecuencia, DobleSecuencia,
ManoCompletamenteCerrada ManoCerrada
} }
fun obtenerListaYakus(contenedorGrupos: ContenedorGrupos, esManoAbierta: Boolean): ArrayList<Yaku> { fun obtenerListaYakus(contenedorGrupos: ContenedorGrupos, esManoAbierta: Boolean): ArrayList<Yaku> {
@ -123,6 +122,9 @@ fun obtenerListaYakus(contenedorGrupos: ContenedorGrupos, esManoAbierta: Boolean
if (cantidadDragon > 0) { if (cantidadDragon > 0) {
listaYakus.add(Yaku.Dragones) listaYakus.add(Yaku.Dragones)
} }
if (!esManoAbierta) {
listaYakus.add(Yaku.ManoCerrada)
}
return listaYakus return listaYakus
} }

View File

@ -9,11 +9,6 @@ internal fun yakuDobleSecuencia(contenedorGrupos: ContenedorGrupos): Boolean {
return false return false
} }
internal fun yakuVariedad(contenedorGrupos: ContenedorGrupos): Boolean {
return false
}
internal fun yakuRealeza(contenedorGrupos: ContenedorGrupos): Int { internal fun yakuRealeza(contenedorGrupos: ContenedorGrupos): Int {
var cantidadRealeza = 0 var cantidadRealeza = 0
for (carrl in contenedorGrupos.tris) { for (carrl in contenedorGrupos.tris) {

View File

@ -14,17 +14,6 @@ fun testYakuDobleSecuencia(): Boolean {
return existeYaku(op, Yaku.DobleSecuencia) return existeYaku(op, Yaku.DobleSecuencia)
} }
fun testYakuVariedad(): Boolean {
val cartas = arrayListOf(
6, 8, 10, 40, 42, 44, 96, 96, 256, 256
)
val op = OportunidadRon.verificar(
valorCarta = 96,
cartasMano = cartas
)
return existeYaku(op, Yaku.Variedad)
}
fun testYakuRealeza(): Boolean { fun testYakuRealeza(): Boolean {
val cartas = arrayListOf( val cartas = arrayListOf(
6, 8, 10, 40, 42, 44, 96, 96, 256, 256 6, 8, 10, 40, 42, 44, 96, 96, 256, 256

View File

@ -46,7 +46,6 @@ fun main() {
// Yaku1 // Yaku1
impErr(testYakuDobleSecuencia(), "Doble Secuencia") impErr(testYakuDobleSecuencia(), "Doble Secuencia")
impErr(testYakuVariedad(), "Variedad")
impErr(testYakuRealeza(), "Realeza") impErr(testYakuRealeza(), "Realeza")
impErr(testYakuTripleTriples(), "Triple Triples") impErr(testYakuTripleTriples(), "Triple Triples")
impErr(testYakuInterior(), "Interior") impErr(testYakuInterior(), "Interior")