Agregar pantalla de empate

master
Araozu 2020-12-31 11:27:48 -05:00
parent 9b4d91f138
commit 28eecd6d15
3 changed files with 59 additions and 5 deletions

View File

@ -98,6 +98,7 @@ div(:style="'--phx: ' + phx + '; --escala: ' + escala + ';'")
| Triple triples cerrados | Triple triples cerrados
p 3 triples en mano cerrada p 3 triples en mano cerrada
grupo-cartas(:cartas="[6, 6, 7, 48, 49, 49, 160, 160, 160, 192, 192]") grupo-cartas(:cartas="[6, 6, 7, 48, 49, 49, 160, 160, 160, 192, 192]")
p No se acumula con "Triple triples".
h3 5 puntos h3 5 puntos

View File

@ -3,6 +3,7 @@ div(
:style="'--escala: ' + escala + '; --pH: ' + pH + '; --phx: ' + phx + '; --pW: ' + pW + '; --pwx:' + pwx + ';'" :style="'--escala: ' + escala + '; --pH: ' + pH + '; --phx: ' + phx + '; --pW: ' + pW + '; --pwx:' + pwx + ';'"
) )
pantalla-ganador(:datos="datosJuego") pantalla-ganador(:datos="datosJuego")
pantalla-empate(v-if="esEmpate")
contenedor-dora(:turnosRestantes="turnosDora") contenedor-dora(:turnosRestantes="turnosDora")
div.con-int-juego div.con-int-juego
div.cont-2-juego div.cont-2-juego
@ -23,15 +24,16 @@ div(
</template> </template>
<script lang="ts"> <script lang="ts">
import {defineComponent, ref, onMounted, onUnmounted} from "vue"; import { defineComponent, ref, computed, onMounted, onUnmounted } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { useDimensions } from "@/components/useDimensions"; import { useDimensions } from "@/components/useDimensions";
import { useStore } from "vuex"; import { useStore } from "vuex";
import { wsServidor } from "@/variables"; import { wsServidor } from "@/variables";
import contenedorDora from "./components/contenedor-dora.vue" import contenedorDora from "./components/contenedor-dora.vue";
import mano from "@/views/Juego/components/mano.vue"; import mano from "@/views/Juego/components/mano.vue";
import contenedorCartas from "./components/contenedor-cartas.vue" import contenedorCartas from "./components/contenedor-cartas.vue";
import pantallaGanador from "./components/pantalla-ganador.vue" import pantallaGanador from "./components/pantalla-ganador.vue";
import pantallaEmpate from "./components/pantalla-empate.vue";
import { EstadoJuego } from "@/views/Juego/types/EstadoJuego"; import { EstadoJuego } from "@/views/Juego/types/EstadoJuego";
import { DatosJuego } from "@/views/Juego/types/DatosJuego"; import { DatosJuego } from "@/views/Juego/types/DatosJuego";
import { Dragon, Mano } from "@/views/Juego/types/Mano"; import { Dragon, Mano } from "@/views/Juego/types/Mano";
@ -54,7 +56,7 @@ const obtClave = (obj: any, valor: string): string | undefined => {
export default defineComponent({ export default defineComponent({
name: "Juego", name: "Juego",
components: {contenedorDora, mano, contenedorCartas, pantallaGanador}, components: {contenedorDora, mano, contenedorCartas, pantallaGanador, pantallaEmpate},
setup() { setup() {
const route = useRoute(); const route = useRoute();
const store = useStore(); const store = useStore();
@ -202,6 +204,21 @@ export default defineComponent({
} }
}; };
const esEmpate = computed(() => {
const juegoTerminado = datosJuego.value?.estadoJuego === "Terminado"
const manos = datosJuego.value?.manos
if (juegoTerminado && manos) {
for (const k in manos) {
const m = manos[k];
if (m.esGanador) return false;
}
return true;
} else {
return false;
}
});
const obtClaveMap = (s: string) => obtClave(map, s); const obtClaveMap = (s: string) => obtClave(map, s);
return { return {
dora, dora,
@ -217,6 +234,7 @@ export default defineComponent({
turnoActual, turnoActual,
estadoJuego, estadoJuego,
datosJuego, datosJuego,
esEmpate,
obtClaveMap, obtClaveMap,
descartarCarta, descartarCarta,
pH, pH,

View File

@ -0,0 +1,35 @@
<template lang="pug">
div.contenedor-pantalla-empate
h1 Empate
hr
router-link(to="/") Ir al inicio
//
</template>
<script lang="ts">
export default {
name: "pantalla-empate"
}
</script>
<style lang="sass" scoped>
.contenedor-pantalla-empate
position: fixed
top: 10%
left: 10%
width: 80%
height: 80%
z-index: 100
background-color: var(--color-fondo-transparente)
padding: 1rem
h1, h2, h3, h4, h5
margin: 0
padding: 1rem 0
</style>