This commit is contained in:
syuilo
2024-01-28 20:20:18 +09:00
parent db7bd0e94e
commit 366fade8d3
4 changed files with 205 additions and 83 deletions

View File

@@ -79,7 +79,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkButton v-if="engine.state.canRonSource != null" primary gradate @click="ron">Ron</MkButton>
<MkButton v-if="engine.state.canPonSource != null" primary @click="pon">Pon</MkButton>
<MkButton v-if="engine.state.canRonSource != null || engine.state.canPonSource != null" @click="skip">Skip</MkButton>
<MkButton v-if="isMyTurn && canHora">Tsumo</MkButton>
<MkButton v-if="isMyTurn && canHora" primary gradate>Tsumo</MkButton>
<MkButton v-if="isMyTurn && canRiichi" primary @click="riichi">Riichi</MkButton>
</div>
</template>
@@ -116,6 +117,10 @@ const isMyTurn = computed(() => {
return engine.value.state.turn === engine.value.myHouse;
});
const canRiichi = computed(() => {
return Mahjong.Utils.getHoraTiles(engine.value.myHandTiles).length > 0;
});
const canHora = computed(() => {
return Mahjong.Utils.getHoraSets(engine.value.myHandTiles).length > 0;
});
@@ -192,6 +197,19 @@ function dahai(tile: Mahjong.Common.Tile, ev: MouseEvent) {
});
}
function riichi() {
if (!isMyTurn.value) return;
engine.value.op_dahai(engine.value.myHouse, tile, true);
iTsumoed.value = false;
triggerRef(engine);
props.connection!.send('dahai', {
tile: tile,
riichi: true,
});
}
function ron() {
engine.value.op_ron(engine.value.state.canRonSource, engine.value.myHouse);
triggerRef(engine);