From 314c31db3491cda6c62135d7031da8d32958d836 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Jan 2024 20:14:35 +0900 Subject: [PATCH 01/64] wip --- packages/frontend/src/scripts/mahjong.ts | 83 ++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 packages/frontend/src/scripts/mahjong.ts diff --git a/packages/frontend/src/scripts/mahjong.ts b/packages/frontend/src/scripts/mahjong.ts new file mode 100644 index 0000000000..b3704fba74 --- /dev/null +++ b/packages/frontend/src/scripts/mahjong.ts @@ -0,0 +1,83 @@ +export const TILE_TYPES = [ + 'bamboo1', + 'bamboo2', + 'bamboo3', + 'bamboo4', + 'bamboo5', + 'bamboo6', + 'bamboo7', + 'bamboo8', + 'bamboo9', + 'character1', + 'character2', + 'character3', + 'character4', + 'character5', + 'character6', + 'character7', + 'character8', + 'character9', + 'circle1', + 'circle2', + 'circle3', + 'circle4', + 'circle5', + 'circle6', + 'circle7', + 'circle8', + 'circle9', + 'wind-east', + 'wind-south', + 'wind-west', + 'wind-north', + 'dragon-red', + 'dragon-green', + 'dragon-white', +]; + +type Player = 'east' | 'south' | 'west' | 'north'; + +export class MahjongGameForBackend { + public tiles: (typeof TILE_TYPES[number])[] = []; + public 場: (typeof TILE_TYPES[number])[] = []; + public playerEastTiles: (typeof TILE_TYPES[number])[] = []; + public playerSouthTiles: (typeof TILE_TYPES[number])[] = []; + public playerWestTiles: (typeof TILE_TYPES[number])[] = []; + public playerNorthTiles: (typeof TILE_TYPES[number])[] = []; + public turn: Player = 'east'; + + constructor() { + this.tiles = TILE_TYPES.slice(); + this.shuffleTiles(); + } + + public shuffleTiles() { + this.tiles.sort(() => Math.random() - 0.5); + } + + public drawTile(): typeof TILE_TYPES[number] { + return this.tiles.pop()!; + } + + public operation_drop(player: Player, tile: typeof TILE_TYPES[number]) { + if (this.turn !== player) { + throw new Error('Not your turn'); + } + + switch (player) { + case 'east': + this.playerEastTiles.splice(this.playerEastTiles.indexOf(tile), 1); + break; + case 'south': + this.playerSouthTiles.splice(this.playerSouthTiles.indexOf(tile), 1); + break; + case 'west': + this.playerWestTiles.splice(this.playerWestTiles.indexOf(tile), 1); + break; + case 'north': + this.playerNorthTiles.splice(this.playerNorthTiles.indexOf(tile), 1); + break; + } + this.場.push(tile); + } +} From 67e6184a75599c8b3a15dee48eb46363934445bd Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 26 Jan 2024 14:25:00 +0900 Subject: [PATCH 02/64] wip --- Dockerfile | 4 + locales/index.d.ts | 26 + locales/ja-JP.yml | 8 + package.json | 3 +- .../migration/1706234054207-mahjong.js | 24 + packages/backend/package.json | 1 + packages/backend/src/core/CoreModule.ts | 6 + .../backend/src/core/GlobalEventService.ts | 32 ++ packages/backend/src/core/MahjongService.ts | 350 ++++++++++++ packages/backend/src/di-symbols.ts | 1 + packages/backend/src/misc/json-schema.ts | 2 + packages/backend/src/models/MahjongGame.ts | 89 +++ .../backend/src/models/RepositoryModule.ts | 10 +- packages/backend/src/models/_.ts | 3 + .../src/models/json-schema/mahjong-room.ts | 110 ++++ packages/backend/src/postgres.ts | 2 + packages/backend/src/server/ServerModule.ts | 2 + .../backend/src/server/api/EndpointsModule.ts | 12 + packages/backend/src/server/api/endpoints.ts | 6 + .../api/endpoints/mahjong/cancel-match.ts | 44 ++ .../api/endpoints/mahjong/create-room.ts | 44 ++ .../src/server/api/endpoints/mahjong/games.ts | 64 +++ .../server/api/endpoints/mahjong/join-room.ts | 56 ++ .../server/api/endpoints/mahjong/show-room.ts | 54 ++ .../server/api/endpoints/mahjong/verify.ts | 64 +++ .../src/server/api/stream/ChannelsService.ts | 3 + .../api/stream/channels/mahjong-room.ts | 107 ++++ packages/frontend/assets/mahjong/dahai.mp3 | Bin 0 -> 5014 bytes packages/frontend/assets/mahjong/logo.png | Bin 0 -> 164835 bytes packages/frontend/package.json | 1 + .../frontend/src/global/router/definition.ts | 8 + packages/frontend/src/pages/games.vue | 5 + packages/frontend/src/pages/mahjong/index.vue | 166 ++++++ .../frontend/src/pages/mahjong/room.game.vue | 307 ++++++++++ .../src/pages/mahjong/room.setting.vue | 128 +++++ packages/frontend/src/pages/mahjong/room.vue | 113 ++++ packages/frontend/vite.config.ts | 2 +- packages/misskey-js/etc/misskey-js.api.md | 26 +- .../misskey-js/src/autogen/apiClientJSDoc.ts | 37 +- packages/misskey-js/src/autogen/endpoint.ts | 12 +- packages/misskey-js/src/autogen/entities.ts | 9 +- packages/misskey-js/src/autogen/models.ts | 5 +- packages/misskey-js/src/autogen/types.ts | 217 +++++++- packages/misskey-mahjong/.eslintignore | 7 + packages/misskey-mahjong/.eslintrc.cjs | 10 + packages/misskey-mahjong/build.js | 31 ++ packages/misskey-mahjong/package.json | 43 ++ packages/misskey-mahjong/src/engine.ts | 523 ++++++++++++++++++ packages/misskey-mahjong/src/index.ts | 7 + packages/misskey-mahjong/src/serializer.ts | 114 ++++ packages/misskey-mahjong/tsconfig.json | 33 ++ pnpm-lock.yaml | 179 +++--- pnpm-workspace.yaml | 1 + scripts/clean-all.js | 3 + scripts/clean.js | 1 + scripts/dev.mjs | 12 + 56 files changed, 3035 insertions(+), 92 deletions(-) create mode 100644 packages/backend/migration/1706234054207-mahjong.js create mode 100644 packages/backend/src/core/MahjongService.ts create mode 100644 packages/backend/src/models/MahjongGame.ts create mode 100644 packages/backend/src/models/json-schema/mahjong-room.ts create mode 100644 packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts create mode 100644 packages/backend/src/server/api/endpoints/mahjong/create-room.ts create mode 100644 packages/backend/src/server/api/endpoints/mahjong/games.ts create mode 100644 packages/backend/src/server/api/endpoints/mahjong/join-room.ts create mode 100644 packages/backend/src/server/api/endpoints/mahjong/show-room.ts create mode 100644 packages/backend/src/server/api/endpoints/mahjong/verify.ts create mode 100644 packages/backend/src/server/api/stream/channels/mahjong-room.ts create mode 100644 packages/frontend/assets/mahjong/dahai.mp3 create mode 100644 packages/frontend/assets/mahjong/logo.png create mode 100644 packages/frontend/src/pages/mahjong/index.vue create mode 100644 packages/frontend/src/pages/mahjong/room.game.vue create mode 100644 packages/frontend/src/pages/mahjong/room.setting.vue create mode 100644 packages/frontend/src/pages/mahjong/room.vue create mode 100644 packages/misskey-mahjong/.eslintignore create mode 100644 packages/misskey-mahjong/.eslintrc.cjs create mode 100644 packages/misskey-mahjong/build.js create mode 100644 packages/misskey-mahjong/package.json create mode 100644 packages/misskey-mahjong/src/engine.ts create mode 100644 packages/misskey-mahjong/src/index.ts create mode 100644 packages/misskey-mahjong/src/serializer.ts create mode 100644 packages/misskey-mahjong/tsconfig.json diff --git a/Dockerfile b/Dockerfile index a8d3dbcd89..3e54a493d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,6 +26,7 @@ COPY --link ["packages/sw/package.json", "./packages/sw/"] COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"] COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"] +COPY --link ["packages/misskey-mahjong/package.json", "./packages/misskey-mahjong/"] RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ pnpm i --frozen-lockfile --aggregate-output @@ -56,6 +57,7 @@ COPY --link ["packages/backend/package.json", "./packages/backend/"] COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"] COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"] +COPY --link ["packages/misskey-mahjong/package.json", "./packages/misskey-mahjong/"] RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ pnpm i --frozen-lockfile --aggregate-output @@ -85,10 +87,12 @@ COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/nod COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-reversi/node_modules ./packages/misskey-reversi/node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-bubble-game/node_modules ./packages/misskey-bubble-game/node_modules +COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-mahjong/node_modules ./packages/misskey-mahjong/node_modules COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/built ./packages/misskey-js/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built +COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-mahjong/built ./packages/misskey-mahjong/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis COPY --chown=misskey:misskey . ./ diff --git a/locales/index.d.ts b/locales/index.d.ts index 966c2224fb..be020be9b1 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -9604,6 +9604,32 @@ export interface Locale extends ILocale { */ "disallowIrregularRules": string; }; + "_mahjong": { + /** + * 麻雀 + */ + "mahjong": string; + /** + * ルームに参加 + */ + "joinRoom": string; + /** + * ルームを作成 + */ + "createRoom": string; + /** + * 準備完了 + */ + "ready": string; + /** + * 準備を再開 + */ + "cancelReady": string; + /** + * 退室 + */ + "leave": string; + }; "_offlineScreen": { /** * オフライン - サーバーに接続できません diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index b9e7ea4922..fa0dbdbb10 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2559,6 +2559,14 @@ _reversi: allowIrregularRules: "変則許可 (完全フリー)" disallowIrregularRules: "変則なし" +_mahjong: + mahjong: "麻雀" + joinRoom: "ルームに参加" + createRoom: "ルームを作成" + ready: "準備完了" + cancelReady: "準備を再開" + leave: "退室" + _offlineScreen: title: "オフライン - サーバーに接続できません" header: "サーバーに接続できません" diff --git a/package.json b/package.json index 77c7b92270..58140d96c3 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "packages/sw", "packages/misskey-js", "packages/misskey-reversi", - "packages/misskey-bubble-game" + "packages/misskey-bubble-game", + "packages/misskey-mahjong" ], "private": true, "scripts": { diff --git a/packages/backend/migration/1706234054207-mahjong.js b/packages/backend/migration/1706234054207-mahjong.js new file mode 100644 index 0000000000..d4178cf822 --- /dev/null +++ b/packages/backend/migration/1706234054207-mahjong.js @@ -0,0 +1,24 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class Mahjong1706234054207 { + name = 'Mahjong1706234054207' + + async up(queryRunner) { + await queryRunner.query(`CREATE TABLE "mahjong_game" ("id" character varying(32) NOT NULL, "startedAt" TIMESTAMP WITH TIME ZONE, "endedAt" TIMESTAMP WITH TIME ZONE, "user1Id" character varying(32), "user2Id" character varying(32), "user3Id" character varying(32), "user4Id" character varying(32), "isEnded" boolean NOT NULL DEFAULT false, "winnerId" character varying(32), "timeLimitForEachTurn" smallint NOT NULL DEFAULT '90', "logs" jsonb NOT NULL DEFAULT '[]', CONSTRAINT "PK_77db54c0a9785d387e3fbbdd2f0" PRIMARY KEY ("id"))`); + await queryRunner.query(`ALTER TABLE "mahjong_game" ADD CONSTRAINT "FK_b98c78761a845b69e6540401264" FOREIGN KEY ("user1Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE "mahjong_game" ADD CONSTRAINT "FK_f17b0ba519ae28f188a7915ad6f" FOREIGN KEY ("user2Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE "mahjong_game" ADD CONSTRAINT "FK_64314ffd3cb59475b0d06330058" FOREIGN KEY ("user3Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE "mahjong_game" ADD CONSTRAINT "FK_58a75f1ea2a810ae3986f72a0e3" FOREIGN KEY ("user4Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "mahjong_game" DROP CONSTRAINT "FK_58a75f1ea2a810ae3986f72a0e3"`); + await queryRunner.query(`ALTER TABLE "mahjong_game" DROP CONSTRAINT "FK_64314ffd3cb59475b0d06330058"`); + await queryRunner.query(`ALTER TABLE "mahjong_game" DROP CONSTRAINT "FK_f17b0ba519ae28f188a7915ad6f"`); + await queryRunner.query(`ALTER TABLE "mahjong_game" DROP CONSTRAINT "FK_b98c78761a845b69e6540401264"`); + await queryRunner.query(`DROP TABLE "mahjong_game"`); + } +} diff --git a/packages/backend/package.json b/packages/backend/package.json index 9551991b34..65b5cbcb36 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -134,6 +134,7 @@ "mime-types": "2.1.35", "misskey-js": "workspace:*", "misskey-reversi": "workspace:*", + "misskey-mahjong": "workspace:*", "ms": "3.0.0-canary.1", "nanoid": "5.0.4", "nested-property": "4.0.0", diff --git a/packages/backend/src/core/CoreModule.ts b/packages/backend/src/core/CoreModule.ts index c9e285346e..81c7559b66 100644 --- a/packages/backend/src/core/CoreModule.ts +++ b/packages/backend/src/core/CoreModule.ts @@ -67,6 +67,7 @@ import { FanoutTimelineService } from './FanoutTimelineService.js'; import { ChannelFollowingService } from './ChannelFollowingService.js'; import { RegistryApiService } from './RegistryApiService.js'; import { ReversiService } from './ReversiService.js'; +import { MahjongService } from './MahjongService.js'; import { ChartLoggerService } from './chart/ChartLoggerService.js'; import FederationChart from './chart/charts/federation.js'; @@ -205,6 +206,7 @@ const $FanoutTimelineEndpointService: Provider = { provide: 'FanoutTimelineEndpo const $ChannelFollowingService: Provider = { provide: 'ChannelFollowingService', useExisting: ChannelFollowingService }; const $RegistryApiService: Provider = { provide: 'RegistryApiService', useExisting: RegistryApiService }; const $ReversiService: Provider = { provide: 'ReversiService', useExisting: ReversiService }; +const $MahjongService: Provider = { provide: 'MahjongService', useExisting: MahjongService }; const $ChartLoggerService: Provider = { provide: 'ChartLoggerService', useExisting: ChartLoggerService }; const $FederationChart: Provider = { provide: 'FederationChart', useExisting: FederationChart }; @@ -344,6 +346,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting ChannelFollowingService, RegistryApiService, ReversiService, + MahjongService, ChartLoggerService, FederationChart, @@ -479,6 +482,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting $ChannelFollowingService, $RegistryApiService, $ReversiService, + $MahjongService, $ChartLoggerService, $FederationChart, @@ -615,6 +619,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting ChannelFollowingService, RegistryApiService, ReversiService, + MahjongService, FederationChart, NotesChart, @@ -749,6 +754,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting $ChannelFollowingService, $RegistryApiService, $ReversiService, + $MahjongService, $FederationChart, $NotesChart, diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index 5b4c8cb44f..a2fc255e05 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -6,6 +6,7 @@ import { Inject, Injectable } from '@nestjs/common'; import * as Redis from 'ioredis'; import * as Reversi from 'misskey-reversi'; +import * as Mahjong from 'misskey-mahjong'; import type { MiChannel } from '@/models/Channel.js'; import type { MiUser } from '@/models/User.js'; import type { MiUserProfile } from '@/models/UserProfile.js'; @@ -192,6 +193,28 @@ export interface ReversiGameEventTypes { userId: MiUser['id']; }; } + +export interface MahjongRoomEventTypes { + changeReadyStates: { + user1: boolean; + user2: boolean; + user3: boolean; + user4: boolean; + }; + tsumo: { + house: Mahjong.Engine.House; + tile: Mahjong.Engine.Tile; + }; + dahai: { + house: Mahjong.Engine.House; + tile: Mahjong.Engine.Tile; + }; + dahaiAndTsumo: { + house: Mahjong.Engine.House; + dahaiTile: Mahjong.Engine.Tile; + tsumoTile: Mahjong.Engine.Tile; + }; +} //#endregion // 辞書(interface or type)から{ type, body }ユニオンを定義 @@ -290,6 +313,10 @@ export type GlobalEvents = { name: `reversiGameStream:${MiReversiGame['id']}`; payload: EventUnionFromDictionary>; }; + mahjongRoom: { + name: `mahjongRoomStream:${string}`; + payload: EventUnionFromDictionary>; + }; }; // API event definitions @@ -389,4 +416,9 @@ export class GlobalEventService { public publishReversiGameStream(gameId: MiReversiGame['id'], type: K, value?: ReversiGameEventTypes[K]): void { this.publish(`reversiGameStream:${gameId}`, type, typeof value === 'undefined' ? null : value); } + + @bindThis + public publishMahjongRoomStream(roomId: string, type: K, value?: MahjongRoomEventTypes[K]): void { + this.publish(`mahjongRoomStream:${roomId}`, type, typeof value === 'undefined' ? null : value); + } } diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts new file mode 100644 index 0000000000..4d385a0399 --- /dev/null +++ b/packages/backend/src/core/MahjongService.ts @@ -0,0 +1,350 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Inject, Injectable } from '@nestjs/common'; +import * as Redis from 'ioredis'; +import { ModuleRef } from '@nestjs/core'; +import { IsNull, LessThan, MoreThan } from 'typeorm'; +import * as Mahjong from 'misskey-mahjong'; +import type { + MiMahjongGame, + MahjongGamesRepository, +} from '@/models/_.js'; +import type { MiUser } from '@/models/User.js'; +import { DI } from '@/di-symbols.js'; +import { bindThis } from '@/decorators.js'; +import { CacheService } from '@/core/CacheService.js'; +import { UserEntityService } from '@/core/entities/UserEntityService.js'; +import { GlobalEventService } from '@/core/GlobalEventService.js'; +import { IdService } from '@/core/IdService.js'; +import { NotificationService } from '@/core/NotificationService.js'; +import { Serialized } from '@/types.js'; +import { Packed } from '@/misc/json-schema.js'; +import { ReversiGameEntityService } from './entities/ReversiGameEntityService.js'; +import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; + +const INVITATION_TIMEOUT_MS = 1000 * 20; // 20sec +const PON_TIMEOUT_MS = 1000 * 10; // 10sec +const DAHAI_TIMEOUT_MS = 1000 * 30; // 30sec + +type Room = { + id: string; + user1Id: MiUser['id']; + user2Id: MiUser['id'] | null; + user3Id: MiUser['id'] | null; + user4Id: MiUser['id'] | null; + user1: Packed<'UserLite'> | null; + user2: Packed<'UserLite'> | null; + user3: Packed<'UserLite'> | null; + user4: Packed<'UserLite'> | null; + user1Ai?: boolean; + user2Ai?: boolean; + user3Ai?: boolean; + user4Ai?: boolean; + user1Ready: boolean; + user2Ready: boolean; + user3Ready: boolean; + user4Ready: boolean; + user1Offline?: boolean; + user2Offline?: boolean; + user3Offline?: boolean; + user4Offline?: boolean; + isStarted?: boolean; + + gameState?: Mahjong.Engine.MasterState; +}; + +@Injectable() +export class MahjongService implements OnApplicationShutdown, OnModuleInit { + private notificationService: NotificationService; + + constructor( + private moduleRef: ModuleRef, + + @Inject(DI.redis) + private redisClient: Redis.Redis, + + //@Inject(DI.mahjongGamesRepository) + //private mahjongGamesRepository: MahjongGamesRepository, + + private cacheService: CacheService, + private userEntityService: UserEntityService, + private globalEventService: GlobalEventService, + private reversiGameEntityService: ReversiGameEntityService, + private idService: IdService, + ) { + } + async onModuleInit() { + this.notificationService = this.moduleRef.get(NotificationService.name); + } + + @bindThis + private async saveRoom(room: Room) { + await this.redisClient.set(`mahjong:room:${room.id}`, JSON.stringify(room), 'EX', 60 * 30); + } + + @bindThis + public async createRoom(user: MiUser): Promise { + const room: Room = { + id: this.idService.gen(), + user1Id: user.id, + user2Id: null, + user3Id: null, + user4Id: null, + user1: await this.userEntityService.pack(user), + user1Ready: false, + user2Ready: false, + user3Ready: false, + user4Ready: false, + }; + await this.saveRoom(room); + return room; + } + + @bindThis + public async getRoom(id: Room['id']): Promise { + const room = await this.redisClient.get(`mahjong:room:${id}`); + if (!room) return null; + const parsed = JSON.parse(room); + return { + ...parsed, + }; + } + + @bindThis + public async joinRoom(roomId: Room['id'], user: MiUser): Promise { + const room = await this.getRoom(roomId); + if (!room) return null; + if (room.user1Id === user.id) return room; + if (room.user2Id === user.id) return room; + if (room.user3Id === user.id) return room; + if (room.user4Id === user.id) return room; + if (room.user2Id === null) { + room.user2Id = user.id; + room.user2 = await this.userEntityService.pack(user); + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 2, user: room.user2 }); + return room; + } + if (room.user3Id === null) { + room.user3Id = user.id; + room.user3 = await this.userEntityService.pack(user); + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 3, user: room.user3 }); + return room; + } + if (room.user4Id === null) { + room.user4Id = user.id; + room.user4 = await this.userEntityService.pack(user); + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 4, user: room.user4 }); + return room; + } + + return null; + } + + @bindThis + public async addAi(roomId: Room['id'], user: MiUser): Promise { + const room = await this.getRoom(roomId); + if (!room) return null; + if (room.user1Id !== user.id) throw new Error('access denied'); + + if (room.user2Id == null) { + room.user2Ai = true; + room.user2Ready = true; + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 2, user: null }); + return room; + } + if (room.user3Id == null) { + room.user3Ai = true; + room.user3Ready = true; + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 3, user: null }); + return room; + } + if (room.user4Id == null) { + room.user4Ai = true; + room.user4Ready = true; + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 4, user: null }); + return room; + } + + return null; + } + + @bindThis + public async leaveRoom(roomId: Room['id'], user: MiUser): Promise { + const room = await this.getRoom(roomId); + if (!room) return null; + if (room.user1Id === user.id) { + room.user1Id = null; + room.user1 = null; + await this.saveRoom(room); + return room; + } + if (room.user2Id === user.id) { + room.user2Id = null; + room.user2 = null; + await this.saveRoom(room); + return room; + } + if (room.user3Id === user.id) { + room.user3Id = null; + room.user3 = null; + await this.saveRoom(room); + return room; + } + if (room.user4Id === user.id) { + room.user4Id = null; + room.user4 = null; + await this.saveRoom(room); + return room; + } + return null; + } + + @bindThis + public async changeReadyState(roomId: Room['id'], user: MiUser, ready: boolean): Promise { + const room = await this.getRoom(roomId); + if (!room) return; + + if (room.user1Id === user.id) { + room.user1Ready = ready; + await this.saveRoom(room); + } + if (room.user2Id === user.id) { + room.user2Ready = ready; + await this.saveRoom(room); + } + if (room.user3Id === user.id) { + room.user3Ready = ready; + await this.saveRoom(room); + } + if (room.user4Id === user.id) { + room.user4Ready = ready; + await this.saveRoom(room); + } + + this.globalEventService.publishMahjongRoomStream(room.id, 'changeReadyStates', { + user1: room.user1Ready, + user2: room.user2Ready, + user3: room.user3Ready, + user4: room.user4Ready, + }); + + if (room.user1Ready && room.user2Ready && room.user3Ready && room.user4Ready) { + await this.startGame(room); + } + } + + @bindThis + public async startGame(room: Room) { + if (!room.user1Ready || !room.user2Ready || !room.user3Ready || !room.user4Ready) { + throw new Error('Not ready'); + } + + room.gameState = Mahjong.Engine.MasterGameEngine.createInitialState(); + room.isStarted = true; + + await this.saveRoom(room); + + const packed = await this.packRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'started', { room: packed }); + + return room; + } + + @bindThis + public async packRoom(room: Room, me: MiUser) { + return { + ...room, + }; + } + + @bindThis + private async dahai(room: Room, engine: Mahjong.Engine.MasterGameEngine, user: MiUser, tile: Mahjong.Engine.Tile) { + const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const res = engine.op_dahai(myHouse, tile); + if (res.canPonHouse) { + // TODO: 家がCPUだった場合の処理 + this.redisClient.set(`mahjong:gamePonAsking:${room.id}`, ''); + const waitingStartedAt = Date.now(); + const interval = setInterval(async () => { + const waiting = await this.redisClient.get(`mahjong:gamePonAsking:${room.id}`); + if (waiting == null) { + clearInterval(interval); + return; + } + if (Date.now() - waitingStartedAt > PON_TIMEOUT_MS) { + await this.redisClient.del(`mahjong:gamePonAsking:${room.id}`); + clearInterval(interval); + const res = engine.op_noOnePon(); + this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); + return; + } + }, 2000); + this.globalEventService.publishMahjongRoomStream(room.id, 'dahai', { house: myHouse, tile }); + } else { + this.globalEventService.publishMahjongRoomStream(room.id, 'dahaiAndTsumo', { house: myHouse, dahaiTile: tile, tsumoTile: res.tsumoTile }); + } + } + + @bindThis + public async op_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + await this.redisClient.del(`mahjong:gameDahaiWaiting:${room.id}`); + + const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + await this.dahai(room, engine, user, tile); + } + + @bindThis + public async op_pon(roomId: MiMahjongGame['id'], user: MiUser) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const res = engine.op_pon(myHouse); + this.waitForDahai(room, user, engine); + } + + @bindThis + private async waitForDahai(game: Room, user: MiUser, engine: Mahjong.Engine.MasterGameEngine) { + this.redisClient.set(`mahjong:gameDahaiWaiting:${game.id}`, ''); + const waitingStartedAt = Date.now(); + const interval = setInterval(async () => { + const waiting = await this.redisClient.get(`mahjong:gameDahaiWaiting:${game.id}`); + if (waiting == null) { + clearInterval(interval); + return; + } + if (Date.now() - waitingStartedAt > DAHAI_TIMEOUT_MS) { + await this.redisClient.del(`mahjong:gameDahaiWaiting:${game.id}`); + clearInterval(interval); + const house = game.user1Id === user.id ? engine.state.user1House : game.user2Id === user.id ? engine.state.user2House : game.user3Id === user.id ? engine.state.user3House : engine.state.user4House; + const handTiles = house === 'e' ? engine.state.eHandTiles : house === 's' ? engine.state.sHandTiles : house === 'w' ? engine.state.wHandTiles : engine.state.nHandTiles; + await this.dahai(game, engine, user, handTiles.at(-1)); + return; + } + }, 2000); + } + + @bindThis + public dispose(): void { + } + + @bindThis + public onApplicationShutdown(signal?: string | undefined): void { + this.dispose(); + } +} diff --git a/packages/backend/src/di-symbols.ts b/packages/backend/src/di-symbols.ts index 73de01f33a..cca6b08132 100644 --- a/packages/backend/src/di-symbols.ts +++ b/packages/backend/src/di-symbols.ts @@ -80,5 +80,6 @@ export const DI = { userMemosRepository: Symbol('userMemosRepository'), bubbleGameRecordsRepository: Symbol('bubbleGameRecordsRepository'), reversiGamesRepository: Symbol('reversiGamesRepository'), + mahjongGamesRepository: Symbol('mahjongGamesRepository'), //#endregion }; diff --git a/packages/backend/src/misc/json-schema.ts b/packages/backend/src/misc/json-schema.ts index b4f0541712..62586ff827 100644 --- a/packages/backend/src/misc/json-schema.ts +++ b/packages/backend/src/misc/json-schema.ts @@ -40,6 +40,7 @@ import { packedSigninSchema } from '@/models/json-schema/signin.js'; import { packedRoleLiteSchema, packedRoleSchema } from '@/models/json-schema/role.js'; import { packedAdSchema } from '@/models/json-schema/ad.js'; import { packedReversiGameLiteSchema, packedReversiGameDetailedSchema } from '@/models/json-schema/reversi-game.js'; +import { packedMahjongRoomDetailedSchema } from '@/models/json-schema/mahjong-room.js'; export const refs = { UserLite: packedUserLiteSchema, @@ -81,6 +82,7 @@ export const refs = { Role: packedRoleSchema, ReversiGameLite: packedReversiGameLiteSchema, ReversiGameDetailed: packedReversiGameDetailedSchema, + MahjongRoomDetailed: packedMahjongRoomDetailedSchema, }; export type Packed = SchemaType; diff --git a/packages/backend/src/models/MahjongGame.ts b/packages/backend/src/models/MahjongGame.ts new file mode 100644 index 0000000000..eaef2be891 --- /dev/null +++ b/packages/backend/src/models/MahjongGame.ts @@ -0,0 +1,89 @@ +import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm'; +import { id } from './util/id.js'; +import { MiUser } from './User.js'; + +@Entity('mahjong_game') +export class MiMahjongGame { + @PrimaryColumn(id()) + public id: string; + + @Column('timestamp with time zone', { + nullable: true, + }) + public startedAt: Date | null; + + @Column('timestamp with time zone', { + nullable: true, + }) + public endedAt: Date | null; + + @Column({ + ...id(), + nullable: true, + }) + public user1Id: MiUser['id'] | null; + + @ManyToOne(type => MiUser, { + onDelete: 'CASCADE', + }) + @JoinColumn() + public user1: MiUser | null; + + @Column({ + ...id(), + nullable: true, + }) + public user2Id: MiUser['id'] | null; + + @ManyToOne(type => MiUser, { + onDelete: 'CASCADE', + }) + @JoinColumn() + public user2: MiUser | null; + + @Column({ + ...id(), + nullable: true, + }) + public user3Id: MiUser['id'] | null; + + @ManyToOne(type => MiUser, { + onDelete: 'CASCADE', + }) + @JoinColumn() + public user3: MiUser | null; + + @Column({ + ...id(), + nullable: true, + }) + public user4Id: MiUser['id'] | null; + + @ManyToOne(type => MiUser, { + onDelete: 'CASCADE', + }) + @JoinColumn() + public user4: MiUser | null; + + @Column('boolean', { + default: false, + }) + public isEnded: boolean; + + @Column({ + ...id(), + nullable: true, + }) + public winnerId: MiUser['id'] | null; + + // in sec + @Column('smallint', { + default: 90, + }) + public timeLimitForEachTurn: number; + + @Column('jsonb', { + default: [], + }) + public logs: number[][]; +} diff --git a/packages/backend/src/models/RepositoryModule.ts b/packages/backend/src/models/RepositoryModule.ts index 2b2aaeb91c..6b753b62cd 100644 --- a/packages/backend/src/models/RepositoryModule.ts +++ b/packages/backend/src/models/RepositoryModule.ts @@ -5,7 +5,7 @@ import { Module } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; -import { MiAbuseUserReport, MiAccessToken, MiAd, MiAnnouncement, MiAnnouncementRead, MiAntenna, MiApp, MiAuthSession, MiAvatarDecoration, MiBlocking, MiChannel, MiChannelFavorite, MiChannelFollowing, MiClip, MiClipFavorite, MiClipNote, MiDriveFile, MiDriveFolder, MiEmoji, MiFlash, MiFlashLike, MiFollowRequest, MiFollowing, MiGalleryLike, MiGalleryPost, MiHashtag, MiInstance, MiMeta, MiModerationLog, MiMuting, MiNote, MiNoteFavorite, MiNoteReaction, MiNoteThreadMuting, MiNoteUnread, MiPage, MiPageLike, MiPasswordResetRequest, MiPoll, MiPollVote, MiPromoNote, MiPromoRead, MiRegistrationTicket, MiRegistryItem, MiRelay, MiRenoteMuting, MiRetentionAggregation, MiRole, MiRoleAssignment, MiSignin, MiSwSubscription, MiUsedUsername, MiUser, MiUserIp, MiUserKeypair, MiUserList, MiUserListFavorite, MiUserListMembership, MiUserMemo, MiUserNotePining, MiUserPending, MiUserProfile, MiUserPublickey, MiUserSecurityKey, MiWebhook, MiBubbleGameRecord, MiReversiGame } from './_.js'; +import { MiAbuseUserReport, MiAccessToken, MiAd, MiAnnouncement, MiAnnouncementRead, MiAntenna, MiApp, MiAuthSession, MiAvatarDecoration, MiBlocking, MiChannel, MiChannelFavorite, MiChannelFollowing, MiClip, MiClipFavorite, MiClipNote, MiDriveFile, MiDriveFolder, MiEmoji, MiFlash, MiFlashLike, MiFollowRequest, MiFollowing, MiGalleryLike, MiGalleryPost, MiHashtag, MiInstance, MiMeta, MiModerationLog, MiMuting, MiNote, MiNoteFavorite, MiNoteReaction, MiNoteThreadMuting, MiNoteUnread, MiPage, MiPageLike, MiPasswordResetRequest, MiPoll, MiPollVote, MiPromoNote, MiPromoRead, MiRegistrationTicket, MiRegistryItem, MiRelay, MiRenoteMuting, MiRetentionAggregation, MiRole, MiRoleAssignment, MiSignin, MiSwSubscription, MiUsedUsername, MiUser, MiUserIp, MiUserKeypair, MiUserList, MiUserListFavorite, MiUserListMembership, MiUserMemo, MiUserNotePining, MiUserPending, MiUserProfile, MiUserPublickey, MiUserSecurityKey, MiWebhook, MiBubbleGameRecord, MiReversiGame, MiMahjongGame } from './_.js'; import type { DataSource } from 'typeorm'; import type { Provider } from '@nestjs/common'; @@ -411,6 +411,12 @@ const $reversiGamesRepository: Provider = { inject: [DI.db], }; +const $mahjongGamesRepository: Provider = { + provide: DI.mahjongGamesRepository, + useFactory: (db: DataSource) => db.getRepository(MiMahjongGame), + inject: [DI.db], +}; + @Module({ imports: [ ], @@ -482,6 +488,7 @@ const $reversiGamesRepository: Provider = { $userMemosRepository, $bubbleGameRecordsRepository, $reversiGamesRepository, + $mahjongGamesRepository, ], exports: [ $usersRepository, @@ -551,6 +558,7 @@ const $reversiGamesRepository: Provider = { $userMemosRepository, $bubbleGameRecordsRepository, $reversiGamesRepository, + $mahjongGamesRepository, ], }) export class RepositoryModule {} diff --git a/packages/backend/src/models/_.ts b/packages/backend/src/models/_.ts index a1a0d8823d..665f04f9ee 100644 --- a/packages/backend/src/models/_.ts +++ b/packages/backend/src/models/_.ts @@ -70,6 +70,7 @@ import { MiFlashLike } from '@/models/FlashLike.js'; import { MiUserListFavorite } from '@/models/UserListFavorite.js'; import { MiBubbleGameRecord } from '@/models/BubbleGameRecord.js'; import { MiReversiGame } from '@/models/ReversiGame.js'; +import { MiMahjongGame } from '@/models/MahjongGame.js'; import type { Repository } from 'typeorm'; @@ -141,6 +142,7 @@ export { MiUserMemo, MiBubbleGameRecord, MiReversiGame, + MiMahjongGame, }; export type AbuseUserReportsRepository = Repository; @@ -210,3 +212,4 @@ export type FlashLikesRepository = Repository; export type UserMemoRepository = Repository; export type BubbleGameRecordsRepository = Repository; export type ReversiGamesRepository = Repository; +export type MahjongGamesRepository = Repository; diff --git a/packages/backend/src/models/json-schema/mahjong-room.ts b/packages/backend/src/models/json-schema/mahjong-room.ts new file mode 100644 index 0000000000..71d5f268ff --- /dev/null +++ b/packages/backend/src/models/json-schema/mahjong-room.ts @@ -0,0 +1,110 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export const packedMahjongRoomDetailedSchema = { + type: 'object', + properties: { + id: { + type: 'string', + optional: false, nullable: false, + format: 'id', + }, + createdAt: { + type: 'string', + optional: false, nullable: false, + format: 'date-time', + }, + startedAt: { + type: 'string', + optional: false, nullable: true, + format: 'date-time', + }, + endedAt: { + type: 'string', + optional: false, nullable: true, + format: 'date-time', + }, + isStarted: { + type: 'boolean', + optional: false, nullable: false, + }, + isEnded: { + type: 'boolean', + optional: false, nullable: false, + }, + user1Id: { + type: 'string', + optional: false, nullable: null, + format: 'id', + }, + user2Id: { + type: 'string', + optional: false, nullable: null, + format: 'id', + }, + user3Id: { + type: 'string', + optional: false, nullable: null, + format: 'id', + }, + user4Id: { + type: 'string', + optional: false, nullable: null, + format: 'id', + }, + user1: { + type: 'object', + optional: false, nullable: null, + ref: 'User', + }, + user2: { + type: 'object', + optional: false, nullable: null, + ref: 'User', + }, + user3: { + type: 'object', + optional: false, nullable: null, + ref: 'User', + }, + user4: { + type: 'object', + optional: false, nullable: null, + ref: 'User', + }, + user1Ai: { + type: 'boolean', + optional: false, nullable: false, + }, + user2Ai: { + type: 'boolean', + optional: false, nullable: false, + }, + user3Ai: { + type: 'boolean', + optional: false, nullable: false, + }, + user4Ai: { + type: 'boolean', + optional: false, nullable: false, + }, + user1Ready: { + type: 'boolean', + optional: false, nullable: false, + }, + user2Ready: { + type: 'boolean', + optional: false, nullable: false, + }, + user3Ready: { + type: 'boolean', + optional: false, nullable: false, + }, + user4Ready: { + type: 'boolean', + optional: false, nullable: false, + }, + }, +} as const; diff --git a/packages/backend/src/postgres.ts b/packages/backend/src/postgres.ts index 543cedc867..5f94348743 100644 --- a/packages/backend/src/postgres.ts +++ b/packages/backend/src/postgres.ts @@ -78,6 +78,7 @@ import { MiFlashLike } from '@/models/FlashLike.js'; import { MiUserMemo } from '@/models/UserMemo.js'; import { MiBubbleGameRecord } from '@/models/BubbleGameRecord.js'; import { MiReversiGame } from '@/models/ReversiGame.js'; +import { MiMahjongGame } from '@/models/MahjongGame.js'; import { Config } from '@/config.js'; import MisskeyLogger from '@/logger.js'; @@ -194,6 +195,7 @@ export const entities = [ MiUserMemo, MiBubbleGameRecord, MiReversiGame, + MiMahjongGame, ...charts, ]; diff --git a/packages/backend/src/server/ServerModule.ts b/packages/backend/src/server/ServerModule.ts index aed352d15e..b616c460f4 100644 --- a/packages/backend/src/server/ServerModule.ts +++ b/packages/backend/src/server/ServerModule.ts @@ -45,6 +45,7 @@ import { UserListChannelService } from './api/stream/channels/user-list.js'; import { RoleTimelineChannelService } from './api/stream/channels/role-timeline.js'; import { ReversiChannelService } from './api/stream/channels/reversi.js'; import { ReversiGameChannelService } from './api/stream/channels/reversi-game.js'; +import { MahjongRoomChannelService } from './api/stream/channels/mahjong-room.js'; @Module({ imports: [ @@ -82,6 +83,7 @@ import { ReversiGameChannelService } from './api/stream/channels/reversi-game.js RoleTimelineChannelService, ReversiChannelService, ReversiGameChannelService, + MahjongRoomChannelService, HomeTimelineChannelService, HybridTimelineChannelService, LocalTimelineChannelService, diff --git a/packages/backend/src/server/api/EndpointsModule.ts b/packages/backend/src/server/api/EndpointsModule.ts index e74441834e..09b90b6b1b 100644 --- a/packages/backend/src/server/api/EndpointsModule.ts +++ b/packages/backend/src/server/api/EndpointsModule.ts @@ -373,6 +373,9 @@ import * as ep___reversi_invitations from './endpoints/reversi/invitations.js'; import * as ep___reversi_showGame from './endpoints/reversi/show-game.js'; import * as ep___reversi_surrender from './endpoints/reversi/surrender.js'; import * as ep___reversi_verify from './endpoints/reversi/verify.js'; +import * as ep___mahjong_createRoom from './endpoints/mahjong/create-room.js'; +import * as ep___mahjong_joinRoom from './endpoints/mahjong/join-room.js'; +import * as ep___mahjong_showRoom from './endpoints/mahjong/show-room.js'; import { GetterService } from './GetterService.js'; import { ApiLoggerService } from './ApiLoggerService.js'; import type { Provider } from '@nestjs/common'; @@ -744,6 +747,9 @@ const $reversi_invitations: Provider = { provide: 'ep:reversi/invitations', useC const $reversi_showGame: Provider = { provide: 'ep:reversi/show-game', useClass: ep___reversi_showGame.default }; const $reversi_surrender: Provider = { provide: 'ep:reversi/surrender', useClass: ep___reversi_surrender.default }; const $reversi_verify: Provider = { provide: 'ep:reversi/verify', useClass: ep___reversi_verify.default }; +const $mahjong_createRoom: Provider = { provide: 'ep:mahjong/create-room', useClass: ep___mahjong_createRoom.default }; +const $mahjong_joinRoom: Provider = { provide: 'ep:mahjong/join-room', useClass: ep___mahjong_joinRoom.default }; +const $mahjong_showRoom: Provider = { provide: 'ep:mahjong/show-room', useClass: ep___mahjong_showRoom.default }; @Module({ imports: [ @@ -1119,6 +1125,9 @@ const $reversi_verify: Provider = { provide: 'ep:reversi/verify', useClass: ep__ $reversi_showGame, $reversi_surrender, $reversi_verify, + $mahjong_createRoom, + $mahjong_joinRoom, + $mahjong_showRoom, ], exports: [ $admin_meta, @@ -1485,6 +1494,9 @@ const $reversi_verify: Provider = { provide: 'ep:reversi/verify', useClass: ep__ $reversi_showGame, $reversi_surrender, $reversi_verify, + $mahjong_createRoom, + $mahjong_joinRoom, + $mahjong_showRoom, ], }) export class EndpointsModule {} diff --git a/packages/backend/src/server/api/endpoints.ts b/packages/backend/src/server/api/endpoints.ts index 4a88216d06..d64ead65e6 100644 --- a/packages/backend/src/server/api/endpoints.ts +++ b/packages/backend/src/server/api/endpoints.ts @@ -374,6 +374,9 @@ import * as ep___reversi_invitations from './endpoints/reversi/invitations.js'; import * as ep___reversi_showGame from './endpoints/reversi/show-game.js'; import * as ep___reversi_surrender from './endpoints/reversi/surrender.js'; import * as ep___reversi_verify from './endpoints/reversi/verify.js'; +import * as ep___mahjong_createRoom from './endpoints/mahjong/create-room.js'; +import * as ep___mahjong_joinRoom from './endpoints/mahjong/join-room.js'; +import * as ep___mahjong_showRoom from './endpoints/mahjong/show-room.js'; const eps = [ ['admin/meta', ep___admin_meta], @@ -743,6 +746,9 @@ const eps = [ ['reversi/show-game', ep___reversi_showGame], ['reversi/surrender', ep___reversi_surrender], ['reversi/verify', ep___reversi_verify], + ['mahjong/create-room', ep___mahjong_createRoom], + ['mahjong/join-room', ep___mahjong_joinRoom], + ['mahjong/show-room', ep___mahjong_showRoom], ]; interface IEndpointMetaBase { diff --git a/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts b/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts new file mode 100644 index 0000000000..8edc049500 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts @@ -0,0 +1,44 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Injectable } from '@nestjs/common'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { ReversiService } from '@/core/ReversiService.js'; + +export const meta = { + requireCredential: true, + + kind: 'write:account', + + errors: { + }, + + res: { + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + userId: { type: 'string', format: 'misskey:id', nullable: true }, + }, + required: [], +} as const; + +@Injectable() +export default class extends Endpoint { // eslint-disable-line import/no-default-export + constructor( + private reversiService: ReversiService, + ) { + super(meta, paramDef, async (ps, me) => { + if (ps.userId) { + await this.reversiService.matchSpecificUserCancel(me, ps.userId); + return; + } else { + await this.reversiService.matchAnyUserCancel(me); + } + }); + } +} diff --git a/packages/backend/src/server/api/endpoints/mahjong/create-room.ts b/packages/backend/src/server/api/endpoints/mahjong/create-room.ts new file mode 100644 index 0000000000..4689a62af3 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/mahjong/create-room.ts @@ -0,0 +1,44 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Injectable } from '@nestjs/common'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { MahjongService } from '@/core/MahjongService.js'; +import { ApiError } from '../../error.js'; + +export const meta = { + requireCredential: true, + + kind: 'write:account', + + errors: { + + }, + + res: { + type: 'object', + optional: false, nullable: false, + ref: 'MahjongRoomDetailed', + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + }, + required: [], +} as const; + +@Injectable() +export default class extends Endpoint { // eslint-disable-line import/no-default-export + constructor( + private mahjongService: MahjongService, + ) { + super(meta, paramDef, async (ps, me) => { + const room = await this.mahjongService.createRoom(me); + return await this.mahjongService.packRoom(room, me); + }); + } +} diff --git a/packages/backend/src/server/api/endpoints/mahjong/games.ts b/packages/backend/src/server/api/endpoints/mahjong/games.ts new file mode 100644 index 0000000000..c1b2ff1702 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/mahjong/games.ts @@ -0,0 +1,64 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Inject, Injectable } from '@nestjs/common'; +import { Brackets } from 'typeorm'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { ReversiGameEntityService } from '@/core/entities/ReversiGameEntityService.js'; +import { DI } from '@/di-symbols.js'; +import type { ReversiGamesRepository } from '@/models/_.js'; +import { QueryService } from '@/core/QueryService.js'; + +export const meta = { + requireCredential: false, + + res: { + type: 'array', + optional: false, nullable: false, + items: { ref: 'ReversiGameLite' }, + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, + sinceId: { type: 'string', format: 'misskey:id' }, + untilId: { type: 'string', format: 'misskey:id' }, + my: { type: 'boolean', default: false }, + }, + required: [], +} as const; + +@Injectable() +export default class extends Endpoint { // eslint-disable-line import/no-default-export + constructor( + @Inject(DI.reversiGamesRepository) + private reversiGamesRepository: ReversiGamesRepository, + + private reversiGameEntityService: ReversiGameEntityService, + private queryService: QueryService, + ) { + super(meta, paramDef, async (ps, me) => { + const query = this.queryService.makePaginationQuery(this.reversiGamesRepository.createQueryBuilder('game'), ps.sinceId, ps.untilId) + .innerJoinAndSelect('game.user1', 'user1') + .innerJoinAndSelect('game.user2', 'user2'); + + if (ps.my && me) { + query.andWhere(new Brackets(qb => { + qb + .where('game.user1Id = :userId', { userId: me.id }) + .orWhere('game.user2Id = :userId', { userId: me.id }); + })); + } else { + query.andWhere('game.isStarted = TRUE'); + } + + const games = await query.take(ps.limit).getMany(); + + return await this.reversiGameEntityService.packLiteMany(games); + }); + } +} diff --git a/packages/backend/src/server/api/endpoints/mahjong/join-room.ts b/packages/backend/src/server/api/endpoints/mahjong/join-room.ts new file mode 100644 index 0000000000..47a7dd8472 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/mahjong/join-room.ts @@ -0,0 +1,56 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Injectable } from '@nestjs/common'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { MahjongService } from '@/core/MahjongService.js'; +import { ApiError } from '../../error.js'; + +export const meta = { + requireCredential: true, + + kind: 'write:account', + + errors: { + noSuchRoom: { + message: 'No such room.', + code: 'NO_SUCH_ROOM', + id: '370e42b0-2a67-4306-9328-51c5f568f110', + }, + }, + + res: { + type: 'object', + optional: false, nullable: false, + ref: 'MahjongRoomDetailed', + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + roomId: { type: 'string', format: 'misskey:id' }, + }, + required: ['roomId'], +} as const; + +@Injectable() +export default class extends Endpoint { // eslint-disable-line import/no-default-export + constructor( + private mahjongService: MahjongService, + ) { + super(meta, paramDef, async (ps, me) => { + const room = await this.mahjongService.getRoom(ps.roomId); + + if (room == null) { + throw new ApiError(meta.errors.noSuchRoom); + } + + await this.mahjongService.joinRoom(room.id, me); + + return await this.mahjongService.packRoom(room, me); + }); + } +} diff --git a/packages/backend/src/server/api/endpoints/mahjong/show-room.ts b/packages/backend/src/server/api/endpoints/mahjong/show-room.ts new file mode 100644 index 0000000000..a1b7074c49 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/mahjong/show-room.ts @@ -0,0 +1,54 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Injectable } from '@nestjs/common'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { MahjongService } from '@/core/MahjongService.js'; +import { ApiError } from '../../error.js'; + +export const meta = { + requireCredential: true, + + kind: 'read:account', + + errors: { + noSuchRoom: { + message: 'No such room.', + code: 'NO_SUCH_ROOM', + id: 'd77df68f-06f3-492b-9078-e6f72f4acf23', + }, + }, + + res: { + type: 'object', + optional: false, nullable: false, + ref: 'MahjongRoomDetailed', + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + roomId: { type: 'string', format: 'misskey:id' }, + }, + required: ['roomId'], +} as const; + +@Injectable() +export default class extends Endpoint { // eslint-disable-line import/no-default-export + constructor( + private mahjongService: MahjongService, + ) { + super(meta, paramDef, async (ps, me) => { + const room = await this.mahjongService.getRoom(ps.roomId); + + if (room == null) { + throw new ApiError(meta.errors.noSuchRoom); + } + + return await this.mahjongService.packRoom(room, me); + }); + } +} diff --git a/packages/backend/src/server/api/endpoints/mahjong/verify.ts b/packages/backend/src/server/api/endpoints/mahjong/verify.ts new file mode 100644 index 0000000000..5f5af6ce67 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/mahjong/verify.ts @@ -0,0 +1,64 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Injectable } from '@nestjs/common'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { ReversiService } from '@/core/ReversiService.js'; +import { ReversiGameEntityService } from '@/core/entities/ReversiGameEntityService.js'; +import { ApiError } from '../../error.js'; + +export const meta = { + errors: { + noSuchGame: { + message: 'No such game.', + code: 'NO_SUCH_GAME', + id: '8fb05624-b525-43dd-90f7-511852bdfeee', + }, + }, + + res: { + type: 'object', + optional: false, nullable: false, + properties: { + desynced: { type: 'boolean' }, + game: { + type: 'object', + optional: true, nullable: true, + ref: 'ReversiGameDetailed', + }, + }, + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + gameId: { type: 'string', format: 'misskey:id' }, + crc32: { type: 'string' }, + }, + required: ['gameId', 'crc32'], +} as const; + +@Injectable() +export default class extends Endpoint { // eslint-disable-line import/no-default-export + constructor( + private reversiService: ReversiService, + private reversiGameEntityService: ReversiGameEntityService, + ) { + super(meta, paramDef, async (ps, me) => { + const game = await this.reversiService.checkCrc(ps.gameId, ps.crc32); + if (game) { + return { + desynced: true, + game: await this.reversiGameEntityService.packDetail(game), + }; + } else { + return { + desynced: false, + }; + } + }); + } +} diff --git a/packages/backend/src/server/api/stream/ChannelsService.ts b/packages/backend/src/server/api/stream/ChannelsService.ts index 998429dd0a..3cb732784b 100644 --- a/packages/backend/src/server/api/stream/ChannelsService.ts +++ b/packages/backend/src/server/api/stream/ChannelsService.ts @@ -21,6 +21,7 @@ import { HashtagChannelService } from './channels/hashtag.js'; import { RoleTimelineChannelService } from './channels/role-timeline.js'; import { ReversiChannelService } from './channels/reversi.js'; import { ReversiGameChannelService } from './channels/reversi-game.js'; +import { MahjongRoomChannelService } from './channels/mahjong-room.js'; import { type MiChannelService } from './channel.js'; @Injectable() @@ -42,6 +43,7 @@ export class ChannelsService { private adminChannelService: AdminChannelService, private reversiChannelService: ReversiChannelService, private reversiGameChannelService: ReversiGameChannelService, + private mahjongRoomChannelService: MahjongRoomChannelService, ) { } @@ -64,6 +66,7 @@ export class ChannelsService { case 'admin': return this.adminChannelService; case 'reversi': return this.reversiChannelService; case 'reversiGame': return this.reversiGameChannelService; + case 'mahjongRoom': return this.mahjongRoomChannelService; default: throw new Error(`no such channel: ${name}`); diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts new file mode 100644 index 0000000000..ebdd6bd607 --- /dev/null +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -0,0 +1,107 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Inject, Injectable } from '@nestjs/common'; +import { DI } from '@/di-symbols.js'; +import { bindThis } from '@/decorators.js'; +import { MahjongService } from '@/core/MahjongService.js'; +import Channel, { type MiChannelService } from '../channel.js'; + +class MahjongRoomChannel extends Channel { + public readonly chName = 'mahjongRoom'; + public static shouldShare = false; + public static requireCredential = true as const; + public static kind = 'read:account'; + private roomId: string | null = null; + + constructor( + private mahjongService: MahjongService, + + id: string, + connection: Channel['connection'], + ) { + super(id, connection); + } + + @bindThis + public async init(params: any) { + this.roomId = params.roomId as string; + + this.subscriber.on(`mahjongRoomStream:${this.roomId}`, this.send); + } + + @bindThis + public onMessage(type: string, body: any) { + switch (type) { + case 'ready': this.ready(body); break; + case 'updateSettings': this.updateSettings(body.key, body.value); break; + case 'addAi': this.addAi(); break; + case 'putStone': this.putStone(body.pos, body.id); break; + case 'claimTimeIsUp': this.claimTimeIsUp(); break; + } + } + + @bindThis + private async updateSettings(key: string, value: any) { + if (this.user == null) return; + + this.mahjongService.updateSettings(this.roomId!, this.user, key, value); + } + + @bindThis + private async ready(ready: boolean) { + if (this.user == null) return; + + this.mahjongService.changeReadyState(this.roomId!, this.user, ready); + } + + @bindThis + private async addAi() { + if (this.user == null) return; + + this.mahjongService.addAi(this.roomId!, this.user); + } + + @bindThis + private async putStone(pos: number, id: string) { + if (this.user == null) return; + + this.mahjongService.putStoneToRoom(this.roomId!, this.user, pos, id); + } + + @bindThis + private async claimTimeIsUp() { + if (this.user == null) return; + + this.mahjongService.checkTimeout(this.roomId!); + } + + @bindThis + public dispose() { + // Unsubscribe events + this.subscriber.off(`mahjongRoomStream:${this.roomId}`, this.send); + } +} + +@Injectable() +export class MahjongRoomChannelService implements MiChannelService { + public readonly shouldShare = MahjongRoomChannel.shouldShare; + public readonly requireCredential = MahjongRoomChannel.requireCredential; + public readonly kind = MahjongRoomChannel.kind; + + constructor( + private mahjongService: MahjongService, + ) { + } + + @bindThis + public create(id: string, connection: Channel['connection']): MahjongRoomChannel { + return new MahjongRoomChannel( + this.mahjongService, + id, + connection, + ); + } +} diff --git a/packages/frontend/assets/mahjong/dahai.mp3 b/packages/frontend/assets/mahjong/dahai.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..baa1b83195434d3af77ecf04b6d81c22c8fd2109 GIT binary patch literal 5014 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�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�C+JsfE)TR)P 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 import('@/pages/reversi/game.vue')), loginRequired: false, +}, { + path: '/mahjong', + component: page(() => import('@/pages/mahjong/index.vue')), + loginRequired: false, +}, { + path: '/mahjong/g/:roomId', + component: page(() => import('@/pages/mahjong/room.vue')), + loginRequired: true, }, { path: '/timeline', component: page(() => import('@/pages/timeline.vue')), diff --git a/packages/frontend/src/pages/games.vue b/packages/frontend/src/pages/games.vue index 45a135a459..42f03242ed 100644 --- a/packages/frontend/src/pages/games.vue +++ b/packages/frontend/src/pages/games.vue @@ -18,6 +18,11 @@ SPDX-License-Identifier: AGPL-3.0-only +
    + + + +
    diff --git a/packages/frontend/src/pages/mahjong/index.vue b/packages/frontend/src/pages/mahjong/index.vue new file mode 100644 index 0000000000..e0c20b178a --- /dev/null +++ b/packages/frontend/src/pages/mahjong/index.vue @@ -0,0 +1,166 @@ + + + + + + + diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue new file mode 100644 index 0000000000..99b1a7a104 --- /dev/null +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -0,0 +1,307 @@ + + + + + + + diff --git a/packages/frontend/src/pages/mahjong/room.setting.vue b/packages/frontend/src/pages/mahjong/room.setting.vue new file mode 100644 index 0000000000..cc433fed42 --- /dev/null +++ b/packages/frontend/src/pages/mahjong/room.setting.vue @@ -0,0 +1,128 @@ + + + + + + + diff --git a/packages/frontend/src/pages/mahjong/room.vue b/packages/frontend/src/pages/mahjong/room.vue new file mode 100644 index 0000000000..51d68d4a76 --- /dev/null +++ b/packages/frontend/src/pages/mahjong/room.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 35d112f6ec..de1c8bf2db 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -130,7 +130,7 @@ export function getConfig(): UserConfig { // https://vitejs.dev/guide/dep-pre-bundling.html#monorepos-and-linked-dependencies commonjsOptions: { - include: [/misskey-js/, /misskey-reversi/, /misskey-bubble-game/, /node_modules/], + include: [/misskey-js/, /misskey-reversi/, /misskey-bubble-game/, /misskey-mahjong/, /node_modules/], }, }, diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md index 26f100e452..cfcad77d7c 100644 --- a/packages/misskey-js/etc/misskey-js.api.md +++ b/packages/misskey-js/etc/misskey-js.api.md @@ -1635,6 +1635,11 @@ declare namespace entities { ReversiSurrenderRequest, ReversiVerifyRequest, ReversiVerifyResponse, + MahjongCreateRoomResponse, + MahjongJoinRoomRequest, + MahjongJoinRoomResponse, + MahjongShowRoomRequest, + MahjongShowRoomResponse, Error_2 as Error, UserLite, UserDetailedNotMeOnly, @@ -1673,7 +1678,8 @@ declare namespace entities { RoleLite, Role, ReversiGameLite, - ReversiGameDetailed + ReversiGameDetailed, + MahjongRoomDetailed } } export { entities } @@ -2169,6 +2175,24 @@ type IWebhooksShowResponse = operations['i/webhooks/show']['responses']['200'][' // @public (undocumented) type IWebhooksUpdateRequest = operations['i/webhooks/update']['requestBody']['content']['application/json']; +// @public (undocumented) +type MahjongCreateRoomResponse = operations['mahjong/create-room']['responses']['200']['content']['application/json']; + +// @public (undocumented) +type MahjongJoinRoomRequest = operations['mahjong/join-room']['requestBody']['content']['application/json']; + +// @public (undocumented) +type MahjongJoinRoomResponse = operations['mahjong/join-room']['responses']['200']['content']['application/json']; + +// @public (undocumented) +type MahjongRoomDetailed = components['schemas']['MahjongRoomDetailed']; + +// @public (undocumented) +type MahjongShowRoomRequest = operations['mahjong/show-room']['requestBody']['content']['application/json']; + +// @public (undocumented) +type MahjongShowRoomResponse = operations['mahjong/show-room']['responses']['200']['content']['application/json']; + // @public (undocumented) type MeDetailed = components['schemas']['MeDetailed']; diff --git a/packages/misskey-js/src/autogen/apiClientJSDoc.ts b/packages/misskey-js/src/autogen/apiClientJSDoc.ts index c97b95e536..5897fa74ed 100644 --- a/packages/misskey-js/src/autogen/apiClientJSDoc.ts +++ b/packages/misskey-js/src/autogen/apiClientJSDoc.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.6 - * generatedAt: 2024-01-24T07:32:10.455Z + * version: 2024.2.0-beta.7 + * generatedAt: 2024-01-26T05:23:04.911Z */ import type { SwitchCaseResponseType } from '../api.js'; @@ -4084,5 +4084,38 @@ declare module '../api.js' { params: P, credential?: string | null, ): Promise>; + + /** + * No description provided. + * + * **Credential required**: *Yes* / **Permission**: *write:account* + */ + request( + endpoint: E, + params: P, + credential?: string | null, + ): Promise>; + + /** + * No description provided. + * + * **Credential required**: *Yes* / **Permission**: *write:account* + */ + request( + endpoint: E, + params: P, + credential?: string | null, + ): Promise>; + + /** + * No description provided. + * + * **Credential required**: *Yes* / **Permission**: *read:account* + */ + request( + endpoint: E, + params: P, + credential?: string | null, + ): Promise>; } } diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts index e356de3453..8cf669cab6 100644 --- a/packages/misskey-js/src/autogen/endpoint.ts +++ b/packages/misskey-js/src/autogen/endpoint.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.6 - * generatedAt: 2024-01-24T07:32:10.453Z + * version: 2024.2.0-beta.7 + * generatedAt: 2024-01-26T05:23:04.909Z */ import type { @@ -556,6 +556,11 @@ import type { ReversiSurrenderRequest, ReversiVerifyRequest, ReversiVerifyResponse, + MahjongCreateRoomResponse, + MahjongJoinRoomRequest, + MahjongJoinRoomResponse, + MahjongShowRoomRequest, + MahjongShowRoomResponse, } from './entities.js'; export type Endpoints = { @@ -926,4 +931,7 @@ export type Endpoints = { 'reversi/show-game': { req: ReversiShowGameRequest; res: ReversiShowGameResponse }; 'reversi/surrender': { req: ReversiSurrenderRequest; res: EmptyResponse }; 'reversi/verify': { req: ReversiVerifyRequest; res: ReversiVerifyResponse }; + 'mahjong/create-room': { req: EmptyRequest; res: MahjongCreateRoomResponse }; + 'mahjong/join-room': { req: MahjongJoinRoomRequest; res: MahjongJoinRoomResponse }; + 'mahjong/show-room': { req: MahjongShowRoomRequest; res: MahjongShowRoomResponse }; } diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts index bfe40dc947..41a6f6c7a7 100644 --- a/packages/misskey-js/src/autogen/entities.ts +++ b/packages/misskey-js/src/autogen/entities.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.6 - * generatedAt: 2024-01-24T07:32:10.452Z + * version: 2024.2.0-beta.7 + * generatedAt: 2024-01-26T05:23:04.908Z */ import { operations } from './types.js'; @@ -558,3 +558,8 @@ export type ReversiShowGameResponse = operations['reversi/show-game']['responses export type ReversiSurrenderRequest = operations['reversi/surrender']['requestBody']['content']['application/json']; export type ReversiVerifyRequest = operations['reversi/verify']['requestBody']['content']['application/json']; export type ReversiVerifyResponse = operations['reversi/verify']['responses']['200']['content']['application/json']; +export type MahjongCreateRoomResponse = operations['mahjong/create-room']['responses']['200']['content']['application/json']; +export type MahjongJoinRoomRequest = operations['mahjong/join-room']['requestBody']['content']['application/json']; +export type MahjongJoinRoomResponse = operations['mahjong/join-room']['responses']['200']['content']['application/json']; +export type MahjongShowRoomRequest = operations['mahjong/show-room']['requestBody']['content']['application/json']; +export type MahjongShowRoomResponse = operations['mahjong/show-room']['responses']['200']['content']['application/json']; diff --git a/packages/misskey-js/src/autogen/models.ts b/packages/misskey-js/src/autogen/models.ts index b7dcbfd951..01a5cddbb8 100644 --- a/packages/misskey-js/src/autogen/models.ts +++ b/packages/misskey-js/src/autogen/models.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.6 - * generatedAt: 2024-01-24T07:32:10.450Z + * version: 2024.2.0-beta.7 + * generatedAt: 2024-01-26T05:23:04.907Z */ import { components } from './types.js'; @@ -43,3 +43,4 @@ export type RoleLite = components['schemas']['RoleLite']; export type Role = components['schemas']['Role']; export type ReversiGameLite = components['schemas']['ReversiGameLite']; export type ReversiGameDetailed = components['schemas']['ReversiGameDetailed']; +export type MahjongRoomDetailed = components['schemas']['MahjongRoomDetailed']; diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index b5eca12a19..c4595ef4f2 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -2,8 +2,8 @@ /* eslint @typescript-eslint/no-explicit-any: 0 */ /* - * version: 2024.2.0-beta.6 - * generatedAt: 2024-01-24T07:32:10.370Z + * version: 2024.2.0-beta.7 + * generatedAt: 2024-01-26T05:23:04.825Z */ /** @@ -3535,6 +3535,33 @@ export type paths = { */ post: operations['reversi/verify']; }; + '/mahjong/create-room': { + /** + * mahjong/create-room + * @description No description provided. + * + * **Credential required**: *Yes* / **Permission**: *write:account* + */ + post: operations['mahjong/create-room']; + }; + '/mahjong/join-room': { + /** + * mahjong/join-room + * @description No description provided. + * + * **Credential required**: *Yes* / **Permission**: *write:account* + */ + post: operations['mahjong/join-room']; + }; + '/mahjong/show-room': { + /** + * mahjong/show-room + * @description No description provided. + * + * **Credential required**: *Yes* / **Permission**: *read:account* + */ + post: operations['mahjong/show-room']; + }; }; export type webhooks = Record; @@ -4537,6 +4564,38 @@ export type components = { logs: unknown[][]; map: string[]; }; + MahjongRoomDetailed: { + /** Format: id */ + id: string; + /** Format: date-time */ + createdAt: string; + /** Format: date-time */ + startedAt: string | null; + /** Format: date-time */ + endedAt: string | null; + isStarted: boolean; + isEnded: boolean; + /** Format: id */ + user1Id: string; + /** Format: id */ + user2Id: string; + /** Format: id */ + user3Id: string; + /** Format: id */ + user4Id: string; + user1: components['schemas']['User']; + user2: components['schemas']['User']; + user3: components['schemas']['User']; + user4: components['schemas']['User']; + user1Ai: boolean; + user2Ai: boolean; + user3Ai: boolean; + user4Ai: boolean; + user1Ready: boolean; + user2Ready: boolean; + user3Ready: boolean; + user4Ready: boolean; + }; }; responses: never; parameters: never; @@ -26057,5 +26116,159 @@ export type operations = { }; }; }; + /** + * mahjong/create-room + * @description No description provided. + * + * **Credential required**: *Yes* / **Permission**: *write:account* + */ + 'mahjong/create-room': { + responses: { + /** @description OK (with results) */ + 200: { + content: { + 'application/json': components['schemas']['MahjongRoomDetailed']; + }; + }; + /** @description Client error */ + 400: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Authentication error */ + 401: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Forbidden error */ + 403: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description I'm Ai */ + 418: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Internal server error */ + 500: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + }; + }; + /** + * mahjong/join-room + * @description No description provided. + * + * **Credential required**: *Yes* / **Permission**: *write:account* + */ + 'mahjong/join-room': { + requestBody: { + content: { + 'application/json': { + /** Format: misskey:id */ + roomId: string; + }; + }; + }; + responses: { + /** @description OK (with results) */ + 200: { + content: { + 'application/json': components['schemas']['MahjongRoomDetailed']; + }; + }; + /** @description Client error */ + 400: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Authentication error */ + 401: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Forbidden error */ + 403: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description I'm Ai */ + 418: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Internal server error */ + 500: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + }; + }; + /** + * mahjong/show-room + * @description No description provided. + * + * **Credential required**: *Yes* / **Permission**: *read:account* + */ + 'mahjong/show-room': { + requestBody: { + content: { + 'application/json': { + /** Format: misskey:id */ + roomId: string; + }; + }; + }; + responses: { + /** @description OK (with results) */ + 200: { + content: { + 'application/json': components['schemas']['MahjongRoomDetailed']; + }; + }; + /** @description Client error */ + 400: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Authentication error */ + 401: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Forbidden error */ + 403: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description I'm Ai */ + 418: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + /** @description Internal server error */ + 500: { + content: { + 'application/json': components['schemas']['Error']; + }; + }; + }; + }; }; diff --git a/packages/misskey-mahjong/.eslintignore b/packages/misskey-mahjong/.eslintignore new file mode 100644 index 0000000000..f22128f047 --- /dev/null +++ b/packages/misskey-mahjong/.eslintignore @@ -0,0 +1,7 @@ +node_modules +/built +/coverage +/.eslintrc.js +/jest.config.ts +/test +/test-d diff --git a/packages/misskey-mahjong/.eslintrc.cjs b/packages/misskey-mahjong/.eslintrc.cjs new file mode 100644 index 0000000000..db37a01098 --- /dev/null +++ b/packages/misskey-mahjong/.eslintrc.cjs @@ -0,0 +1,10 @@ +module.exports = { + root: true, + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig.json'], + }, + extends: [ + '../shared/.eslintrc.js', + ], +}; diff --git a/packages/misskey-mahjong/build.js b/packages/misskey-mahjong/build.js new file mode 100644 index 0000000000..4744dfaf7b --- /dev/null +++ b/packages/misskey-mahjong/build.js @@ -0,0 +1,31 @@ +import { build } from "esbuild"; +import { globSync } from "glob"; + +const entryPoints = globSync("./src/**/**.{ts,tsx}"); + +/** @type {import('esbuild').BuildOptions} */ +const options = { + entryPoints, + minify: true, + outdir: "./built/esm", + target: "es2022", + platform: "browser", + format: "esm", +}; + +if (process.env.WATCH === "true") { + options.watch = { + onRebuild(error, result) { + if (error) { + console.error("watch build failed:", error); + } else { + console.log("watch build succeeded:", result); + } + }, + }; +} + +build(options).catch((err) => { + process.stderr.write(err.stderr); + process.exit(1); +}); diff --git a/packages/misskey-mahjong/package.json b/packages/misskey-mahjong/package.json new file mode 100644 index 0000000000..36348665ac --- /dev/null +++ b/packages/misskey-mahjong/package.json @@ -0,0 +1,43 @@ +{ + "type": "module", + "name": "misskey-mahjong", + "version": "0.0.1", + "exports": { + ".": { + "import": "./built/esm/index.js", + "types": "./built/dts/index.d.ts" + }, + "./*": { + "import": "./built/esm/*", + "types": "./built/dts/*" + } + }, + "scripts": { + "build": "node ./build.js", + "build:tsc": "npm run tsc", + "tsc": "npm run tsc-esm && npm run tsc-dts", + "tsc-esm": "tsc --outDir built/esm", + "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", + "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"", + "eslint": "eslint . --ext .js,.jsx,.ts,.tsx", + "typecheck": "tsc --noEmit", + "lint": "pnpm typecheck && pnpm eslint" + }, + "devDependencies": { + "@misskey-dev/eslint-plugin": "1.0.0", + "@types/node": "20.11.5", + "@typescript-eslint/eslint-plugin": "6.18.1", + "@typescript-eslint/parser": "6.18.1", + "eslint": "8.56.0", + "nodemon": "3.0.2", + "typescript": "5.3.3" + }, + "files": [ + "built" + ], + "dependencies": { + "crc-32": "1.2.2", + "esbuild": "0.19.11", + "glob": "10.3.10" + } +} diff --git a/packages/misskey-mahjong/src/engine.ts b/packages/misskey-mahjong/src/engine.ts new file mode 100644 index 0000000000..5dd50817d5 --- /dev/null +++ b/packages/misskey-mahjong/src/engine.ts @@ -0,0 +1,523 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import CRC32 from 'crc-32'; + +export const TILE_TYPES = [ + 'bamboo1', + 'bamboo2', + 'bamboo3', + 'bamboo4', + 'bamboo5', + 'bamboo6', + 'bamboo7', + 'bamboo8', + 'bamboo9', + 'character1', + 'character2', + 'character3', + 'character4', + 'character5', + 'character6', + 'character7', + 'character8', + 'character9', + 'circle1', + 'circle2', + 'circle3', + 'circle4', + 'circle5', + 'circle6', + 'circle7', + 'circle8', + 'circle9', + 'wind-east', + 'wind-south', + 'wind-west', + 'wind-north', + 'dragon-red', + 'dragon-green', + 'dragon-white', +] as const; + +export type Tile = typeof TILE_TYPES[number]; + +export function isTile(tile: string): tile is Tile { + return TILE_TYPES.includes(tile as Tile); +} + +export type House = 'e' | 's' | 'w' | 'n'; + +export type MasterState = { + user1House: House; + user2House: House; + user3House: House; + user4House: House; + tiles: Tile[]; + eHandTiles: Tile[]; + sHandTiles: Tile[]; + wHandTiles: Tile[]; + nHandTiles: Tile[]; + eHoTiles: Tile[]; + sHoTiles: Tile[]; + wHoTiles: Tile[]; + nHoTiles: Tile[]; + ePonnedTiles: { tile: Tile; from: House; }[]; + sPonnedTiles: { tile: Tile; from: House; }[]; + wPonnedTiles: { tile: Tile; from: House; }[]; + nPonnedTiles: { tile: Tile; from: House; }[]; + eCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + sCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + wCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + nCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + eRiichi: boolean; + sRiichi: boolean; + wRiichi: boolean; + nRiichi: boolean; + ePoints: number; + sPoints: number; + wPoints: number; + nPoints: number; + turn: House | null; + ponAsking: { + source: House; + target: House; + } | null; + ciiAsking: { + source: House; + } | null; +}; + +export class Common { + public static nextHouse(house: House): House { + switch (house) { + case 'e': + return 's'; + case 's': + return 'w'; + case 'w': + return 'n'; + case 'n': + return 'e'; + } + } + + public static checkYaku(tiles: Tile[]) { + + } +} + +export class MasterGameEngine { + public state: MasterState; + + constructor(state: MasterState) { + this.state = state; + } + + public static createInitialState(): MasterState { + const tiles = TILE_TYPES.slice(); + tiles.sort(() => Math.random() - 0.5); + + const eHandTiles = tiles.splice(0, 14); + const sHandTiles = tiles.splice(0, 13); + const wHandTiles = tiles.splice(0, 13); + const nHandTiles = tiles.splice(0, 13); + + return { + user1House: 'e', + user2House: 's', + user3House: 'w', + user4House: 'n', + tiles, + eHandTiles, + sHandTiles, + wHandTiles, + nHandTiles, + eHoTiles: [], + sHoTiles: [], + wHoTiles: [], + nHoTiles: [], + ePonnedTiles: [], + sPonnedTiles: [], + wPonnedTiles: [], + nPonnedTiles: [], + eCiiedTiles: [], + sCiiedTiles: [], + wCiiedTiles: [], + nCiiedTiles: [], + eRiichi: false, + sRiichi: false, + wRiichi: false, + nRiichi: false, + ePoints: 25000, + sPoints: 25000, + wPoints: 25000, + nPoints: 25000, + turn: 'e', + ponAsking: null, + ciiAsking: null, + }; + } + + private ツモ(): Tile { + const tile = this.state.tiles.pop(); + switch (this.state.turn) { + case 'e': + this.state.eHandTiles.push(tile); + break; + case 's': + this.state.sHandTiles.push(tile); + break; + case 'w': + this.state.wHandTiles.push(tile); + break; + case 'n': + this.state.nHandTiles.push(tile); + break; + } + return tile; + } + + public op_dahai(house: House, tile: Tile) { + if (this.state.turn !== house) throw new Error('Not your turn'); + + switch (house) { + case 'e': + if (!this.state.eHandTiles.includes(tile)) throw new Error('Invalid tile'); + this.state.eHandTiles.splice(this.state.eHandTiles.indexOf(tile), 1); + this.state.eHoTiles.push(tile); + break; + case 's': + if (!this.state.sHandTiles.includes(tile)) throw new Error('Invalid tile'); + this.state.sHandTiles.splice(this.state.sHandTiles.indexOf(tile), 1); + this.state.sHoTiles.push(tile); + break; + case 'w': + if (!this.state.wHandTiles.includes(tile)) throw new Error('Invalid tile'); + this.state.wHandTiles.splice(this.state.wHandTiles.indexOf(tile), 1); + this.state.wHoTiles.push(tile); + break; + case 'n': + if (!this.state.nHandTiles.includes(tile)) throw new Error('Invalid tile'); + this.state.nHandTiles.splice(this.state.nHandTiles.indexOf(tile), 1); + this.state.nHoTiles.push(tile); + break; + } + + let canPonHouse: House | null = null; + if (house === 'e') { + canPonHouse = this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; + } else if (house === 's') { + canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; + } else if (house === 'w') { + canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('n', tile) ? 'n' : null; + } else if (house === 'n') { + canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : null; + } + + // TODO + //let canCii: boolean = false; + //if (house === 'e') { + // canCii = this.state.sHandTiles... + //} else if (house === 's') { + // canCii = this.state.wHandTiles... + //} else if (house === 'w') { + // canCii = this.state.nHandTiles... + //} else if (house === 'n') { + // canCii = this.state.eHandTiles... + //} + + if (canPonHouse) { + this.state.ponAsking = { + source: house, + target: canPonHouse, + }; + return { + canPonHouse: canPonHouse, + }; + } + + this.state.turn = Common.nextHouse(house); + + const tsumoTile = this.ツモ(); + + return { + tsumo: tsumoTile, + }; + } + + public op_pon(house: House) { + if (this.state.ponAsking == null) throw new Error('No one is asking for pon'); + if (this.state.ponAsking.target !== house) throw new Error('Not you'); + + const source = this.state.ponAsking.source; + const target = this.state.ponAsking.target; + this.state.ponAsking = null; + + let tile: Tile; + + switch (source) { + case 'e': + tile = this.state.eHoTiles.pop(); + break; + case 's': + tile = this.state.sHoTiles.pop(); + break; + case 'w': + tile = this.state.wHoTiles.pop(); + break; + case 'n': + tile = this.state.nHoTiles.pop(); + break; + default: throw new Error('Invalid source'); + } + + switch (target) { + case 'e': + this.state.ePonnedTiles.push({ tile, from: source }); + break; + case 's': + this.state.sPonnedTiles.push({ tile, from: source }); + break; + case 'w': + this.state.wPonnedTiles.push({ tile, from: source }); + break; + case 'n': + this.state.nPonnedTiles.push({ tile, from: source }); + break; + } + + this.state.turn = target; + } + + public op_noOnePon() { + if (this.state.ponAsking == null) throw new Error('No one is asking for pon'); + + this.state.ponAsking = null; + this.state.turn = Common.nextHouse(this.state.turn); + + const tile = this.ツモ(); + + return { + house: this.state.turn, + tile, + }; + } + + private canPon(house: House, tile: Tile): boolean { + switch (house) { + case 'e': + return this.state.eHandTiles.filter(t => t === tile).length === 2; + case 's': + return this.state.sHandTiles.filter(t => t === tile).length === 2; + case 'w': + return this.state.wHandTiles.filter(t => t === tile).length === 2; + case 'n': + return this.state.nHandTiles.filter(t => t === tile).length === 2; + } + } + + public calcCrc32ForUser1(): number { + // TODO + } + + public calcCrc32ForUser2(): number { + // TODO + } + + public calcCrc32ForUser3(): number { + // TODO + } + + public calcCrc32ForUser4(): number { + // TODO + } +} + +export type PlayerState = { + user1House: House; + user2House: House; + user3House: House; + user4House: House; + tilesCount: number; + eHandTiles: Tile[] | null[]; + sHandTiles: Tile[] | null[]; + wHandTiles: Tile[] | null[]; + nHandTiles: Tile[] | null[]; + eHoTiles: Tile[]; + sHoTiles: Tile[]; + wHoTiles: Tile[]; + nHoTiles: Tile[]; + ePonnedTiles: { tile: Tile; from: House; }[]; + sPonnedTiles: { tile: Tile; from: House; }[]; + wPonnedTiles: { tile: Tile; from: House; }[]; + nPonnedTiles: { tile: Tile; from: House; }[]; + eCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + sCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + wCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + nCiiedTiles: { tiles: [Tile, Tile, Tile]; from: House; }[]; + eRiichi: boolean; + sRiichi: boolean; + wRiichi: boolean; + nRiichi: boolean; + ePoints: number; + sPoints: number; + wPoints: number; + nPoints: number; + latestDahaiedTile: Tile | null; + turn: House | null; +}; + +export class PlayerGameEngine { + /** + * このエラーが発生したときはdesyncが疑われる + */ + public static InvalidOperationError = class extends Error {}; + + private myUserNumber: 1 | 2 | 3 | 4; + public state: PlayerState; + + constructor(myUserNumber: PlayerGameEngine['myUserNumber'], state: PlayerState) { + this.myUserNumber = myUserNumber; + this.state = state; + } + + public get myHouse(): House { + switch (this.myUserNumber) { + case 1: return this.state.user1House; + case 2: return this.state.user2House; + case 3: return this.state.user3House; + case 4: return this.state.user4House; + } + } + + public get myHandTiles(): Tile[] { + switch (this.myHouse) { + case 'e': return this.state.eHandTiles as Tile[]; + case 's': return this.state.sHandTiles as Tile[]; + case 'w': return this.state.wHandTiles as Tile[]; + case 'n': return this.state.nHandTiles as Tile[]; + } + } + + public get myHoTiles(): Tile[] { + switch (this.myHouse) { + case 'e': return this.state.eHoTiles; + case 's': return this.state.sHoTiles; + case 'w': return this.state.wHoTiles; + case 'n': return this.state.nHoTiles; + } + } + + public op_tsumo(house: House, tile: Tile) { + if (house === this.myHouse) { + this.myHandTiles.push(tile); + } else { + switch (house) { + case 'e': + this.state.eHandTiles.push(null); + break; + case 's': + this.state.sHandTiles.push(null); + break; + case 'w': + this.state.wHandTiles.push(null); + break; + case 'n': + this.state.nHandTiles.push(null); + break; + } + } + } + + public op_dahai(house: House, tile: Tile) { + if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); + + if (house === this.myHouse) { + this.myHandTiles.splice(this.myHandTiles.indexOf(tile), 1); + this.myHoTiles.push(tile); + } else { + switch (house) { + case 'e': + this.state.eHandTiles.pop(); + this.state.eHoTiles.push(tile); + break; + case 's': + this.state.sHandTiles.pop(); + this.state.sHoTiles.push(tile); + break; + case 'w': + this.state.wHandTiles.pop(); + this.state.wHoTiles.push(tile); + break; + case 'n': + this.state.nHandTiles.pop(); + this.state.nHoTiles.push(tile); + break; + } + } + + if (house === this.myHouse) { + this.state.turn = null; + } else { + const canPon = this.myHandTiles.filter(t => t === tile).length === 2; + + // TODO: canCii + + return { + canPon, + }; + } + } + + public op_pon(source: House, target: House) { + let tile: Tile; + + switch (source) { + case 'e': { + const lastTile = this.state.eHoTiles.pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + tile = lastTile; + break; + } + case 's': { + const lastTile = this.state.sHoTiles.pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + tile = lastTile; + break; + } + case 'w': { + const lastTile = this.state.wHoTiles.pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + tile = lastTile; + break; + } + case 'n': { + const lastTile = this.state.nHoTiles.pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + tile = lastTile; + break; + } + default: throw new Error('Invalid source'); + } + + switch (target) { + case 'e': + this.state.ePonnedTiles.push({ tile, from: source }); + break; + case 's': + this.state.sPonnedTiles.push({ tile, from: source }); + break; + case 'w': + this.state.wPonnedTiles.push({ tile, from: source }); + break; + case 'n': + this.state.nPonnedTiles.push({ tile, from: source }); + break; + } + + this.state.turn = target; + } +} diff --git a/packages/misskey-mahjong/src/index.ts b/packages/misskey-mahjong/src/index.ts new file mode 100644 index 0000000000..1fc4505942 --- /dev/null +++ b/packages/misskey-mahjong/src/index.ts @@ -0,0 +1,7 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export * as Engine from './engine.js'; +export * as Serializer from './serializer.js'; diff --git a/packages/misskey-mahjong/src/serializer.ts b/packages/misskey-mahjong/src/serializer.ts new file mode 100644 index 0000000000..7444812b2b --- /dev/null +++ b/packages/misskey-mahjong/src/serializer.ts @@ -0,0 +1,114 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Tile } from './engine.js'; + +export type Log = { + time: number; + player: 1 | 2 | 3 | 4; + operation: 'dahai'; + tile: string; +}; + +export type SerializedLog = number[]; + +export const TILE_MAP: Record = { + 'bamboo1': 1, + 'bamboo2': 2, + 'bamboo3': 3, + 'bamboo4': 4, + 'bamboo5': 5, + 'bamboo6': 6, + 'bamboo7': 7, + 'bamboo8': 8, + 'bamboo9': 9, + 'character1': 10, + 'character2': 11, + 'character3': 12, + 'character4': 13, + 'character5': 14, + 'character6': 15, + 'character7': 16, + 'character8': 17, + 'character9': 18, + 'circle1': 19, + 'circle2': 20, + 'circle3': 21, + 'circle4': 22, + 'circle5': 23, + 'circle6': 24, + 'circle7': 25, + 'circle8': 26, + 'circle9': 27, + 'wind-east': 28, + 'wind-south': 29, + 'wind-west': 30, + 'wind-north': 31, + 'dragon-red': 32, + 'dragon-green': 33, + 'dragon-white': 34, +}; + +export function serializeTile(tile: Tile): number { + return TILE_MAP[tile]; +} + +export function deserializeTile(tile: number): Tile { + return Object.keys(TILE_MAP).find(key => TILE_MAP[key as Tile] === tile) as Tile; +} + +export function serializeLogs(logs: Log[]) { + const _logs: number[][] = []; + + for (let i = 0; i < logs.length; i++) { + const log = logs[i]; + const timeDelta = i === 0 ? log.time : log.time - logs[i - 1].time; + + switch (log.operation) { + case 'dahai': + _logs.push([timeDelta, log.player, 1, serializeTile(log.tile)]); + break; + //case 'surrender': + // _logs.push([timeDelta, log.player, 1]); + // break; + } + } + + return _logs; +} + +export function deserializeLogs(logs: SerializedLog[]) { + const _logs: Log[] = []; + + let time = 0; + + for (const log of logs) { + const timeDelta = log[0]; + time += timeDelta; + + const player = log[1]; + const operation = log[2]; + + switch (operation) { + case 1: + _logs.push({ + time, + player: player, + operation: 'dahai', + tile: log[3], + }); + break; + //case 1: + // _logs.push({ + // time, + // player: player === 1, + // operation: 'surrender', + // }); + // break; + } + } + + return _logs; +} diff --git a/packages/misskey-mahjong/tsconfig.json b/packages/misskey-mahjong/tsconfig.json new file mode 100644 index 0000000000..f56b65e868 --- /dev/null +++ b/packages/misskey-mahjong/tsconfig.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "target": "ES2022", + "module": "nodenext", + "moduleResolution": "nodenext", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "outDir": "./built/", + "removeComments": true, + "strict": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "experimentalDecorators": true, + "noImplicitReturns": true, + "esModuleInterop": true, + "typeRoots": [ + "./node_modules/@types" + ], + "lib": [ + "esnext", + "dom" + ] + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules", + "test/**/*" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fa466569ef..6fe4772ec2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -263,6 +263,9 @@ importers: misskey-js: specifier: workspace:* version: link:../misskey-js + misskey-mahjong: + specifier: workspace:* + version: link:../misskey-mahjong misskey-reversi: specifier: workspace:* version: link:../misskey-reversi @@ -778,6 +781,9 @@ importers: misskey-js: specifier: workspace:* version: link:../misskey-js + misskey-mahjong: + specifier: workspace:* + version: link:../misskey-mahjong misskey-reversi: specifier: workspace:* version: link:../misskey-reversi @@ -831,7 +837,7 @@ importers: version: 1.7.2(vue@3.4.15) vite: specifier: 5.0.12 - version: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + version: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) vue: specifier: 3.4.15 version: 3.4.15(typescript@5.3.3) @@ -1009,7 +1015,7 @@ importers: version: 1.0.3 vitest: specifier: 0.34.6 - version: 0.34.6(happy-dom@10.0.3)(sass@1.70.0) + version: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0) vitest-fetch-mock: specifier: 0.2.2 version: 0.2.2(vitest@0.34.6) @@ -1166,6 +1172,40 @@ importers: specifier: 5.3.3 version: 5.3.3 + packages/misskey-mahjong: + dependencies: + crc-32: + specifier: 1.2.2 + version: 1.2.2 + esbuild: + specifier: 0.19.11 + version: 0.19.11 + glob: + specifier: 10.3.10 + version: 10.3.10 + devDependencies: + '@misskey-dev/eslint-plugin': + specifier: 1.0.0 + version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + '@types/node': + specifier: 20.11.5 + version: 20.11.5 + '@typescript-eslint/eslint-plugin': + specifier: 6.18.1 + version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: 6.18.1 + version: 6.18.1(eslint@8.56.0)(typescript@5.3.3) + eslint: + specifier: 8.56.0 + version: 8.56.0 + nodemon: + specifier: 3.0.2 + version: 3.0.2 + typescript: + specifier: 5.3.3 + version: 5.3.3 + packages/misskey-reversi: dependencies: crc-32: @@ -1906,7 +1946,7 @@ packages: '@babel/traverse': 7.22.11 '@babel/types': 7.22.17 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -1929,7 +1969,7 @@ packages: '@babel/traverse': 7.23.5 '@babel/types': 7.23.5 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -2031,7 +2071,7 @@ packages: '@babel/core': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -3430,7 +3470,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.5 '@babel/types': 7.22.17 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -3448,7 +3488,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.6 '@babel/types': 7.23.5 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4155,7 +4195,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.19.0 ignore: 5.2.4 @@ -4172,7 +4212,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.19.0 ignore: 5.2.4 @@ -4407,7 +4447,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4711,7 +4751,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.3.3) typescript: 5.3.3 - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) dev: true /@jridgewell/gen-mapping@0.3.2: @@ -4735,7 +4775,6 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.18 - dev: false /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -6772,7 +6811,7 @@ packages: magic-string: 0.30.5 rollup: 3.29.4 typescript: 5.3.3 - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - encoding - supports-color @@ -6977,7 +7016,7 @@ packages: util: 0.12.5 util-deprecate: 1.0.2 watchpack: 2.4.0 - ws: 8.16.0 + ws: 8.16.0(bufferutil@4.0.7)(utf-8-validate@6.0.3) transitivePeerDependencies: - bufferutil - encoding @@ -7146,7 +7185,7 @@ packages: react: 18.2.0 react-docgen: 7.0.1 react-dom: 18.2.0(react@18.2.0) - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -7272,7 +7311,7 @@ packages: '@storybook/vue3': 7.6.10(vue@3.4.15) '@vitejs/plugin-vue': 4.5.2(vite@5.0.12)(vue@3.4.15) magic-string: 0.30.5 - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) vue-docgen-api: 4.64.1(vue@3.4.15) transitivePeerDependencies: - '@preact/preset-vite' @@ -7772,7 +7811,7 @@ packages: dom-accessibility-api: 0.5.16 lodash: 4.17.21 redent: 3.0.0 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0) dev: true /@testing-library/user-event@14.4.3(@testing-library/dom@9.2.0): @@ -8446,7 +8485,7 @@ packages: '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.11.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 graphemer: 1.4.0 ignore: 5.2.4 @@ -8475,7 +8514,7 @@ packages: '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.18.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 @@ -8501,7 +8540,7 @@ packages: '@typescript-eslint/types': 6.11.0 '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.11.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 typescript: 5.3.3 transitivePeerDependencies: @@ -8522,7 +8561,7 @@ packages: '@typescript-eslint/types': 6.18.1 '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.18.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: @@ -8557,7 +8596,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 ts-api-utils: 1.0.1(typescript@5.3.3) typescript: 5.3.3 @@ -8577,7 +8616,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 ts-api-utils: 1.0.1(typescript@5.3.3) typescript: 5.3.3 @@ -8606,7 +8645,7 @@ packages: dependencies: '@typescript-eslint/types': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -8627,7 +8666,7 @@ packages: dependencies: '@typescript-eslint/types': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -8707,7 +8746,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.23.5) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - supports-color dev: true @@ -8719,7 +8758,7 @@ packages: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) vue: 3.4.15(typescript@5.3.3) dev: true @@ -8730,7 +8769,7 @@ packages: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) vue: 3.4.15(typescript@5.3.3) dev: false @@ -8750,7 +8789,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - supports-color dev: true @@ -9091,7 +9130,7 @@ packages: engines: {node: '>= 6.0.0'} requiresBuild: true dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -9099,7 +9138,7 @@ packages: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -9485,7 +9524,7 @@ packages: resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} dependencies: archy: 1.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) fastq: 1.15.0 transitivePeerDependencies: - supports-color @@ -9889,7 +9928,6 @@ packages: requiresBuild: true dependencies: node-gyp-build: 4.6.0 - dev: false /bullmq@5.1.4: resolution: {integrity: sha512-j/AjaPc8BhyrH7b2MyZpi4cUtGH8TJTxonZUmXEefmKU8z5DcldzmlXPief0P4+qvN0A7qwWZH3n0F+GsWgQkg==} @@ -10434,7 +10472,6 @@ packages: /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: false /commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} @@ -10931,6 +10968,7 @@ packages: dependencies: ms: 2.1.2 supports-color: 5.5.0 + dev: true /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -10943,7 +10981,6 @@ packages: dependencies: ms: 2.1.2 supports-color: 8.1.1 - dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -11160,7 +11197,7 @@ packages: hasBin: true dependencies: address: 1.2.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -11484,7 +11521,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -11793,7 +11830,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -11840,7 +11877,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -12471,7 +12508,7 @@ packages: debug: optional: true dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -13027,6 +13064,7 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + dev: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -13164,7 +13202,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -13224,7 +13262,7 @@ packages: engines: {node: '>= 6.0.0'} dependencies: agent-base: 5.1.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -13234,7 +13272,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -13243,7 +13281,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: false @@ -13403,7 +13441,7 @@ packages: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -13849,7 +13887,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -15624,7 +15662,6 @@ packages: resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true requiresBuild: true - dev: false /node-gyp@10.0.1: resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} @@ -17159,7 +17196,7 @@ packages: engines: {node: '>=8.16.0'} dependencies: '@types/mime-types': 2.1.4 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -18159,7 +18196,7 @@ packages: dependencies: '@hapi/hoek': 10.0.1 '@hapi/wreck': 18.0.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) joi: 17.7.0 transitivePeerDependencies: - supports-color @@ -18359,7 +18396,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -18512,7 +18549,7 @@ packages: arg: 5.0.2 bluebird: 3.7.2 check-more-types: 2.24.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) execa: 5.1.1 lazy-ass: 1.6.0 ps-tree: 1.2.0 @@ -18770,6 +18807,7 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -18932,7 +18970,6 @@ packages: acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - dev: false /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} @@ -19391,7 +19428,7 @@ packages: chalk: 4.1.2 cli-highlight: 2.1.11 dayjs: 1.11.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) dotenv: 16.0.3 glob: 10.3.10 ioredis: 5.3.2 @@ -19654,7 +19691,6 @@ packages: requiresBuild: true dependencies: node-gyp-build: 4.6.0 - dev: false /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -19746,17 +19782,17 @@ packages: core-util-is: 1.0.2 extsprintf: 1.3.0 - /vite-node@0.34.6(@types/node@20.11.5)(sass@1.70.0): + /vite-node@0.34.6(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) mlly: 1.5.0 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -19772,7 +19808,7 @@ packages: resolution: {integrity: sha512-p4D8CFVhZS412SyQX125qxyzOgIFouwOcvjZWk6bQbNPR1wtaEzFT6jZxAjf1dejlGqa6fqHcuCvQea6EWUkUA==} dev: true - /vite@5.0.12(@types/node@20.11.5)(sass@1.70.0): + /vite@5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0): resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -19805,6 +19841,7 @@ packages: postcss: 8.4.33 rollup: 4.9.6 sass: 1.70.0 + terser: 5.27.0 optionalDependencies: fsevents: 2.3.3 @@ -19815,12 +19852,12 @@ packages: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.5 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - encoding dev: true - /vitest@0.34.6(happy-dom@10.0.3)(sass@1.70.0): + /vitest@0.34.6(happy-dom@10.0.3)(sass@1.70.0)(terser@5.27.0): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -19863,7 +19900,7 @@ packages: acorn-walk: 8.3.2 cac: 6.7.14 chai: 4.3.10 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) happy-dom: 10.0.3 local-pkg: 0.4.3 magic-string: 0.30.5 @@ -19873,8 +19910,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.7.0 - vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) - vite-node: 0.34.6(@types/node@20.11.5)(sass@1.70.0) + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) + vite-node: 0.34.6(@types/node@20.11.5)(sass@1.70.0)(terser@5.27.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -19945,7 +19982,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -20275,19 +20312,6 @@ packages: async-limiter: 1.0.1 dev: true - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws@8.16.0(bufferutil@4.0.7)(utf-8-validate@6.0.3): resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} @@ -20302,7 +20326,6 @@ packages: dependencies: bufferutil: 4.0.7 utf-8-validate: 6.0.3 - dev: false /xev@3.0.2: resolution: {integrity: sha512-8kxuH95iMXzHZj+fwqfA4UrPcYOy6bGIgfWzo9Ji23JoEc30ge/Z++Ubkiuy8c0+M64nXmmxrmJ7C8wnuBhluw==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 193669e7a4..378cdc84ad 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,3 +6,4 @@ packages: - 'packages/misskey-js/generator' - 'packages/misskey-reversi' - 'packages/misskey-bubble-game' + - 'packages/misskey-mahjong' diff --git a/scripts/clean-all.js b/scripts/clean-all.js index 160014a3f3..daebf1ea59 100644 --- a/scripts/clean-all.js +++ b/scripts/clean-all.js @@ -25,6 +25,9 @@ const fs = require('fs'); fs.rmSync(__dirname + '/../packages/misskey-bubble-game/built', { recursive: true, force: true }); fs.rmSync(__dirname + '/../packages/misskey-bubble-game/node_modules', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-mahjong/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-mahjong/node_modules', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../built', { recursive: true, force: true }); fs.rmSync(__dirname + '/../node_modules', { recursive: true, force: true }); diff --git a/scripts/clean.js b/scripts/clean.js index 09ac786853..10e8a40450 100644 --- a/scripts/clean.js +++ b/scripts/clean.js @@ -12,5 +12,6 @@ const fs = require('fs'); fs.rmSync(__dirname + '/../packages/misskey-js/built', { recursive: true, force: true }); fs.rmSync(__dirname + '/../packages/misskey-reversi/built', { recursive: true, force: true }); fs.rmSync(__dirname + '/../packages/misskey-bubble-game/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-mahjong/built', { recursive: true, force: true }); fs.rmSync(__dirname + '/../built', { recursive: true, force: true }); })(); diff --git a/scripts/dev.mjs b/scripts/dev.mjs index 9b60af6570..dd8b9abd01 100644 --- a/scripts/dev.mjs +++ b/scripts/dev.mjs @@ -46,6 +46,12 @@ await execa('pnpm', ['--filter', 'misskey-bubble-game', 'build'], { stderr: process.stderr, }); +await execa('pnpm', ['--filter', 'misskey-mahjong', 'build'], { + cwd: _dirname + '/../', + stdout: process.stdout, + stderr: process.stderr, +}); + execa('pnpm', ['build-pre', '--watch'], { cwd: _dirname + '/../', stdout: process.stdout, @@ -87,3 +93,9 @@ execa('pnpm', ['--filter', 'misskey-bubble-game', 'watch'], { stdout: process.stdout, stderr: process.stderr, }); + +execa('pnpm', ['--filter', 'misskey-mahjong', 'watch'], { + cwd: _dirname + '/../', + stdout: process.stdout, + stderr: process.stderr, +}); From ab404d491d47ba1506852e82bf8415c9ae91cfd0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 27 Jan 2024 17:50:41 +0900 Subject: [PATCH 03/64] wip --- locales/index.d.ts | 4 + locales/ja-JP.yml | 1 + .../backend/src/core/GlobalEventService.ts | 11 +- packages/backend/src/core/MahjongService.ts | 208 ++++-- .../src/models/json-schema/mahjong-room.ts | 4 + .../api/stream/channels/mahjong-room.ts | 22 +- .../frontend/src/pages/mahjong/room.game.vue | 280 ++++----- .../src/pages/mahjong/room.setting.vue | 37 ++ .../misskey-js/src/autogen/apiClientJSDoc.ts | 2 +- packages/misskey-js/src/autogen/endpoint.ts | 2 +- packages/misskey-js/src/autogen/entities.ts | 2 +- packages/misskey-js/src/autogen/models.ts | 2 +- packages/misskey-js/src/autogen/types.ts | 3 +- packages/misskey-mahjong/package.json | 1 + packages/misskey-mahjong/src/common.ts | 48 ++ packages/misskey-mahjong/src/engine.ts | 595 +++++++++++------- packages/misskey-mahjong/src/index.ts | 2 + packages/misskey-mahjong/src/serializer.ts | 68 +- packages/misskey-mahjong/src/utils.ts | 235 +++++++ scripts/dev.mjs | 2 +- 20 files changed, 1036 insertions(+), 493 deletions(-) create mode 100644 packages/misskey-mahjong/src/common.ts create mode 100644 packages/misskey-mahjong/src/utils.ts diff --git a/locales/index.d.ts b/locales/index.d.ts index be020be9b1..e1e829ac20 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -9629,6 +9629,10 @@ export interface Locale extends ILocale { * 退室 */ "leave": string; + /** + * CPUを追加 + */ + "addCpu": string; }; "_offlineScreen": { /** diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index fa0dbdbb10..a330e26995 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2566,6 +2566,7 @@ _mahjong: ready: "準備完了" cancelReady: "準備を再開" leave: "退室" + addCpu: "CPUを追加" _offlineScreen: title: "オフライン - サーバーに接続できません" diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index a2fc255e05..57c1b3da40 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -201,18 +201,21 @@ export interface MahjongRoomEventTypes { user3: boolean; user4: boolean; }; + started: { + room: Packed<'MahjongRoomDetailed'>; + }; tsumo: { house: Mahjong.Engine.House; - tile: Mahjong.Engine.Tile; + tile: Mahjong.Common.Tile; }; dahai: { house: Mahjong.Engine.House; - tile: Mahjong.Engine.Tile; + tile: Mahjong.Common.Tile; }; dahaiAndTsumo: { house: Mahjong.Engine.House; - dahaiTile: Mahjong.Engine.Tile; - tsumoTile: Mahjong.Engine.Tile; + dahaiTile: Mahjong.Common.Tile; + tsumoTile: Mahjong.Common.Tile; }; } //#endregion diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 4d385a0399..bf4bafa9a9 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -26,7 +26,7 @@ import { ReversiGameEntityService } from './entities/ReversiGameEntityService.js import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; const INVITATION_TIMEOUT_MS = 1000 * 20; // 20sec -const PON_TIMEOUT_MS = 1000 * 10; // 10sec +const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 5; // 5sec const DAHAI_TIMEOUT_MS = 1000 * 30; // 30sec type Room = { @@ -52,10 +52,23 @@ type Room = { user3Offline?: boolean; user4Offline?: boolean; isStarted?: boolean; + timeLimitForEachTurn: number; gameState?: Mahjong.Engine.MasterState; }; +type CallAndRonAnswers = { + pon: null | boolean; + cii: null | boolean; + kan: null | boolean; + ron: { + e: null | boolean; + s: null | boolean; + w: null | boolean; + n: null | boolean; + }; +}; + @Injectable() export class MahjongService implements OnApplicationShutdown, OnModuleInit { private notificationService: NotificationService; @@ -98,6 +111,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { user2Ready: false, user3Ready: false, user4Ready: false, + timeLimitForEachTurn: 30, }; await this.saveRoom(room); return room; @@ -152,21 +166,21 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (!room) return null; if (room.user1Id !== user.id) throw new Error('access denied'); - if (room.user2Id == null) { + if (room.user2Id == null && !room.user2Ai) { room.user2Ai = true; room.user2Ready = true; await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 2, user: null }); return room; } - if (room.user3Id == null) { + if (room.user3Id == null && !room.user3Ai) { room.user3Ai = true; room.user3Ready = true; await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'joined', { index: 3, user: null }); return room; } - if (room.user4Id == null) { + if (room.user4Id == null && !room.user4Ai) { room.user4Ai = true; room.user4Ready = true; await this.saveRoom(room); @@ -267,43 +281,129 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async dahai(room: Room, engine: Mahjong.Engine.MasterGameEngine, user: MiUser, tile: Mahjong.Engine.Tile) { - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; - const res = engine.op_dahai(myHouse, tile); - if (res.canPonHouse) { - // TODO: 家がCPUだった場合の処理 - this.redisClient.set(`mahjong:gamePonAsking:${room.id}`, ''); - const waitingStartedAt = Date.now(); - const interval = setInterval(async () => { - const waiting = await this.redisClient.get(`mahjong:gamePonAsking:${room.id}`); - if (waiting == null) { - clearInterval(interval); - return; - } - if (Date.now() - waitingStartedAt > PON_TIMEOUT_MS) { - await this.redisClient.del(`mahjong:gamePonAsking:${room.id}`); - clearInterval(interval); - const res = engine.op_noOnePon(); - this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); - return; - } - }, 2000); - this.globalEventService.publishMahjongRoomStream(room.id, 'dahai', { house: myHouse, tile }); - } else { - this.globalEventService.publishMahjongRoomStream(room.id, 'dahaiAndTsumo', { house: myHouse, dahaiTile: tile, tsumoTile: res.tsumoTile }); + private async answer(room: Room, engine: Mahjong.Engine.MasterGameEngine, answers: CallAndRonAnswers) { + const res = engine.op_resolveCallAndRonInterruption({ + pon: answers.pon ?? false, + cii: answers.cii ?? false, + kan: answers.kan ?? false, + ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])], + }); + room.gameState = engine.state; + await this.saveRoom(room); + + if (res.type === 'tsumo') { + this.globalEventService.publishMahjongRoomStream(room.id, 'log', { operation: 'tsumo', house: res.house, tile: res.tile }); + this.next(room, engine); + } else if (res.type === 'ponned') { + this.globalEventService.publishMahjongRoomStream(room.id, 'log', { operation: 'ponned', house: res.house, tile: res.tile }); + const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; + this.waitForDahai(room, userId, engine); + } else if (res.type === 'kanned') { + // TODO + } else if (res.type === 'ronned') { + // TODO } } @bindThis - public async op_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { + private async next(room: Room, engine: Mahjong.Engine.MasterGameEngine) { + const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + + if (aiHouses.includes(engine.state.turn)) { + setTimeout(() => { + const house = engine.state.turn; + const handTiles = house === 'e' ? engine.state.eHandTiles : house === 's' ? engine.state.sHandTiles : house === 'w' ? engine.state.wHandTiles : engine.state.nHandTiles; + this.dahai(room, engine, engine.state.turn, handTiles.at(-1)); + }, 1000); + return; + } else { + const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; + this.waitForDahai(room, userId, engine); + } + } + + @bindThis + private async dahai(room: Room, engine: Mahjong.Engine.MasterGameEngine, house: Mahjong.Common.House, tile: Mahjong.Common.Tile, operationId?: string) { + const res = engine.op_dahai(house, tile); + room.gameState = engine.state; + await this.saveRoom(room); + + const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + + if (res.asking) { + console.log('asking', res); + + const answers: CallAndRonAnswers = { + pon: null, + cii: null, + kan: null, + ron: { + e: null, + s: null, + w: null, + n: null, + }, + }; + + if (aiHouses.includes(res.canPonHouse)) { + // TODO + } + if (aiHouses.includes(res.canChiHouse)) { + // TODO + } + if (aiHouses.includes(res.canKanHouse)) { + // TODO + } + for (const h of res.canRonHouses) { + if (aiHouses.includes(h)) { + // TODO + } + } + + this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(answers)); + const waitingStartedAt = Date.now(); + const interval = setInterval(async () => { + const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); + if (current == null) throw new Error('arienai (gameCallAndRonAsking)'); + const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + const allAnswered = !( + (res.canPonHouse != null && currentAnswers.pon == null) || + (res.canCiiHouse != null && currentAnswers.cii == null) || + (res.canKanHouse != null && currentAnswers.kan == null) || + (res.canRonHouses.includes('e') && currentAnswers.ron.e == null) || + (res.canRonHouses.includes('s') && currentAnswers.ron.s == null) || + (res.canRonHouses.includes('w') && currentAnswers.ron.w == null) || + (res.canRonHouses.includes('n') && currentAnswers.ron.n == null) + ); + if (allAnswered || (Date.now() - waitingStartedAt > CALL_AND_RON_ASKING_TIMEOUT_MS)) { + console.log('answerd'); + await this.redisClient.del(`mahjong:gamePonAsking:${room.id}`); + clearInterval(interval); + this.answer(room, engine, currentAnswers); + return; + } + }, 2000); + + this.globalEventService.publishMahjongRoomStream(room.id, 'log', { operation: 'dahai', house: house, tile, id: operationId }); + } else { + this.globalEventService.publishMahjongRoomStream(room.id, 'log', { operation: 'dahaiAndTsumo', house: house, dahaiTile: tile, tsumoTile: res.tsumoTile, id: operationId }); + + this.next(room, engine); + } + } + + @bindThis + public async op_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string, operationId: string) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; + if (!Mahjong.Utils.isTile(tile)) return; await this.redisClient.del(`mahjong:gameDahaiWaiting:${room.id}`); const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); - await this.dahai(room, engine, user, tile); + const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + await this.dahai(room, engine, myHouse, tile, operationId); } @bindThis @@ -314,26 +414,56 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; - const res = engine.op_pon(myHouse); - this.waitForDahai(room, user, engine); + + // TODO: 自分にポン回答する権利がある状態かバリデーション + + // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 + const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); + if (current == null) throw new Error('no asking found'); + const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + currentAnswers.pon = true; + await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); } @bindThis - private async waitForDahai(game: Room, user: MiUser, engine: Mahjong.Engine.MasterGameEngine) { - this.redisClient.set(`mahjong:gameDahaiWaiting:${game.id}`, ''); + public async op_nop(roomId: MiMahjongGame['id'], user: MiUser) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + + // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 + const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); + if (current == null) throw new Error('no asking found'); + const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + if (engine.state.ponAsking?.target === myHouse) currentAnswers.pon = false; + if (engine.state.ciiAsking?.target === myHouse) currentAnswers.cii = false; + if (engine.state.kanAsking?.target === myHouse) currentAnswers.kan = false; + if (engine.state.ronAsking != null && engine.state.ronAsking.targets.includes(myHouse)) currentAnswers.ron[myHouse] = false; + await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); + } + + @bindThis + private async waitForDahai(room: Room, userId: MiUser['id'], engine: Mahjong.Engine.MasterGameEngine) { + const id = Math.random().toString(36).slice(2); + console.log('waitForDahai', userId, id); + this.redisClient.sadd(`mahjong:gameDahaiWaiting:${room.id}`, id); const waitingStartedAt = Date.now(); const interval = setInterval(async () => { - const waiting = await this.redisClient.get(`mahjong:gameDahaiWaiting:${game.id}`); - if (waiting == null) { + const waiting = await this.redisClient.sismember(`mahjong:gameDahaiWaiting:${room.id}`, id); + if (waiting === 0) { clearInterval(interval); return; } if (Date.now() - waitingStartedAt > DAHAI_TIMEOUT_MS) { - await this.redisClient.del(`mahjong:gameDahaiWaiting:${game.id}`); + await this.redisClient.srem(`mahjong:gameDahaiWaiting:${room.id}`, id); + console.log('dahai timeout', userId, id); clearInterval(interval); - const house = game.user1Id === user.id ? engine.state.user1House : game.user2Id === user.id ? engine.state.user2House : game.user3Id === user.id ? engine.state.user3House : engine.state.user4House; + const house = room.user1Id === userId ? engine.state.user1House : room.user2Id === userId ? engine.state.user2House : room.user3Id === userId ? engine.state.user3House : engine.state.user4House; const handTiles = house === 'e' ? engine.state.eHandTiles : house === 's' ? engine.state.sHandTiles : house === 'w' ? engine.state.wHandTiles : engine.state.nHandTiles; - await this.dahai(game, engine, user, handTiles.at(-1)); + await this.dahai(room, engine, house, handTiles.at(-1)); return; } }, 2000); diff --git a/packages/backend/src/models/json-schema/mahjong-room.ts b/packages/backend/src/models/json-schema/mahjong-room.ts index 71d5f268ff..ce666b2b83 100644 --- a/packages/backend/src/models/json-schema/mahjong-room.ts +++ b/packages/backend/src/models/json-schema/mahjong-room.ts @@ -106,5 +106,9 @@ export const packedMahjongRoomDetailedSchema = { type: 'boolean', optional: false, nullable: false, }, + timeLimitForEachTurn: { + type: 'number', + optional: false, nullable: false, + }, }, } as const; diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index ebdd6bd607..0e55a62b8f 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -38,7 +38,9 @@ class MahjongRoomChannel extends Channel { case 'ready': this.ready(body); break; case 'updateSettings': this.updateSettings(body.key, body.value); break; case 'addAi': this.addAi(); break; - case 'putStone': this.putStone(body.pos, body.id); break; + case 'dahai': this.dahai(body.tile, body.id); break; + case 'pon': this.pon(); break; + case 'nop': this.nop(); break; case 'claimTimeIsUp': this.claimTimeIsUp(); break; } } @@ -65,10 +67,24 @@ class MahjongRoomChannel extends Channel { } @bindThis - private async putStone(pos: number, id: string) { + private async dahai(tile: string, id: string) { if (this.user == null) return; - this.mahjongService.putStoneToRoom(this.roomId!, this.user, pos, id); + this.mahjongService.op_dahai(this.roomId!, this.user, tile, id); + } + + @bindThis + private async pon() { + if (this.user == null) return; + + this.mahjongService.op_pon(this.roomId!, this.user); + } + + @bindThis + private async nop() { + if (this.user == null) return; + + this.mahjongService.op_nop(this.roomId!, this.user); } @bindThis diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 99b1a7a104..cb9ddfb592 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -5,6 +5,45 @@ SPDX-License-Identifier: AGPL-3.0-only @@ -28,18 +67,22 @@ import { confetti } from '@/scripts/confetti.js'; const $i = signinRequired(); const props = defineProps<{ - room: Misskey.entities.ReversiRoomDetailed; + room: Misskey.entities.MahjongRoomDetailed; connection?: Misskey.ChannelConnection | null; }>(); -const room = ref(deepClone(props.room)); +const room = ref(deepClone(props.room)); const myUserNumber = computed(() => room.value.user1Id === $i.id ? 1 : room.value.user2Id === $i.id ? 2 : room.value.user3Id === $i.id ? 3 : 4); -const engine = shallowRef(new Mahjong.Engine.PlayerGameEngine(myUserNumber, room.value.gameState)); +const engine = shallowRef(new Mahjong.Engine.PlayerGameEngine(myUserNumber.value, room.value.gameState)); const isMyTurn = computed(() => { return engine.value.state.turn === engine.value.myHouse; }); +const canHora = computed(() => { + return Mahjong.Utils.getHoraSets(engine.value.myHandTiles).length > 0; +}); + /* if (room.value.isStarted && !room.value.isEnded) { useInterval(() => { @@ -84,22 +127,53 @@ if (!props.room.isEnded) { } */ +function dahai(tile: Mahjong.Common.Tile, ev: MouseEvent) { + if (!isMyTurn.value) return; + + engine.value.op_dahai(engine.value.myHouse, tile); + + const id = Math.random().toString(36).slice(2); + appliedOps.push(id); + props.connection!.send('dahai', { + tile: tile, + id, + }); +} + +function pon() { + engine.value.op_pon(engine.value.canPonTo, engine.value.myHouse); + + const id = Math.random().toString(36).slice(2); + appliedOps.push(id); + props.connection!.send('pon', { + id, + }); +} + +function skip() { + engine.value.op_nop(engine.value.myHouse); + + const id = Math.random().toString(36).slice(2); + appliedOps.push(id); + props.connection!.send('nop', {}); +} + async function onStreamLog(log) { if (log.id == null || !appliedOps.includes(log.id)) { switch (log.operation) { - case 'put': { + case 'dahai': { sound.playUrl('/client-assets/mahjong/dahai.mp3', { volume: 1, playbackRate: 1, }); - if (log.house !== engine.value.turn) { // = desyncが発生している - const _room = await misskeyApi('reversi/show-room', { - roomId: props.room.id, - }); - restoreRoom(_room); - return; - } + //if (log.house !== engine.value.state.turn) { // = desyncが発生している + // const _room = await misskeyApi('mahjong/show-room', { + // roomId: props.room.id, + // }); + // restoreRoom(_room); + // return; + //} engine.value.op_dahai(log.house, log.tile); triggerRef(engine); @@ -109,6 +183,33 @@ async function onStreamLog(log) { break; } + case 'dahaiAndTsumo': { + sound.playUrl('/client-assets/mahjong/dahai.mp3', { + volume: 1, + playbackRate: 1, + }); + + //if (log.house !== engine.value.state.turn) { // = desyncが発生している + // const _room = await misskeyApi('mahjong/show-room', { + // roomId: props.room.id, + // }); + // restoreRoom(_room); + // return; + //} + + engine.value.op_dahai(log.house, log.dahaiTile); + triggerRef(engine); + + window.setTimeout(() => { + engine.value.op_tsumo(Mahjong.Utils.nextHouse(log.house), log.tsumoTile); + triggerRef(engine); + }, 1000); + + myTurnTimerRmain.value = room.value.timeLimitForEachTurn; + opTurnTimerRmain.value = room.value.timeLimitForEachTurn; + break; + } + default: break; } @@ -124,184 +225,27 @@ function restoreRoom(_room) { onMounted(() => { if (props.connection != null) { props.connection.on('log', onStreamLog); - props.connection.on('ended', onStreamEnded); } }); onActivated(() => { if (props.connection != null) { props.connection.on('log', onStreamLog); - props.connection.on('ended', onStreamEnded); } }); onDeactivated(() => { if (props.connection != null) { props.connection.off('log', onStreamLog); - props.connection.off('ended', onStreamEnded); } }); onUnmounted(() => { if (props.connection != null) { props.connection.off('log', onStreamLog); - props.connection.off('ended', onStreamEnded); } }); diff --git a/packages/frontend/src/pages/mahjong/room.setting.vue b/packages/frontend/src/pages/mahjong/room.setting.vue index cc433fed42..e8c5ae8512 100644 --- a/packages/frontend/src/pages/mahjong/room.setting.vue +++ b/packages/frontend/src/pages/mahjong/room.setting.vue @@ -28,6 +28,9 @@ SPDX-License-Identifier: AGPL-3.0-only
    OK
    +
    + {{ i18n.ts._mahjong.addCpu }} +
    @@ -86,6 +87,7 @@ SPDX-License-Identifier: AGPL-3.0-only import { computed, onActivated, onDeactivated, onMounted, onUnmounted, ref, shallowRef, triggerRef, watch } from 'vue'; import * as Misskey from 'misskey-js'; import * as Mahjong from 'misskey-mahjong'; +import XTile from './tile.vue'; import MkButton from '@/components/MkButton.vue'; import MkFolder from '@/components/MkFolder.vue'; import MkSwitch from '@/components/MkSwitch.vue'; @@ -190,6 +192,14 @@ function dahai(tile: Mahjong.Common.Tile, ev: MouseEvent) { }); } +function ron() { + engine.value.op_ron(engine.value.state.canRonSource, engine.value.myHouse); + triggerRef(engine); + + props.connection!.send('ron', { + }); +} + function pon() { engine.value.op_pon(engine.value.state.canPonSource, engine.value.myHouse); triggerRef(engine); @@ -464,9 +474,6 @@ onUnmounted(() => { .hoTile { position: relative; display: inline-block; - width: 32px; - aspect-ratio: 0.7; - background: #fff; margin-bottom: -8px; } diff --git a/packages/frontend/src/pages/mahjong/tile.vue b/packages/frontend/src/pages/mahjong/tile.vue new file mode 100644 index 0000000000..a86c5f8463 --- /dev/null +++ b/packages/frontend/src/pages/mahjong/tile.vue @@ -0,0 +1,45 @@ + + + + + + + diff --git a/packages/misskey-mahjong/src/engine.ts b/packages/misskey-mahjong/src/engine.ts index 01e37b1a64..a71dca8e14 100644 --- a/packages/misskey-mahjong/src/engine.ts +++ b/packages/misskey-mahjong/src/engine.ts @@ -365,8 +365,9 @@ export class MasterGameEngine { const horaSets = Utils.getHoraSets(this.getHandTilesOf(house).concat(tile)); if (horaSets.length === 0) return false; // 完成形じゃない - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); - if (yakus.length === 0) return false; // 役がない + // TODO + //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); + //if (yakus.length === 0) return false; // 役がない return true; } @@ -494,6 +495,9 @@ export type PlayerState = { latestDahaiedTile: Tile | null; turn: House | null; canPonSource: House | null; + canCiiSource: House | null; + canKanSource: House | null; + canRonSource: House | null; canCiiTo: House | null; canKanTo: House | null; canRonTo: House | null; @@ -596,14 +600,34 @@ export class PlayerGameEngine { if (house === this.myHouse) { } else { + const canRon = Utils.getHoraSets(this.myHandTiles.concat(tile)).length > 0; const canPon = this.myHandTiles.filter(t => t === tile).length === 2; // TODO: canCii + if (canRon) this.state.canRonSource = house; if (canPon) this.state.canPonSource = house; } } + /** + * ロンします + * @param source 牌を捨てた人 + * @param target ロンした人 + */ + public op_ron(source: House, target: House) { + this.state.canRonSource = null; + + const lastTile = this.getHoTilesOf(source).pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + if (target === this.myHouse) { + this.myHandTiles.push(lastTile); + } else { + this.getHandTilesOf(target).push(null); + } + this.state.turn = null; + } + /** * ポンします * @param source 牌を捨てた人 @@ -627,6 +651,7 @@ export class PlayerGameEngine { } public op_nop() { + this.state.canRonSource = null; this.state.canPonSource = null; } } From 366fade8d3dec3244b0d5d7efe0f892758dd40ca Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 28 Jan 2024 20:20:18 +0900 Subject: [PATCH 06/64] wip --- packages/backend/src/core/MahjongService.ts | 81 ++++++-- .../api/stream/channels/mahjong-room.ts | 6 +- .../frontend/src/pages/mahjong/room.game.vue | 20 +- packages/misskey-mahjong/src/engine.ts | 181 ++++++++++++------ 4 files changed, 205 insertions(+), 83 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 3e8b20a5a1..7b96d6e6ed 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -27,7 +27,7 @@ import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; const INVITATION_TIMEOUT_MS = 1000 * 20; // 20sec const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 5; // 5sec -const DAHAI_TIMEOUT_MS = 1000 * 30; // 30sec +const TURN_TIMEOUT_MS = 1000 * 30; // 30sec type Room = { id: string; @@ -297,7 +297,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } else if (res.type === 'ponned') { this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { source: res.source, target: res.target, tile: res.tile }); const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; - this.waitForDahai(room, userId, engine); + this.waitForTurn(room, userId, engine); } else if (res.type === 'kanned') { // TODO } else if (res.type === 'ronned') { @@ -308,23 +308,36 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { @bindThis private async next(room: Room, engine: Mahjong.Engine.MasterGameEngine) { const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; if (aiHouses.includes(engine.state.turn)) { + // TODO: ちゃんと思考するようにする setTimeout(() => { const house = engine.state.turn; const handTiles = house === 'e' ? engine.state.eHandTiles : house === 's' ? engine.state.sHandTiles : house === 'w' ? engine.state.wHandTiles : engine.state.nHandTiles; this.dahai(room, engine, engine.state.turn, handTiles.at(-1)); }, 500); - return; } else { - const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; - this.waitForDahai(room, userId, engine); + if (engine.isRiichiHouse(engine.state.turn)) { + // リーチ時はアガリ牌でない限りツモ切り + const handTiles = engine.getHandTilesOf(engine.state.turn); + const horaSets = Mahjong.Utils.getHoraSets(handTiles); + if (horaSets.length === 0) { + setTimeout(() => { + this.dahai(room, engine, engine.state.turn, handTiles.at(-1)); + }, 500); + } else { + this.waitForTurn(room, userId, engine); + } + } else { + this.waitForTurn(room, userId, engine); + } } } @bindThis - private async dahai(room: Room, engine: Mahjong.Engine.MasterGameEngine, house: Mahjong.Common.House, tile: Mahjong.Common.Tile) { - const res = engine.op_dahai(house, tile); + private async dahai(room: Room, engine: Mahjong.Engine.MasterGameEngine, house: Mahjong.Common.House, tile: Mahjong.Common.Tile, riichi = false) { + const res = engine.op_dahai(house, tile, riichi); room.gameState = engine.state; await this.saveRoom(room); @@ -345,6 +358,17 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { }, }; + // リーチ中はポン、チー、カンできない + if (engine.isRiichiHouse(res.canPonHouse)) { + answers.pon = false; + } + if (engine.isRiichiHouse(res.canCiiHouse)) { + answers.cii = false; + } + if (engine.isRiichiHouse(res.canKanHouse)) { + answers.kan = false; + } + if (aiHouses.includes(res.canPonHouse)) { // TODO: ちゃんと思考するようにする //answers.pon = Math.random() < 0.25; @@ -399,16 +423,22 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async op_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { + public async op_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string, riichi = false) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; if (!Mahjong.Utils.isTile(tile)) return; - await this.redisClient.del(`mahjong:gameDahaiWaiting:${room.id}`); - const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + + if (riichi) { + if (Mahjong.Utils.getHoraTiles(engine.getHandTilesOf(myHouse)).length === 0) return; + if (engine.getPointsOf(myHouse) < 1000) return; + } + + await this.clearTurnWaitingTimer(room.id); + await this.dahai(room, engine, myHouse, tile); } @@ -470,21 +500,29 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); } + /** + * プレイヤーの行動を待つ(打牌もしくはツモ和了) + * 制限時間が過ぎたらツモ切り + * NOTE: 時間切れチェックが行われたときにタイミングによっては次のwaitingが始まっている場合があることを考慮し、Setに一意のIDを格納する構造としている + * @param room + * @param userId + * @param engine + */ @bindThis - private async waitForDahai(room: Room, userId: MiUser['id'], engine: Mahjong.Engine.MasterGameEngine) { + private async waitForTurn(room: Room, userId: MiUser['id'], engine: Mahjong.Engine.MasterGameEngine) { const id = Math.random().toString(36).slice(2); - console.log('waitForDahai', userId, id); - this.redisClient.sadd(`mahjong:gameDahaiWaiting:${room.id}`, id); + console.log('waitForTurn', userId, id); + this.redisClient.sadd(`mahjong:gameTurnWaiting:${room.id}`, id); const waitingStartedAt = Date.now(); const interval = setInterval(async () => { - const waiting = await this.redisClient.sismember(`mahjong:gameDahaiWaiting:${room.id}`, id); + const waiting = await this.redisClient.sismember(`mahjong:gameTurnWaiting:${room.id}`, id); if (waiting === 0) { clearInterval(interval); return; } - if (Date.now() - waitingStartedAt > DAHAI_TIMEOUT_MS) { - await this.redisClient.srem(`mahjong:gameDahaiWaiting:${room.id}`, id); - console.log('dahai timeout', userId, id); + if (Date.now() - waitingStartedAt > TURN_TIMEOUT_MS) { + await this.redisClient.srem(`mahjong:gameTurnWaiting:${room.id}`, id); + console.log('turn timeout', userId, id); clearInterval(interval); const house = room.user1Id === userId ? engine.state.user1House : room.user2Id === userId ? engine.state.user2House : room.user3Id === userId ? engine.state.user3House : engine.state.user4House; const handTiles = engine.getHandTilesOf(house); @@ -494,6 +532,15 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { }, 2000); } + /** + * プレイヤーが打牌またはツモ和了したら呼ぶ + * @param roomId + */ + @bindThis + private async clearTurnWaitingTimer(roomId: Room['id']) { + await this.redisClient.del(`mahjong:gameTurnWaiting:${roomId}`); + } + @bindThis public dispose(): void { } diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index e3556fbc8b..53d3b940c6 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -38,7 +38,7 @@ class MahjongRoomChannel extends Channel { case 'ready': this.ready(body); break; case 'updateSettings': this.updateSettings(body.key, body.value); break; case 'addAi': this.addAi(); break; - case 'dahai': this.dahai(body.tile); break; + case 'dahai': this.dahai(body.tile, body.riichi); break; case 'ron': this.ron(); break; case 'pon': this.pon(); break; case 'nop': this.nop(); break; @@ -68,10 +68,10 @@ class MahjongRoomChannel extends Channel { } @bindThis - private async dahai(tile: string) { + private async dahai(tile: string, riichi = false) { if (this.user == null) return; - this.mahjongService.op_dahai(this.roomId!, this.user, tile); + this.mahjongService.op_dahai(this.roomId!, this.user, tile, riichi); } @bindThis diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index a38df8025e..45f4fe4b37 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -79,7 +79,8 @@ SPDX-License-Identifier: AGPL-3.0-only Ron Pon Skip - Tsumo + Tsumo + Riichi @@ -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); diff --git a/packages/misskey-mahjong/src/engine.ts b/packages/misskey-mahjong/src/engine.ts index a71dca8e14..27371b86d3 100644 --- a/packages/misskey-mahjong/src/engine.ts +++ b/packages/misskey-mahjong/src/engine.ts @@ -166,7 +166,95 @@ export class MasterGameEngine { return tile; } - public op_dahai(house: House, tile: Tile) { + private canRon(house: House, tile: Tile): boolean { + // フリテン + // TODO: ポンされるなどして自分の河にない場合の考慮 + if (this.getHoTilesOf(house).includes(tile)) return false; + + const horaSets = Utils.getHoraSets(this.getHandTilesOf(house).concat(tile)); + if (horaSets.length === 0) return false; // 完成形じゃない + + // TODO + //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); + //if (yakus.length === 0) return false; // 役がない + + return true; + } + + private canPon(house: House, tile: Tile): boolean { + return this.getHandTilesOf(house).filter(t => t === tile).length === 2; + } + + public getHouse(index: 1 | 2 | 3 | 4): House { + switch (index) { + case 1: return this.state.user1House; + case 2: return this.state.user2House; + case 3: return this.state.user3House; + case 4: return this.state.user4House; + } + } + + public getHandTilesOf(house: House): Tile[] { + switch (house) { + case 'e': return this.state.eHandTiles; + case 's': return this.state.sHandTiles; + case 'w': return this.state.wHandTiles; + case 'n': return this.state.nHandTiles; + default: throw new Error(`unrecognized house: ${house}`); + } + } + + public getHoTilesOf(house: House): Tile[] { + switch (house) { + case 'e': return this.state.eHoTiles; + case 's': return this.state.sHoTiles; + case 'w': return this.state.wHoTiles; + case 'n': return this.state.nHoTiles; + default: throw new Error(`unrecognized house: ${house}`); + } + } + + public getHurosOf(house: House): Huro[] { + switch (house) { + case 'e': return this.state.eHuros; + case 's': return this.state.sHuros; + case 'w': return this.state.wHuros; + case 'n': return this.state.nHuros; + default: throw new Error(`unrecognized house: ${house}`); + } + } + + public getPointsOf(house: House): number { + switch (house) { + case 'e': return this.state.ePoints; + case 's': return this.state.sPoints; + case 'w': return this.state.wPoints; + case 'n': return this.state.nPoints; + default: throw new Error(`unrecognized house: ${house}`); + } + } + + public setPointsOf(house: House, points: number) { + switch (house) { + case 'e': this.state.ePoints = points; break; + case 's': this.state.sPoints = points; break; + case 'w': this.state.wPoints = points; break; + case 'n': this.state.nPoints = points; break; + default: throw new Error(`unrecognized house: ${house}`); + } + } + + public isRiichiHouse(house: House): boolean { + switch (house) { + case 'e': return this.state.eRiichi; + case 's': return this.state.sRiichi; + case 'w': return this.state.wRiichi; + case 'n': return this.state.nRiichi; + default: throw new Error(`unrecognized house: ${house}`); + } + } + + public op_dahai(house: House, tile: Tile, riichi = false) { if (this.state.turn !== house) throw new Error('Not your turn'); const handTiles = this.getHandTilesOf(house); @@ -174,6 +262,15 @@ export class MasterGameEngine { handTiles.splice(handTiles.indexOf(tile), 1); this.getHoTilesOf(house).push(tile); + if (riichi) { + switch (house) { + case 'e': this.state.eRiichi = true; break; + case 's': this.state.sRiichi = true; break; + case 'w': this.state.wRiichi = true; break; + case 'n': this.state.nRiichi = true; break; + } + } + const canRonHouses: House[] = []; switch (house) { case 'e': @@ -332,7 +429,7 @@ export class MasterGameEngine { const target = this.state.ciiAsking.target; const tile = this.getHoTilesOf(source).pop()!; - this.getCiiedTilesOf(target).push({ tile, from: source }); + this.getHurosOf(target).push({ type: 'cii', tile, from: source }); clearAsking(); this.state.turn = target; @@ -357,64 +454,6 @@ export class MasterGameEngine { }; } - private canRon(house: House, tile: Tile): boolean { - // フリテン - // TODO: ポンされるなどして自分の河にない場合の考慮 - if (this.getHoTilesOf(house).includes(tile)) return false; - - const horaSets = Utils.getHoraSets(this.getHandTilesOf(house).concat(tile)); - if (horaSets.length === 0) return false; // 完成形じゃない - - // TODO - //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); - //if (yakus.length === 0) return false; // 役がない - - return true; - } - - private canPon(house: House, tile: Tile): boolean { - return this.getHandTilesOf(house).filter(t => t === tile).length === 2; - } - - public getHouse(index: 1 | 2 | 3 | 4): House { - switch (index) { - case 1: return this.state.user1House; - case 2: return this.state.user2House; - case 3: return this.state.user3House; - case 4: return this.state.user4House; - } - } - - public getHandTilesOf(house: House): Tile[] { - switch (house) { - case 'e': return this.state.eHandTiles; - case 's': return this.state.sHandTiles; - case 'w': return this.state.wHandTiles; - case 'n': return this.state.nHandTiles; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getHoTilesOf(house: House): Tile[] { - switch (house) { - case 'e': return this.state.eHoTiles; - case 's': return this.state.sHoTiles; - case 'w': return this.state.wHoTiles; - case 'n': return this.state.nHoTiles; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getHurosOf(house: House): Huro[] { - switch (house) { - case 'e': return this.state.eHuros; - case 's': return this.state.sHuros; - case 'w': return this.state.wHuros; - case 'n': return this.state.nHuros; - default: throw new Error(`unrecognized house: ${house}`); - } - } - public createPlayerState(index: 1 | 2 | 3 | 4): PlayerState { const house = this.getHouse(index); @@ -544,6 +583,15 @@ export class PlayerGameEngine { } } + public get isMeRiichi(): boolean { + switch (this.myHouse) { + case 'e': return this.state.eRiichi; + case 's': return this.state.sRiichi; + case 'w': return this.state.wRiichi; + case 'n': return this.state.nRiichi; + } + } + public getHandTilesOf(house: House) { switch (house) { case 'e': return this.state.eHandTiles; @@ -584,10 +632,19 @@ export class PlayerGameEngine { } } - public op_dahai(house: House, tile: Tile) { - console.log('op_dahai', this.state.turn, house, tile); + public op_dahai(house: House, tile: Tile, riichi = false) { + console.log('op_dahai', this.state.turn, house, tile, riichi); if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); + if (riichi) { + switch (house) { + case 'e': this.state.eRiichi = true; break; + case 's': this.state.sRiichi = true; break; + case 'w': this.state.wRiichi = true; break; + case 'n': this.state.nRiichi = true; break; + } + } + if (house === this.myHouse) { this.myHandTiles.splice(this.myHandTiles.indexOf(tile), 1); this.myHoTiles.push(tile); From 1ea098f4b4d4fb345a2a021ac1b3ea73036661ad Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 28 Jan 2024 20:34:45 +0900 Subject: [PATCH 07/64] wip --- packages/backend/src/core/MahjongService.ts | 6 +++--- .../frontend/src/pages/mahjong/room.game.vue | 21 +++++++++++++++++-- packages/misskey-mahjong/src/utils.ts | 9 ++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 7b96d6e6ed..692be75ab5 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -359,13 +359,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { }; // リーチ中はポン、チー、カンできない - if (engine.isRiichiHouse(res.canPonHouse)) { + if (res.canPonHouse != null && engine.isRiichiHouse(res.canPonHouse)) { answers.pon = false; } - if (engine.isRiichiHouse(res.canCiiHouse)) { + if (res.canCiiHouse != null && engine.isRiichiHouse(res.canCiiHouse)) { answers.cii = false; } - if (engine.isRiichiHouse(res.canKanHouse)) { + if (res.canKanHouse != null && engine.isRiichiHouse(res.canKanHouse)) { answers.kan = false; } diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 45f4fe4b37..fcccb8b319 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -118,13 +118,30 @@ const isMyTurn = computed(() => { }); const canRiichi = computed(() => { - return Mahjong.Utils.getHoraTiles(engine.value.myHandTiles).length > 0; + return Mahjong.Utils.getTilesForRiichi(engine.value.myHandTiles).length > 0; }); const canHora = computed(() => { return Mahjong.Utils.getHoraSets(engine.value.myHandTiles).length > 0; }); - +/* +console.log(Mahjong.Utils.getTilesForRiichi([ + 'm1', + 'm2', + 'm2', + 'm3', + 'm3', + 'm5', + 'm6', + 'p4', + 'p5', + 'p6', + 's6', + 's7', + 's8', + 'm7', +])); +*/ /* console.log(Mahjong.Utils.getHoraSets([ 'm3', diff --git a/packages/misskey-mahjong/src/utils.ts b/packages/misskey-mahjong/src/utils.ts index e1b8de0c0b..bed483548e 100644 --- a/packages/misskey-mahjong/src/utils.ts +++ b/packages/misskey-mahjong/src/utils.ts @@ -233,3 +233,12 @@ export function getHoraTiles(handTiles: Tile[]): Tile[] { return horaSets.length > 0; }); } + +export function getTilesForRiichi(handTiles: Tile[]): Tile[] { + return handTiles.filter(tile => { + const tempHandTiles = [...handTiles]; + tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); + const horaTiles = getHoraTiles(tempHandTiles); + return horaTiles.length > 0; + }); +} From dad843004043f00ab3223742c277792e75614576 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 29 Jan 2024 10:46:23 +0900 Subject: [PATCH 08/64] wip --- .../backend/src/core/GlobalEventService.ts | 4 + packages/backend/src/core/MahjongService.ts | 55 +- .../api/stream/channels/mahjong-room.ts | 8 +- packages/frontend/assets/mahjong/ron.png | Bin 0 -> 17136 bytes .../frontend/src/pages/mahjong/room.game.vue | 40 +- packages/misskey-mahjong/src/common.ts | 187 +++++ packages/misskey-mahjong/src/engine.master.ts | 455 +++++++++++ packages/misskey-mahjong/src/engine.player.ts | 177 +++++ packages/misskey-mahjong/src/engine.ts | 723 ------------------ packages/misskey-mahjong/src/index.ts | 4 +- packages/misskey-mahjong/src/serializer.ts | 2 +- 11 files changed, 880 insertions(+), 775 deletions(-) create mode 100644 packages/frontend/assets/mahjong/ron.png create mode 100644 packages/misskey-mahjong/src/engine.master.ts create mode 100644 packages/misskey-mahjong/src/engine.player.ts delete mode 100644 packages/misskey-mahjong/src/engine.ts diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index d7318a43ad..629ef1b01d 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -195,6 +195,10 @@ export interface ReversiGameEventTypes { } export interface MahjongRoomEventTypes { + joined: { + index: number; + user: Packed<'UserLite'>; + }; changeReadyStates: { user1: boolean; user2: boolean; diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 692be75ab5..9e962dc22b 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -54,7 +54,7 @@ type Room = { isStarted?: boolean; timeLimitForEachTurn: number; - gameState?: Mahjong.Engine.MasterState; + gameState?: Mahjong.MasterState; }; type CallAndRonAnswers = { @@ -262,7 +262,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { throw new Error('Not ready'); } - room.gameState = Mahjong.Engine.MasterGameEngine.createInitialState(); + room.gameState = Mahjong.MasterGameEngine.createInitialState(); room.isStarted = true; await this.saveRoom(room); @@ -281,8 +281,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async answer(room: Room, engine: Mahjong.Engine.MasterGameEngine, answers: CallAndRonAnswers) { - const res = engine.op_resolveCallAndRonInterruption({ + private async answer(room: Room, engine: Mahjong.MasterGameEngine, answers: CallAndRonAnswers) { + const res = engine.commit_resolveCallAndRonInterruption({ pon: answers.pon ?? false, cii: answers.cii ?? false, kan: answers.kan ?? false, @@ -306,7 +306,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async next(room: Room, engine: Mahjong.Engine.MasterGameEngine) { + private async next(room: Room, engine: Mahjong.MasterGameEngine) { const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; @@ -314,13 +314,12 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { // TODO: ちゃんと思考するようにする setTimeout(() => { const house = engine.state.turn; - const handTiles = house === 'e' ? engine.state.eHandTiles : house === 's' ? engine.state.sHandTiles : house === 'w' ? engine.state.wHandTiles : engine.state.nHandTiles; - this.dahai(room, engine, engine.state.turn, handTiles.at(-1)); + this.dahai(room, engine, engine.state.turn, engine.state.handTiles[house].at(-1)); }, 500); } else { - if (engine.isRiichiHouse(engine.state.turn)) { + if (engine.state.riichis[engine.state.turn]) { // リーチ時はアガリ牌でない限りツモ切り - const handTiles = engine.getHandTilesOf(engine.state.turn); + const handTiles = engine.state.handTiles[engine.state.turn]; const horaSets = Mahjong.Utils.getHoraSets(handTiles); if (horaSets.length === 0) { setTimeout(() => { @@ -336,8 +335,12 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async dahai(room: Room, engine: Mahjong.Engine.MasterGameEngine, house: Mahjong.Common.House, tile: Mahjong.Common.Tile, riichi = false) { - const res = engine.op_dahai(house, tile, riichi); + private async endKyoku(room: Room, engine: Mahjong.MasterGameEngine) { + } + + @bindThis + private async dahai(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.Common.House, tile: Mahjong.Common.Tile, riichi = false) { + const res = engine.commit_dahai(house, tile, riichi); room.gameState = engine.state; await this.saveRoom(room); @@ -359,13 +362,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { }; // リーチ中はポン、チー、カンできない - if (res.canPonHouse != null && engine.isRiichiHouse(res.canPonHouse)) { + if (res.canPonHouse != null && engine.state.riichis[res.canPonHouse]) { answers.pon = false; } - if (res.canCiiHouse != null && engine.isRiichiHouse(res.canCiiHouse)) { + if (res.canCiiHouse != null && engine.state.riichis[res.canCiiHouse]) { answers.cii = false; } - if (res.canKanHouse != null && engine.isRiichiHouse(res.canKanHouse)) { + if (res.canKanHouse != null && engine.state.riichis[res.canKanHouse]) { answers.kan = false; } @@ -423,18 +426,18 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async op_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string, riichi = false) { + public async commit_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string, riichi = false) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; if (!Mahjong.Utils.isTile(tile)) return; - const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; if (riichi) { - if (Mahjong.Utils.getHoraTiles(engine.getHandTilesOf(myHouse)).length === 0) return; - if (engine.getPointsOf(myHouse) < 1000) return; + if (Mahjong.Utils.getHoraTiles(engine.state.handTiles[myHouse]).length === 0) return; + if (engine.state.points[myHouse] < 1000) return; } await this.clearTurnWaitingTimer(room.id); @@ -443,12 +446,12 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async op_ron(roomId: MiMahjongGame['id'], user: MiUser) { + public async commit_ron(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; // TODO: 自分にロン回答する権利がある状態かバリデーション @@ -462,12 +465,12 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async op_pon(roomId: MiMahjongGame['id'], user: MiUser) { + public async commit_pon(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; // TODO: 自分にポン回答する権利がある状態かバリデーション @@ -481,12 +484,12 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async op_nop(roomId: MiMahjongGame['id'], user: MiUser) { + public async commit_nop(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.Engine.MasterGameEngine(room.gameState); + const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 @@ -509,7 +512,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { * @param engine */ @bindThis - private async waitForTurn(room: Room, userId: MiUser['id'], engine: Mahjong.Engine.MasterGameEngine) { + private async waitForTurn(room: Room, userId: MiUser['id'], engine: Mahjong.MasterGameEngine) { const id = Math.random().toString(36).slice(2); console.log('waitForTurn', userId, id); this.redisClient.sadd(`mahjong:gameTurnWaiting:${room.id}`, id); @@ -525,7 +528,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { console.log('turn timeout', userId, id); clearInterval(interval); const house = room.user1Id === userId ? engine.state.user1House : room.user2Id === userId ? engine.state.user2House : room.user3Id === userId ? engine.state.user3House : engine.state.user4House; - const handTiles = engine.getHandTilesOf(house); + const handTiles = engine.state.handTiles[house]; await this.dahai(room, engine, house, handTiles.at(-1)); return; } diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 53d3b940c6..e7a0c81abd 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -71,28 +71,28 @@ class MahjongRoomChannel extends Channel { private async dahai(tile: string, riichi = false) { if (this.user == null) return; - this.mahjongService.op_dahai(this.roomId!, this.user, tile, riichi); + this.mahjongService.commit_dahai(this.roomId!, this.user, tile, riichi); } @bindThis private async ron() { if (this.user == null) return; - this.mahjongService.op_ron(this.roomId!, this.user); + this.mahjongService.commit_ron(this.roomId!, this.user); } @bindThis private async pon() { if (this.user == null) return; - this.mahjongService.op_pon(this.roomId!, this.user); + this.mahjongService.commit_pon(this.roomId!, this.user); } @bindThis private async nop() { if (this.user == null) return; - this.mahjongService.op_nop(this.roomId!, this.user); + this.mahjongService.commit_nop(this.roomId!, this.user); } @bindThis diff --git a/packages/frontend/assets/mahjong/ron.png b/packages/frontend/assets/mahjong/ron.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd40d6dcaa2af91923bbe1b9a845b5939faa482 GIT binary patch literal 17136 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index fcccb8b319..9105992e2d 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -7,19 +7,19 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    +
    -
    +
    -
    +
    @@ -27,28 +27,28 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    +
    -
    +
    -
    +
    -
    +
    @@ -67,7 +67,7 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    +
    @@ -111,7 +111,7 @@ const props = defineProps<{ const room = ref(deepClone(props.room)); const myUserNumber = computed(() => room.value.user1Id === $i.id ? 1 : room.value.user2Id === $i.id ? 2 : room.value.user3Id === $i.id ? 3 : 4); -const engine = shallowRef(new Mahjong.Engine.PlayerGameEngine(myUserNumber.value, room.value.gameState)); +const engine = shallowRef(new Mahjong.PlayerGameEngine(myUserNumber.value, room.value.gameState)); const isMyTurn = computed(() => { return engine.value.state.turn === engine.value.myHouse; @@ -205,7 +205,7 @@ if (!props.room.isEnded) { function dahai(tile: Mahjong.Common.Tile, ev: MouseEvent) { if (!isMyTurn.value) return; - engine.value.op_dahai(engine.value.myHouse, tile); + engine.value.commit_dahai(engine.value.myHouse, tile); iTsumoed.value = false; triggerRef(engine); @@ -217,7 +217,7 @@ function dahai(tile: Mahjong.Common.Tile, ev: MouseEvent) { function riichi() { if (!isMyTurn.value) return; - engine.value.op_dahai(engine.value.myHouse, tile, true); + engine.value.commit_dahai(engine.value.myHouse, tile, true); iTsumoed.value = false; triggerRef(engine); @@ -228,7 +228,7 @@ function riichi() { } function ron() { - engine.value.op_ron(engine.value.state.canRonSource, engine.value.myHouse); + engine.value.commit_ron(engine.value.state.canRonSource, engine.value.myHouse); triggerRef(engine); props.connection!.send('ron', { @@ -236,7 +236,7 @@ function ron() { } function pon() { - engine.value.op_pon(engine.value.state.canPonSource, engine.value.myHouse); + engine.value.commit_pon(engine.value.state.canPonSource, engine.value.myHouse); triggerRef(engine); props.connection!.send('pon', { @@ -244,7 +244,7 @@ function pon() { } function skip() { - engine.value.op_nop(engine.value.myHouse); + engine.value.commit_nop(engine.value.myHouse); triggerRef(engine); props.connection!.send('nop', {}); @@ -270,7 +270,7 @@ function onStreamDahai(log) { // return; //} - engine.value.op_dahai(log.house, log.tile); + engine.value.commit_dahai(log.house, log.tile); triggerRef(engine); myTurnTimerRmain.value = room.value.timeLimitForEachTurn; @@ -287,7 +287,7 @@ function onStreamTsumo(log) { // return; //} - engine.value.op_tsumo(log.house, log.tile); + engine.value.commit_tsumo(log.house, log.tile); triggerRef(engine); if (log.house === engine.value.myHouse) { @@ -309,12 +309,12 @@ function onStreamDahaiAndTsumo(log) { //} if (log.dahaiHouse !== engine.value.myHouse) { - engine.value.op_dahai(log.dahaiHouse, log.dahaiTile); + engine.value.commit_dahai(log.dahaiHouse, log.dahaiTile); triggerRef(engine); } window.setTimeout(() => { - engine.value.op_tsumo(Mahjong.Utils.nextHouse(log.dahaiHouse), log.tsumoTile); + engine.value.commit_tsumo(Mahjong.Utils.nextHouse(log.dahaiHouse), log.tsumoTile); triggerRef(engine); if (Mahjong.Utils.nextHouse(log.dahaiHouse) === engine.value.myHouse) { @@ -338,7 +338,7 @@ function onStreamPonned(log) { if (log.target === engine.value.myHouse) return; - engine.value.op_pon(log.source, log.target); + engine.value.commit_pon(log.source, log.target); triggerRef(engine); myTurnTimerRmain.value = room.value.timeLimitForEachTurn; @@ -347,7 +347,7 @@ function onStreamPonned(log) { function restoreRoom(_room) { room.value = deepClone(_room); - engine.value = new Mahjong.Engine.PlayerGameEngine(myUserNumber, room.value.gameState); + engine.value = new Mahjong.PlayerGameEngine(myUserNumber, room.value.gameState); } onMounted(() => { diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index bf7d15491e..0e3e0243bc 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -46,3 +46,190 @@ export const TILE_TYPES = [ export type Tile = typeof TILE_TYPES[number]; export type House = 'e' | 's' | 'w' | 'n'; + +export type Huro = { + type: 'pon'; + tile: Tile; + from: House; +} | { + type: 'cii'; + tiles: [Tile, Tile, Tile]; + from: House; +} | { + type: 'minkan'; + tile: Tile; + from: House; +} | { + type: 'ankan'; + tile: Tile; + from: House; +}; + +export const yakuNames = [ + 'riichi', + 'ippatsu', + 'tsumo', + 'tanyao', + 'pinfu', + 'iipeko', + 'field-wind', + 'seat-wind', + 'white', + 'green', + 'red', + 'rinshan', + 'chankan', + 'haitei', + 'hotei', + 'sanshoku-dojun', + 'sanshoku-doko', + 'ittsu', + 'chanta', + 'chitoitsu', + 'toitoi', + 'sananko', + 'honroto', + 'sankantsu', + 'shosangen', + 'double-riichi', + 'honitsu', + 'junchan', + 'ryampeko', + 'chinitsu', + 'dora', + 'red-dora', +] as const; + +export const yakumanNames = [ + 'kokushi', + 'kokushi-13', + 'suanko', + 'suanko-tanki', + 'daisangen', + 'tsuiso', + 'shosushi', + 'daisushi', + 'ryuiso', + 'chinroto', + 'sukantsu', + 'churen', + 'pure-churen', + 'tenho', + 'chiho', +] as const; + +type EnvForCalcYaku = { + house: House; + + /** + * 和了る人の手牌(副露した牌は含まない) + */ + handTiles: Tile[]; + + /** + * 河 + */ + hoTiles: Tile[]; + + /** + * 副露 + */ + huros: Huro[]; + + /** + * ツモ牌 + */ + tsumoTile: Tile | null; + + /** + * ロン牌 + */ + ronTile: Tile | null; + + /** + * ドラ表示牌 + */ + doraTiles: Tile[]; + + /** + * 赤ドラ表示牌 + */ + redDoraTiles: Tile[]; + + /** + * 場風 + */ + fieldWind: House; + + /** + * 自風 + */ + seatWind: House; + + /** + * リーチしたかどうか + */ + riichi: boolean; +}; + +const YAKU_DEFINITIONS = [{ + name: 'riichi', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.riichi; + }, +}, { + name: 'red', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return ( + (state.handTiles.filter(t => t === 'chun').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'chun' : + huro.type === 'ankan' ? huro.tile === 'chun' : + huro.type === 'minkan' ? huro.tile === 'chun' : + false).length >= 3) + ); + }, +}, { + name: 'white', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return ( + (state.handTiles.filter(t => t === 'haku').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'haku' : + huro.type === 'ankan' ? huro.tile === 'haku' : + huro.type === 'minkan' ? huro.tile === 'haku' : + false).length >= 3) + ); + }, +}, { + name: 'green', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return ( + (state.handTiles.filter(t => t === 'hatsu').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'hatsu' : + huro.type === 'ankan' ? huro.tile === 'hatsu' : + huro.type === 'minkan' ? huro.tile === 'hatsu' : + false).length >= 3) + ); + }, +}, { + name: 'tanyao', + fan: 1, + calc: (state: EnvForCalcYaku) => { + const yaochuTiles: Tile[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; + return ( + (state.handTiles.filter(t => yaochuTiles.includes(t)).length === 0) && + (state.huros.filter(huro => + huro.type === 'pon' ? yaochuTiles.includes(huro.tile) : + huro.type === 'ankan' ? yaochuTiles.includes(huro.tile) : + huro.type === 'minkan' ? yaochuTiles.includes(huro.tile) : + huro.type === 'cii' ? huro.tiles.some(t2 => yaochuTiles.includes(t2)) : + false).length === 0) + ); + }, +}]; diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts new file mode 100644 index 0000000000..b581ba9191 --- /dev/null +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -0,0 +1,455 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import CRC32 from 'crc-32'; +import { Tile, House, Huro, TILE_TYPES } from './common.js'; +import * as Utils from './utils.js'; +import { PlayerState } from './engine.player.js'; + +export type MasterState = { + user1House: House; + user2House: House; + user3House: House; + user4House: House; + tiles: Tile[]; + + /** + * 副露した牌を含まない手牌 + */ + handTiles: { + e: Tile[]; + s: Tile[]; + w: Tile[]; + n: Tile[]; + }; + + hoTiles: { + e: Tile[]; + s: Tile[]; + w: Tile[]; + n: Tile[]; + }; + huros: { + e: Huro[]; + s: Huro[]; + w: Huro[]; + n: Huro[]; + }; + riichis: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; + points: { + e: number; + s: number; + w: number; + n: number; + }; + turn: House | null; + nextTurnAfterAsking: House | null; + + ronAsking: { + /** + * 牌を捨てた人 + */ + source: House; + + /** + * ロンする権利がある人 + */ + targets: House[]; + } | null; + + ponAsking: { + /** + * 牌を捨てた人 + */ + source: House; + + /** + * ポンする権利がある人 + */ + target: House; + } | null; + + ciiAsking: { + /** + * 牌を捨てた人 + */ + source: House; + + /** + * チーする権利がある人(sourceの下家なのは自明だがプログラム簡略化のため) + */ + target: House; + } | null; + + kanAsking: { + /** + * 牌を捨てた人 + */ + source: House; + + /** + * カンする権利がある人 + */ + target: House; + } | null; +}; + +export class MasterGameEngine { + public state: MasterState; + + constructor(state: MasterState) { + this.state = state; + } + + public static createInitialState(): MasterState { + const tiles = [...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice()]; + tiles.sort(() => Math.random() - 0.5); + + const eHandTiles = tiles.splice(0, 14); + const sHandTiles = tiles.splice(0, 13); + const wHandTiles = tiles.splice(0, 13); + const nHandTiles = tiles.splice(0, 13); + + return { + user1House: 'e', + user2House: 's', + user3House: 'w', + user4House: 'n', + tiles, + handTiles: { + e: eHandTiles, + s: sHandTiles, + w: wHandTiles, + n: nHandTiles, + }, + hoTiles: { + e: [], + s: [], + w: [], + n: [], + }, + huros: { + e: [], + s: [], + w: [], + n: [], + }, + riichis: { + e: false, + s: false, + w: false, + n: false, + }, + points: { + e: 25000, + s: 25000, + w: 25000, + n: 25000, + }, + turn: 'e', + nextTurnAfterAsking: null, + ponAsking: null, + ciiAsking: null, + kanAsking: null, + ronAsking: null, + }; + } + + private tsumo(): Tile { + const tile = this.state.tiles.pop(); + if (tile == null) throw new Error('No tiles left'); + if (this.state.turn == null) throw new Error('Not your turn'); + this.state.handTiles[this.state.turn].push(tile); + return tile; + } + + private canRon(house: House, tile: Tile): boolean { + // フリテン + // TODO: ポンされるなどして自分の河にない場合の考慮 + if (this.state.hoTiles[house].includes(tile)) return false; + + const horaSets = Utils.getHoraSets(this.state.handTiles[house].concat(tile)); + if (horaSets.length === 0) return false; // 完成形じゃない + + // TODO + //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); + //if (yakus.length === 0) return false; // 役がない + + return true; + } + + private canPon(house: House, tile: Tile): boolean { + return this.state.handTiles[house].filter(t => t === tile).length === 2; + } + + public getHouse(index: 1 | 2 | 3 | 4): House { + switch (index) { + case 1: return this.state.user1House; + case 2: return this.state.user2House; + case 3: return this.state.user3House; + case 4: return this.state.user4House; + } + } + + public commit_dahai(house: House, tile: Tile, riichi = false) { + if (this.state.turn !== house) throw new Error('Not your turn'); + + const handTiles = this.state.handTiles[house]; + if (!handTiles.includes(tile)) throw new Error('No such tile in your hand'); + handTiles.splice(handTiles.indexOf(tile), 1); + this.state.hoTiles[house].push(tile); + + if (riichi) { + this.state.riichis[house] = true; + } + + const canRonHouses: House[] = []; + switch (house) { + case 'e': + if (this.canRon('s', tile)) canRonHouses.push('s'); + if (this.canRon('w', tile)) canRonHouses.push('w'); + if (this.canRon('n', tile)) canRonHouses.push('n'); + break; + case 's': + if (this.canRon('e', tile)) canRonHouses.push('e'); + if (this.canRon('w', tile)) canRonHouses.push('w'); + if (this.canRon('n', tile)) canRonHouses.push('n'); + break; + case 'w': + if (this.canRon('e', tile)) canRonHouses.push('e'); + if (this.canRon('s', tile)) canRonHouses.push('s'); + if (this.canRon('n', tile)) canRonHouses.push('n'); + break; + case 'n': + if (this.canRon('e', tile)) canRonHouses.push('e'); + if (this.canRon('s', tile)) canRonHouses.push('s'); + if (this.canRon('w', tile)) canRonHouses.push('w'); + break; + } + + const canKanHouse: House | null = null; + + let canPonHouse: House | null = null; + switch (house) { + case 'e': + canPonHouse = this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; + break; + case 's': + canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; + break; + case 'w': + canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('n', tile) ? 'n' : null; + break; + case 'n': + canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : null; + break; + } + + const canCiiHouse: House | null = null; + // TODO + //let canCii: boolean = false; + //if (house === 'e') { + // canCii = this.state.sHandTiles... + //} else if (house === 's') { + // canCii = this.state.wHandTiles... + //} else if (house === 'w') { + // canCii = this.state.nHandTiles... + //} else if (house === 'n') { + // canCii = this.state.eHandTiles... + //} + + if (canRonHouses.length > 0 || canPonHouse != null) { + if (canRonHouses.length > 0) { + this.state.ronAsking = { + source: house, + targets: canRonHouses, + }; + } + if (canKanHouse != null) { + this.state.kanAsking = { + source: house, + target: canKanHouse, + }; + } + if (canPonHouse != null) { + this.state.ponAsking = { + source: house, + target: canPonHouse, + }; + } + if (canCiiHouse != null) { + this.state.ciiAsking = { + source: house, + target: canCiiHouse, + }; + } + this.state.turn = null; + this.state.nextTurnAfterAsking = Utils.nextHouse(house); + return { + asking: true, + canRonHouses: canRonHouses, + canKanHouse: canKanHouse, + canPonHouse: canPonHouse, + canCiiHouse: canCiiHouse, + }; + } + + this.state.turn = Utils.nextHouse(house); + + const tsumoTile = this.tsumo(); + + return { + asking: false, + tsumoTile: tsumoTile, + }; + } + + public commit_resolveCallAndRonInterruption(answers: { + pon: boolean; + cii: boolean; + kan: boolean; + ron: House[]; + }) { + if (this.state.ponAsking == null && this.state.ciiAsking == null && this.state.kanAsking == null && this.state.ronAsking == null) throw new Error(); + + const clearAsking = () => { + this.state.ponAsking = null; + this.state.ciiAsking = null; + this.state.kanAsking = null; + this.state.ronAsking = null; + }; + + if (this.state.ronAsking != null && answers.ron.length > 0) { + // TODO + return; + } + + if (this.state.kanAsking != null && answers.kan) { + const source = this.state.kanAsking.source; + const target = this.state.kanAsking.target; + + const tile = this.state.hoTiles[source].pop()!; + this.state.huros[target].push({ type: 'minkan', tile, from: source }); + + clearAsking(); + this.state.turn = target; + // TODO + return; + } + + if (this.state.ponAsking != null && answers.pon) { + const source = this.state.ponAsking.source; + const target = this.state.ponAsking.target; + + const tile = this.state.hoTiles[source].pop()!; + this.state.handTiles[target].splice(this.state.handTiles[target].indexOf(tile), 1); + this.state.handTiles[target].splice(this.state.handTiles[target].indexOf(tile), 1); + this.state.huros[target].push({ type: 'pon', tile, from: source }); + + clearAsking(); + this.state.turn = target; + return { + type: 'ponned', + source, + target, + tile, + }; + } + + if (this.state.ciiAsking != null && answers.cii) { + const source = this.state.ciiAsking.source; + const target = this.state.ciiAsking.target; + + const tile = this.state.hoTiles[source].pop()!; + this.state.huros[target].push({ type: 'cii', tile, from: source }); + + clearAsking(); + this.state.turn = target; + return { + type: 'ciied', + source, + target, + tile, + }; + } + + clearAsking(); + this.state.turn = this.state.nextTurnAfterAsking; + this.state.nextTurnAfterAsking = null; + + const tile = this.tsumo(); + + return { + type: 'tsumo', + house: this.state.turn, + tile, + }; + } + + public createPlayerState(index: 1 | 2 | 3 | 4): PlayerState { + const house = this.getHouse(index); + + return { + user1House: this.state.user1House, + user2House: this.state.user2House, + user3House: this.state.user3House, + user4House: this.state.user4House, + tilesCount: this.state.tiles.length, + handTiles: { + e: house === 'e' ? this.state.handTiles.e : this.state.handTiles.e.map(() => null), + s: house === 's' ? this.state.handTiles.s : this.state.handTiles.s.map(() => null), + w: house === 'w' ? this.state.handTiles.w : this.state.handTiles.w.map(() => null), + n: house === 'n' ? this.state.handTiles.n : this.state.handTiles.n.map(() => null), + }, + hoTiles: { + e: this.state.hoTiles.e, + s: this.state.hoTiles.s, + w: this.state.hoTiles.w, + n: this.state.hoTiles.n, + }, + huros: { + e: this.state.huros.e, + s: this.state.huros.s, + w: this.state.huros.w, + n: this.state.huros.n, + }, + riichis: { + e: this.state.riichis.e, + s: this.state.riichis.s, + w: this.state.riichis.w, + n: this.state.riichis.n, + }, + points: { + e: this.state.points.e, + s: this.state.points.s, + w: this.state.points.w, + n: this.state.points.n, + }, + latestDahaiedTile: null, + turn: this.state.turn, + }; + } + + public calcCrc32ForUser1(): number { + // TODO + } + + public calcCrc32ForUser2(): number { + // TODO + } + + public calcCrc32ForUser3(): number { + // TODO + } + + public calcCrc32ForUser4(): number { + // TODO + } +} diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts new file mode 100644 index 0000000000..f1c9a6cb3a --- /dev/null +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -0,0 +1,177 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import CRC32 from 'crc-32'; +import { Tile, House, Huro, TILE_TYPES } from './common.js'; +import * as Utils from './utils.js'; + +export type PlayerState = { + user1House: House; + user2House: House; + user3House: House; + user4House: House; + tilesCount: number; + + /** + * 副露した牌を含まない手牌 + */ + handTiles: { + e: Tile[] | null[]; + s: Tile[] | null[]; + w: Tile[] | null[]; + n: Tile[] | null[]; + }; + + hoTiles: { + e: Tile[]; + s: Tile[]; + w: Tile[]; + n: Tile[]; + }; + huros: { + e: Huro[]; + s: Huro[]; + w: Huro[]; + n: Huro[]; + }; + riichis: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; + points: { + e: number; + s: number; + w: number; + n: number; + }; + latestDahaiedTile: Tile | null; + turn: House | null; + canPonSource: House | null; + canCiiSource: House | null; + canKanSource: House | null; + canRonSource: House | null; + canCiiTo: House | null; + canKanTo: House | null; + canRonTo: House | null; +}; + +export class PlayerGameEngine { + /** + * このエラーが発生したときはdesyncが疑われる + */ + public static InvalidOperationError = class extends Error {}; + + private myUserNumber: 1 | 2 | 3 | 4; + public state: PlayerState; + + constructor(myUserNumber: PlayerGameEngine['myUserNumber'], state: PlayerState) { + this.myUserNumber = myUserNumber; + this.state = state; + } + + public get myHouse(): House { + switch (this.myUserNumber) { + case 1: return this.state.user1House; + case 2: return this.state.user2House; + case 3: return this.state.user3House; + case 4: return this.state.user4House; + } + } + + public get myHandTiles(): Tile[] { + return this.state.handTiles[this.myHouse] as Tile[]; + } + + public get isMeRiichi(): boolean { + return this.state.riichis[this.myHouse]; + } + + public commit_tsumo(house: House, tile: Tile) { + console.log('commit_tsumo', this.state.turn, house, tile); + this.state.turn = house; + if (house === this.myHouse) { + this.myHandTiles.push(tile); + } else { + this.state.handTiles[house].push(null); + } + } + + public commit_dahai(house: House, tile: Tile, riichi = false) { + console.log('commit_dahai', this.state.turn, house, tile, riichi); + if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); + + if (riichi) { + this.state.riichis[house] = true; + } + + if (house === this.myHouse) { + this.myHandTiles.splice(this.myHandTiles.indexOf(tile), 1); + this.state.hoTiles[this.myHouse].push(tile); + } else { + this.state.handTiles[house].pop(); + this.state.hoTiles[house].push(tile); + } + + this.state.turn = null; + + if (house === this.myHouse) { + } else { + const canRon = Utils.getHoraSets(this.myHandTiles.concat(tile)).length > 0; + const canPon = this.myHandTiles.filter(t => t === tile).length === 2; + + // TODO: canCii + + if (canRon) this.state.canRonSource = house; + if (canPon) this.state.canPonSource = house; + } + } + + /** + * ロンします + * @param source 牌を捨てた人 + * @param target ロンした人 + */ + public commit_ron(source: House, target: House) { + this.state.canRonSource = null; + + const lastTile = this.state.hoTiles[source].pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + if (target === this.myHouse) { + this.myHandTiles.push(lastTile); + } else { + this.state.handTiles[target].push(null); + } + this.state.turn = null; + } + + /** + * ポンします + * @param source 牌を捨てた人 + * @param target ポンした人 + */ + public commit_pon(source: House, target: House) { + this.state.canPonSource = null; + + const lastTile = this.state.hoTiles[source].pop(); + if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + if (target === this.myHouse) { + this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); + this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); + } else { + this.state.handTiles[target].unshift(); + this.state.handTiles[target].unshift(); + } + this.state.huros[target].push({ type: 'pon', tile: lastTile, from: source }); + + this.state.turn = target; + } + + public commit_nop() { + this.state.canRonSource = null; + this.state.canPonSource = null; + } +} diff --git a/packages/misskey-mahjong/src/engine.ts b/packages/misskey-mahjong/src/engine.ts deleted file mode 100644 index 27371b86d3..0000000000 --- a/packages/misskey-mahjong/src/engine.ts +++ /dev/null @@ -1,723 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and other misskey contributors - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import CRC32 from 'crc-32'; -import { Tile, House, TILE_TYPES } from './common.js'; -import * as Utils from './utils.js'; - -type Huro = { - type: 'pon'; - tile: Tile; - from: House; -} | { - type: 'cii'; - tiles: [Tile, Tile, Tile]; - from: House; -} | { - type: 'kan'; - tile: Tile; - from: House; -} | { - type: 'kakan'; - tile: Tile; - from: House; -} | { - type: 'ankan'; - tile: Tile; - from: House; -}; - -export type MasterState = { - user1House: House; - user2House: House; - user3House: House; - user4House: House; - tiles: Tile[]; - eHandTiles: Tile[]; - sHandTiles: Tile[]; - wHandTiles: Tile[]; - nHandTiles: Tile[]; - eHoTiles: Tile[]; - sHoTiles: Tile[]; - wHoTiles: Tile[]; - nHoTiles: Tile[]; - eHuros: Huro[]; - sHuros: Huro[]; - wHuros: Huro[]; - nHuros: Huro[]; - eRiichi: boolean; - sRiichi: boolean; - wRiichi: boolean; - nRiichi: boolean; - ePoints: number; - sPoints: number; - wPoints: number; - nPoints: number; - turn: House | null; - nextTurnAfterAsking: House | null; - - ronAsking: { - /** - * 牌を捨てた人 - */ - source: House; - - /** - * ロンする権利がある人 - */ - targets: House[]; - } | null; - - ponAsking: { - /** - * 牌を捨てた人 - */ - source: House; - - /** - * ポンする権利がある人 - */ - target: House; - } | null; - - ciiAsking: { - /** - * 牌を捨てた人 - */ - source: House; - - /** - * チーする権利がある人(sourceの下家なのは自明だがプログラム簡略化のため) - */ - target: House; - } | null; - - kanAsking: { - /** - * 牌を捨てた人 - */ - source: House; - - /** - * カンする権利がある人 - */ - target: House; - } | null; -}; - -export class MasterGameEngine { - public state: MasterState; - - constructor(state: MasterState) { - this.state = state; - } - - public static createInitialState(): MasterState { - const tiles = [...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice()]; - tiles.sort(() => Math.random() - 0.5); - - const eHandTiles = tiles.splice(0, 14); - const sHandTiles = tiles.splice(0, 13); - const wHandTiles = tiles.splice(0, 13); - const nHandTiles = tiles.splice(0, 13); - - return { - user1House: 'e', - user2House: 's', - user3House: 'w', - user4House: 'n', - tiles, - eHandTiles, - sHandTiles, - wHandTiles, - nHandTiles, - eHoTiles: [], - sHoTiles: [], - wHoTiles: [], - nHoTiles: [], - eHuros: [], - sHuros: [], - wHuros: [], - nHuros: [], - eRiichi: false, - sRiichi: false, - wRiichi: false, - nRiichi: false, - ePoints: 25000, - sPoints: 25000, - wPoints: 25000, - nPoints: 25000, - turn: 'e', - nextTurnAfterAsking: null, - ponAsking: null, - ciiAsking: null, - kanAsking: null, - ronAsking: null, - }; - } - - private tsumo(): Tile { - const tile = this.state.tiles.pop(); - if (tile == null) throw new Error('No tiles left'); - if (this.state.turn == null) throw new Error('Not your turn'); - this.getHandTilesOf(this.state.turn).push(tile); - return tile; - } - - private canRon(house: House, tile: Tile): boolean { - // フリテン - // TODO: ポンされるなどして自分の河にない場合の考慮 - if (this.getHoTilesOf(house).includes(tile)) return false; - - const horaSets = Utils.getHoraSets(this.getHandTilesOf(house).concat(tile)); - if (horaSets.length === 0) return false; // 完成形じゃない - - // TODO - //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); - //if (yakus.length === 0) return false; // 役がない - - return true; - } - - private canPon(house: House, tile: Tile): boolean { - return this.getHandTilesOf(house).filter(t => t === tile).length === 2; - } - - public getHouse(index: 1 | 2 | 3 | 4): House { - switch (index) { - case 1: return this.state.user1House; - case 2: return this.state.user2House; - case 3: return this.state.user3House; - case 4: return this.state.user4House; - } - } - - public getHandTilesOf(house: House): Tile[] { - switch (house) { - case 'e': return this.state.eHandTiles; - case 's': return this.state.sHandTiles; - case 'w': return this.state.wHandTiles; - case 'n': return this.state.nHandTiles; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getHoTilesOf(house: House): Tile[] { - switch (house) { - case 'e': return this.state.eHoTiles; - case 's': return this.state.sHoTiles; - case 'w': return this.state.wHoTiles; - case 'n': return this.state.nHoTiles; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getHurosOf(house: House): Huro[] { - switch (house) { - case 'e': return this.state.eHuros; - case 's': return this.state.sHuros; - case 'w': return this.state.wHuros; - case 'n': return this.state.nHuros; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getPointsOf(house: House): number { - switch (house) { - case 'e': return this.state.ePoints; - case 's': return this.state.sPoints; - case 'w': return this.state.wPoints; - case 'n': return this.state.nPoints; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public setPointsOf(house: House, points: number) { - switch (house) { - case 'e': this.state.ePoints = points; break; - case 's': this.state.sPoints = points; break; - case 'w': this.state.wPoints = points; break; - case 'n': this.state.nPoints = points; break; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public isRiichiHouse(house: House): boolean { - switch (house) { - case 'e': return this.state.eRiichi; - case 's': return this.state.sRiichi; - case 'w': return this.state.wRiichi; - case 'n': return this.state.nRiichi; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public op_dahai(house: House, tile: Tile, riichi = false) { - if (this.state.turn !== house) throw new Error('Not your turn'); - - const handTiles = this.getHandTilesOf(house); - if (!handTiles.includes(tile)) throw new Error('No such tile in your hand'); - handTiles.splice(handTiles.indexOf(tile), 1); - this.getHoTilesOf(house).push(tile); - - if (riichi) { - switch (house) { - case 'e': this.state.eRiichi = true; break; - case 's': this.state.sRiichi = true; break; - case 'w': this.state.wRiichi = true; break; - case 'n': this.state.nRiichi = true; break; - } - } - - const canRonHouses: House[] = []; - switch (house) { - case 'e': - if (this.canRon('s', tile)) canRonHouses.push('s'); - if (this.canRon('w', tile)) canRonHouses.push('w'); - if (this.canRon('n', tile)) canRonHouses.push('n'); - break; - case 's': - if (this.canRon('e', tile)) canRonHouses.push('e'); - if (this.canRon('w', tile)) canRonHouses.push('w'); - if (this.canRon('n', tile)) canRonHouses.push('n'); - break; - case 'w': - if (this.canRon('e', tile)) canRonHouses.push('e'); - if (this.canRon('s', tile)) canRonHouses.push('s'); - if (this.canRon('n', tile)) canRonHouses.push('n'); - break; - case 'n': - if (this.canRon('e', tile)) canRonHouses.push('e'); - if (this.canRon('s', tile)) canRonHouses.push('s'); - if (this.canRon('w', tile)) canRonHouses.push('w'); - break; - } - - const canKanHouse: House | null = null; - - let canPonHouse: House | null = null; - switch (house) { - case 'e': - canPonHouse = this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; - break; - case 's': - canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; - break; - case 'w': - canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('n', tile) ? 'n' : null; - break; - case 'n': - canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : null; - break; - } - - const canCiiHouse: House | null = null; - // TODO - //let canCii: boolean = false; - //if (house === 'e') { - // canCii = this.state.sHandTiles... - //} else if (house === 's') { - // canCii = this.state.wHandTiles... - //} else if (house === 'w') { - // canCii = this.state.nHandTiles... - //} else if (house === 'n') { - // canCii = this.state.eHandTiles... - //} - - if (canRonHouses.length > 0 || canPonHouse != null) { - if (canRonHouses.length > 0) { - this.state.ronAsking = { - source: house, - targets: canRonHouses, - }; - } - if (canKanHouse != null) { - this.state.kanAsking = { - source: house, - target: canKanHouse, - }; - } - if (canPonHouse != null) { - this.state.ponAsking = { - source: house, - target: canPonHouse, - }; - } - if (canCiiHouse != null) { - this.state.ciiAsking = { - source: house, - target: canCiiHouse, - }; - } - this.state.turn = null; - this.state.nextTurnAfterAsking = Utils.nextHouse(house); - return { - asking: true, - canRonHouses: canRonHouses, - canKanHouse: canKanHouse, - canPonHouse: canPonHouse, - canCiiHouse: canCiiHouse, - }; - } - - this.state.turn = Utils.nextHouse(house); - - const tsumoTile = this.tsumo(); - - return { - asking: false, - tsumoTile: tsumoTile, - }; - } - - public op_resolveCallAndRonInterruption(answers: { - pon: boolean; - cii: boolean; - kan: boolean; - ron: House[]; - }) { - if (this.state.ponAsking == null && this.state.ciiAsking == null && this.state.kanAsking == null && this.state.ronAsking == null) throw new Error(); - - const clearAsking = () => { - this.state.ponAsking = null; - this.state.ciiAsking = null; - this.state.kanAsking = null; - this.state.ronAsking = null; - }; - - if (this.state.ronAsking != null && answers.ron.length > 0) { - // TODO - return; - } - - if (this.state.kanAsking != null && answers.kan) { - const source = this.state.kanAsking.source; - const target = this.state.kanAsking.target; - - const tile = this.getHoTilesOf(source).pop()!; - this.getHurosOf(target).push({ type: 'kan', tile, from: source }); - - clearAsking(); - this.state.turn = target; - // TODO - return; - } - - if (this.state.ponAsking != null && answers.pon) { - const source = this.state.ponAsking.source; - const target = this.state.ponAsking.target; - - const tile = this.getHoTilesOf(source).pop()!; - this.getHandTilesOf(target).splice(this.getHandTilesOf(target).indexOf(tile), 1); - this.getHandTilesOf(target).splice(this.getHandTilesOf(target).indexOf(tile), 1); - this.getHurosOf(target).push({ type: 'pon', tile, from: source }); - - clearAsking(); - this.state.turn = target; - return { - type: 'ponned', - source, - target, - tile, - }; - } - - if (this.state.ciiAsking != null && answers.cii) { - const source = this.state.ciiAsking.source; - const target = this.state.ciiAsking.target; - - const tile = this.getHoTilesOf(source).pop()!; - this.getHurosOf(target).push({ type: 'cii', tile, from: source }); - - clearAsking(); - this.state.turn = target; - return { - type: 'ciied', - source, - target, - tile, - }; - } - - clearAsking(); - this.state.turn = this.state.nextTurnAfterAsking; - this.state.nextTurnAfterAsking = null; - - const tile = this.tsumo(); - - return { - type: 'tsumo', - house: this.state.turn, - tile, - }; - } - - public createPlayerState(index: 1 | 2 | 3 | 4): PlayerState { - const house = this.getHouse(index); - - return { - user1House: this.state.user1House, - user2House: this.state.user2House, - user3House: this.state.user3House, - user4House: this.state.user4House, - tilesCount: this.state.tiles.length, - eHandTiles: house === 'e' ? this.state.eHandTiles : this.state.eHandTiles.map(() => null), - sHandTiles: house === 's' ? this.state.sHandTiles : this.state.sHandTiles.map(() => null), - wHandTiles: house === 'w' ? this.state.wHandTiles : this.state.wHandTiles.map(() => null), - nHandTiles: house === 'n' ? this.state.nHandTiles : this.state.nHandTiles.map(() => null), - eHoTiles: this.state.eHoTiles, - sHoTiles: this.state.sHoTiles, - wHoTiles: this.state.wHoTiles, - nHoTiles: this.state.nHoTiles, - eHuros: this.state.eHuros, - sHuros: this.state.sHuros, - wHuros: this.state.wHuros, - nHuros: this.state.nHuros, - eRiichi: this.state.eRiichi, - sRiichi: this.state.sRiichi, - wRiichi: this.state.wRiichi, - nRiichi: this.state.nRiichi, - ePoints: this.state.ePoints, - sPoints: this.state.sPoints, - wPoints: this.state.wPoints, - nPoints: this.state.nPoints, - latestDahaiedTile: null, - turn: this.state.turn, - }; - } - - public calcCrc32ForUser1(): number { - // TODO - } - - public calcCrc32ForUser2(): number { - // TODO - } - - public calcCrc32ForUser3(): number { - // TODO - } - - public calcCrc32ForUser4(): number { - // TODO - } -} - -export type PlayerState = { - user1House: House; - user2House: House; - user3House: House; - user4House: House; - tilesCount: number; - eHandTiles: Tile[] | null[]; - sHandTiles: Tile[] | null[]; - wHandTiles: Tile[] | null[]; - nHandTiles: Tile[] | null[]; - eHoTiles: Tile[]; - sHoTiles: Tile[]; - wHoTiles: Tile[]; - nHoTiles: Tile[]; - eHuros: Huro[]; - sHuros: Huro[]; - wHuros: Huro[]; - nHuros: Huro[]; - eRiichi: boolean; - sRiichi: boolean; - wRiichi: boolean; - nRiichi: boolean; - ePoints: number; - sPoints: number; - wPoints: number; - nPoints: number; - latestDahaiedTile: Tile | null; - turn: House | null; - canPonSource: House | null; - canCiiSource: House | null; - canKanSource: House | null; - canRonSource: House | null; - canCiiTo: House | null; - canKanTo: House | null; - canRonTo: House | null; -}; - -export class PlayerGameEngine { - /** - * このエラーが発生したときはdesyncが疑われる - */ - public static InvalidOperationError = class extends Error {}; - - private myUserNumber: 1 | 2 | 3 | 4; - public state: PlayerState; - - constructor(myUserNumber: PlayerGameEngine['myUserNumber'], state: PlayerState) { - this.myUserNumber = myUserNumber; - this.state = state; - } - - public get myHouse(): House { - switch (this.myUserNumber) { - case 1: return this.state.user1House; - case 2: return this.state.user2House; - case 3: return this.state.user3House; - case 4: return this.state.user4House; - } - } - - public get myHandTiles(): Tile[] { - switch (this.myHouse) { - case 'e': return this.state.eHandTiles as Tile[]; - case 's': return this.state.sHandTiles as Tile[]; - case 'w': return this.state.wHandTiles as Tile[]; - case 'n': return this.state.nHandTiles as Tile[]; - } - } - - public get myHoTiles(): Tile[] { - switch (this.myHouse) { - case 'e': return this.state.eHoTiles; - case 's': return this.state.sHoTiles; - case 'w': return this.state.wHoTiles; - case 'n': return this.state.nHoTiles; - } - } - - public get isMeRiichi(): boolean { - switch (this.myHouse) { - case 'e': return this.state.eRiichi; - case 's': return this.state.sRiichi; - case 'w': return this.state.wRiichi; - case 'n': return this.state.nRiichi; - } - } - - public getHandTilesOf(house: House) { - switch (house) { - case 'e': return this.state.eHandTiles; - case 's': return this.state.sHandTiles; - case 'w': return this.state.wHandTiles; - case 'n': return this.state.nHandTiles; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getHoTilesOf(house: House): Tile[] { - switch (house) { - case 'e': return this.state.eHoTiles; - case 's': return this.state.sHoTiles; - case 'w': return this.state.wHoTiles; - case 'n': return this.state.nHoTiles; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public getHurosOf(house: House): Huro[] { - switch (house) { - case 'e': return this.state.eHuros; - case 's': return this.state.sHuros; - case 'w': return this.state.wHuros; - case 'n': return this.state.nHuros; - default: throw new Error(`unrecognized house: ${house}`); - } - } - - public op_tsumo(house: House, tile: Tile) { - console.log('op_tsumo', this.state.turn, house, tile); - this.state.turn = house; - if (house === this.myHouse) { - this.myHandTiles.push(tile); - } else { - this.getHandTilesOf(house).push(null); - } - } - - public op_dahai(house: House, tile: Tile, riichi = false) { - console.log('op_dahai', this.state.turn, house, tile, riichi); - if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); - - if (riichi) { - switch (house) { - case 'e': this.state.eRiichi = true; break; - case 's': this.state.sRiichi = true; break; - case 'w': this.state.wRiichi = true; break; - case 'n': this.state.nRiichi = true; break; - } - } - - if (house === this.myHouse) { - this.myHandTiles.splice(this.myHandTiles.indexOf(tile), 1); - this.myHoTiles.push(tile); - } else { - this.getHandTilesOf(house).pop(); - this.getHoTilesOf(house).push(tile); - } - - this.state.turn = null; - - if (house === this.myHouse) { - } else { - const canRon = Utils.getHoraSets(this.myHandTiles.concat(tile)).length > 0; - const canPon = this.myHandTiles.filter(t => t === tile).length === 2; - - // TODO: canCii - - if (canRon) this.state.canRonSource = house; - if (canPon) this.state.canPonSource = house; - } - } - - /** - * ロンします - * @param source 牌を捨てた人 - * @param target ロンした人 - */ - public op_ron(source: House, target: House) { - this.state.canRonSource = null; - - const lastTile = this.getHoTilesOf(source).pop(); - if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); - if (target === this.myHouse) { - this.myHandTiles.push(lastTile); - } else { - this.getHandTilesOf(target).push(null); - } - this.state.turn = null; - } - - /** - * ポンします - * @param source 牌を捨てた人 - * @param target ポンした人 - */ - public op_pon(source: House, target: House) { - this.state.canPonSource = null; - - const lastTile = this.getHoTilesOf(source).pop(); - if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); - if (target === this.myHouse) { - this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); - this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); - } else { - this.getHandTilesOf(target).unshift(); - this.getHandTilesOf(target).unshift(); - } - this.getHurosOf(target).push({ type: 'pon', tile: lastTile, from: source }); - - this.state.turn = target; - } - - public op_nop() { - this.state.canRonSource = null; - this.state.canPonSource = null; - } -} - -const YAKU_DEFINITIONS = [{ - name: 'riichi', - fan: 1, - calc: (state: PlayerState, ctx: { tsumoTile: Tile; ronTile: Tile; }) => { - const house = state.turn; - return house === 'e' ? state.eRiichi : house === 's' ? state.sRiichi : house === 'w' ? state.wRiichi : state.nRiichi; - }, -}]; diff --git a/packages/misskey-mahjong/src/index.ts b/packages/misskey-mahjong/src/index.ts index c2cc36da3f..05b836f87a 100644 --- a/packages/misskey-mahjong/src/index.ts +++ b/packages/misskey-mahjong/src/index.ts @@ -3,7 +3,9 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -export * as Engine from './engine.js'; export * as Serializer from './serializer.js'; export * as Common from './common.js'; export * as Utils from './utils.js'; + +export { MasterGameEngine, MasterState } from './engine.master.js'; +export { PlayerGameEngine, PlayerState } from './engine.player.js'; diff --git a/packages/misskey-mahjong/src/serializer.ts b/packages/misskey-mahjong/src/serializer.ts index 94be1c6947..6bf1417d28 100644 --- a/packages/misskey-mahjong/src/serializer.ts +++ b/packages/misskey-mahjong/src/serializer.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { Tile } from './engine.js'; +import { Tile } from './engine.player.js'; export type Log = { time: number; From 5f481092303a00a0fe75c2446b426bfad5063cd1 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 29 Jan 2024 11:47:01 +0900 Subject: [PATCH 09/64] wip --- packages/misskey-mahjong/src/common.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 0e3e0243bc..4816095f82 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -217,6 +217,19 @@ const YAKU_DEFINITIONS = [{ false).length >= 3) ); }, +}, { + name: 'seat-wind', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return ( + (state.handTiles.filter(t => t === state.house).length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === state.house : + huro.type === 'ankan' ? huro.tile === state.house : + huro.type === 'minkan' ? huro.tile === state.house : + false).length >= 3) + ); + }, }, { name: 'tanyao', fan: 1, From 11404e545ee0e60a6d630eb3d472a76bf4c6f3c3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 29 Jan 2024 12:30:09 +0900 Subject: [PATCH 10/64] Update index.ts --- packages/misskey-mahjong/src/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/misskey-mahjong/src/index.ts b/packages/misskey-mahjong/src/index.ts index 05b836f87a..305aa56750 100644 --- a/packages/misskey-mahjong/src/index.ts +++ b/packages/misskey-mahjong/src/index.ts @@ -7,5 +7,7 @@ export * as Serializer from './serializer.js'; export * as Common from './common.js'; export * as Utils from './utils.js'; -export { MasterGameEngine, MasterState } from './engine.master.js'; -export { PlayerGameEngine, PlayerState } from './engine.player.js'; +export { MasterGameEngine } from './engine.master.js'; +export type { MasterState } from './engine.master.js'; +export { PlayerGameEngine } from './engine.player.js'; +export type { PlayerState } from './engine.player.js'; From 668bf9a226d9856e3ce1dfd77ea9429548dd92b0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 29 Jan 2024 14:14:00 +0900 Subject: [PATCH 11/64] wip --- .../backend/src/core/GlobalEventService.ts | 2 + packages/backend/src/core/MahjongService.ts | 40 +++++++++++++++++-- .../api/stream/channels/mahjong-room.ts | 8 ++++ .../frontend/src/pages/mahjong/room.game.vue | 27 ++++++++++--- packages/misskey-mahjong/src/engine.master.ts | 34 +++++++++++++++- packages/misskey-mahjong/src/engine.player.ts | 14 +++++++ 6 files changed, 114 insertions(+), 11 deletions(-) diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index 629ef1b01d..dcf643a7a5 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -226,6 +226,8 @@ export interface MahjongRoomEventTypes { target: Mahjong.Common.House; tile: Mahjong.Common.Tile; }; + endKyoku: { + }; } //#endregion diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 9e962dc22b..ddc2d2cc56 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -300,7 +300,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { this.waitForTurn(room, userId, engine); } else if (res.type === 'kanned') { // TODO - } else if (res.type === 'ronned') { + } else if (res.type === 'endKyoku') { // TODO } } @@ -415,7 +415,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { this.answer(room, engine, currentAnswers); return; } - }, 2000); + }, 1000); this.globalEventService.publishMahjongRoomStream(room.id, 'dahai', { house: house, tile }); } else { @@ -445,6 +445,38 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.dahai(room, engine, myHouse, tile); } + @bindThis + public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + const engine = new Mahjong.MasterGameEngine(room.gameState); + const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + + await this.clearTurnWaitingTimer(room.id); + + const res = engine.commit_kakan(myHouse); + + this.globalEventService.publishMahjongRoomStream(room.id, 'kakanned', { }); + } + + @bindThis + public async commit_hora(roomId: MiMahjongGame['id'], user: MiUser) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + const engine = new Mahjong.MasterGameEngine(room.gameState); + const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + + await this.clearTurnWaitingTimer(room.id); + + const res = engine.commit_hora(myHouse); + + this.globalEventService.publishMahjongRoomStream(room.id, 'horad', { }); + } + @bindThis public async commit_ron(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); @@ -504,7 +536,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } /** - * プレイヤーの行動を待つ(打牌もしくはツモ和了) + * プレイヤーの行動(打牌、加槓、ツモ和了)を待つ * 制限時間が過ぎたらツモ切り * NOTE: 時間切れチェックが行われたときにタイミングによっては次のwaitingが始まっている場合があることを考慮し、Setに一意のIDを格納する構造としている * @param room @@ -536,7 +568,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } /** - * プレイヤーが打牌またはツモ和了したら呼ぶ + * プレイヤーが行動(打牌、加槓、ツモ和了)したら呼ぶ * @param roomId */ @bindThis diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index e7a0c81abd..51f953443a 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -39,6 +39,7 @@ class MahjongRoomChannel extends Channel { case 'updateSettings': this.updateSettings(body.key, body.value); break; case 'addAi': this.addAi(); break; case 'dahai': this.dahai(body.tile, body.riichi); break; + case 'hora': this.hora(); break; case 'ron': this.ron(); break; case 'pon': this.pon(); break; case 'nop': this.nop(); break; @@ -74,6 +75,13 @@ class MahjongRoomChannel extends Channel { this.mahjongService.commit_dahai(this.roomId!, this.user, tile, riichi); } + @bindThis + private async hora() { + if (this.user == null) return; + + this.mahjongService.commit_hora(this.roomId!, this.user); + } + @bindThis private async ron() { if (this.user == null) return; diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 9105992e2d..68e9542d74 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -79,7 +79,7 @@ SPDX-License-Identifier: AGPL-3.0-only Ron Pon Skip - Tsumo + Tsumo Riichi
    @@ -227,6 +227,26 @@ function riichi() { }); } +function kakan() { + if (!isMyTurn.value) return; + + engine.value.commit_kakan(engine.value.myHouse); + triggerRef(engine); + + props.connection!.send('kakan', { + }); +} + +function hora() { + if (!isMyTurn.value) return; + + engine.value.commit_hora(engine.value.myHouse); + triggerRef(engine); + + props.connection!.send('hora', { + }); +} + function ron() { engine.value.commit_ron(engine.value.state.canRonSource, engine.value.myHouse); triggerRef(engine); @@ -236,9 +256,6 @@ function ron() { } function pon() { - engine.value.commit_pon(engine.value.state.canPonSource, engine.value.myHouse); - triggerRef(engine); - props.connection!.send('pon', { }); } @@ -336,8 +353,6 @@ function onStreamPonned(log) { // return; //} - if (log.target === engine.value.myHouse) return; - engine.value.commit_pon(log.source, log.target); triggerRef(engine); diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index b581ba9191..539b1d25d9 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -13,6 +13,10 @@ export type MasterState = { user2House: House; user3House: House; user4House: House; + + round: 'e' | 's' | 'w' | 'n'; + kyoku: number; + tiles: Tile[]; /** @@ -122,6 +126,8 @@ export class MasterGameEngine { user2House: 's', user3House: 'w', user4House: 'n', + round: 'e', + kyoku: 1, tiles, handTiles: { e: eHandTiles, @@ -198,6 +204,12 @@ export class MasterGameEngine { } } + private endKyoku() { + const newState = MasterGameEngine.createInitialState(); + newState.kyoku = this.state.kyoku + 1; + newState.points = this.state.points; + } + public commit_dahai(house: House, tile: Tile, riichi = false) { if (this.state.turn !== house) throw new Error('Not your turn'); @@ -311,6 +323,21 @@ export class MasterGameEngine { }; } + public commit_kakan(house: House) { + } + + /** + * ツモ和了 + * @param house + */ + public commit_hora(house: House) { + if (this.state.turn !== house) throw new Error('Not your turn'); + + const yakus = Utils.getYakus(this.state.handTiles[house], null); + + this.endKyoku(); + } + public commit_resolveCallAndRonInterruption(answers: { pon: boolean; cii: boolean; @@ -328,7 +355,10 @@ export class MasterGameEngine { if (this.state.ronAsking != null && answers.ron.length > 0) { // TODO - return; + this.endKyoku(); + return { + type: 'endKyoku', + }; } if (this.state.kanAsking != null && answers.kan) { @@ -401,6 +431,8 @@ export class MasterGameEngine { user2House: this.state.user2House, user3House: this.state.user3House, user4House: this.state.user4House, + round: this.state.round, + kyoku: this.state.kyoku, tilesCount: this.state.tiles.length, handTiles: { e: house === 'e' ? this.state.handTiles.e : this.state.handTiles.e.map(() => null), diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index f1c9a6cb3a..3d2881048f 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -12,6 +12,10 @@ export type PlayerState = { user2House: House; user3House: House; user4House: House; + + round: 'e' | 's' | 'w' | 'n'; + kyoku: number; + tilesCount: number; /** @@ -130,6 +134,16 @@ export class PlayerGameEngine { } } + public commit_kakan(house: House, tile: Tile) { + console.log('commit_kakan', this.state.turn, house, tile); + if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); + } + + public commit_hora(house: House) { + console.log('commit_hora', this.state.turn, house); + if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); + } + /** * ロンします * @param source 牌を捨てた人 From d427d24ca4ed210395dfe4f727ceb545e048cea0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 29 Jan 2024 17:15:09 +0900 Subject: [PATCH 12/64] wip --- .../backend/src/core/GlobalEventService.ts | 8 +- packages/backend/src/core/MahjongService.ts | 80 +++++++++++-- .../api/stream/channels/mahjong-room.ts | 25 +++- .../frontend/src/pages/mahjong/room.game.vue | 51 ++++++-- packages/misskey-mahjong/src/common.ts | 2 +- packages/misskey-mahjong/src/engine.master.ts | 112 +++++++++++------- packages/misskey-mahjong/src/engine.player.ts | 65 ++++++---- 7 files changed, 252 insertions(+), 91 deletions(-) diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index dcf643a7a5..5271c6f57b 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -222,11 +222,13 @@ export interface MahjongRoomEventTypes { tsumoTile: Mahjong.Common.Tile; }; ponned: { - source: Mahjong.Common.House; - target: Mahjong.Common.House; + caller: Mahjong.Common.House; + callee: Mahjong.Common.House; tile: Mahjong.Common.Tile; }; - endKyoku: { + ronned: { + }; + hora: { }; } //#endregion diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index ddc2d2cc56..af40fea9b5 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -28,6 +28,7 @@ import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; const INVITATION_TIMEOUT_MS = 1000 * 20; // 20sec const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 5; // 5sec const TURN_TIMEOUT_MS = 1000 * 30; // 30sec +const NEXT_KYOKU_CONFIRMATION_TIMEOUT_MS = 1000 * 15; // 15sec type Room = { id: string; @@ -69,6 +70,13 @@ type CallAndRonAnswers = { }; }; +type NextKyokuConfirmation = { + user1: boolean; + user2: boolean; + user3: boolean; + user4: boolean; +}; + @Injectable() export class MahjongService implements OnApplicationShutdown, OnModuleInit { private notificationService: NotificationService; @@ -267,17 +275,25 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.saveRoom(room); - const packed = await this.packRoom(room); - this.globalEventService.publishMahjongRoomStream(room.id, 'started', { room: packed }); + this.globalEventService.publishMahjongRoomStream(room.id, 'started', { room: room }); return room; } @bindThis public async packRoom(room: Room, me: MiUser) { - return { - ...room, - }; + if (room.gameState) { + const engine = new Mahjong.MasterGameEngine(room.gameState); + const myIndex = room.user1Id === me.id ? 1 : room.user2Id === me.id ? 2 : room.user3Id === me.id ? 3 : 4; + return { + ...room, + gameState: engine.createPlayerState(myIndex), + }; + } else { + return { + ...room, + }; + } } @bindThis @@ -295,13 +311,14 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); this.next(room, engine); } else if (res.type === 'ponned') { - this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { source: res.source, target: res.target, tile: res.tile }); + this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tile: res.tile }); const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; this.waitForTurn(room, userId, engine); } else if (res.type === 'kanned') { // TODO - } else if (res.type === 'endKyoku') { - // TODO + } else if (res.type === 'ronned') { + this.globalEventService.publishMahjongRoomStream(room.id, 'ronned', { }); + this.endKyoku(room, engine); } } @@ -336,6 +353,28 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { @bindThis private async endKyoku(room: Room, engine: Mahjong.MasterGameEngine) { + const confirmation: NextKyokuConfirmation = { + user1: false, + user2: false, + user3: false, + user4: false, + }; + this.redisClient.set(`mahjong:gameNextKyokuConfirmation:${room.id}`, JSON.stringify(confirmation)); + const waitingStartedAt = Date.now(); + const interval = setInterval(async () => { + const confirmationRaw = await this.redisClient.get(`mahjong:gameNextKyokuConfirmation:${room.id}`); + if (confirmationRaw == null) { + clearInterval(interval); + return; + } + const confirmation = JSON.parse(confirmationRaw) as NextKyokuConfirmation; + const allConfirmed = confirmation.user1 && confirmation.user2 && confirmation.user3 && confirmation.user4; + if (allConfirmed || (Date.now() - waitingStartedAt > NEXT_KYOKU_CONFIRMATION_TIMEOUT_MS)) { + await this.redisClient.del(`mahjong:gameNextKyokuConfirmation:${room.id}`); + clearInterval(interval); + this.nextKyoku(room, engine); + } + }, 2000); } @bindThis @@ -425,6 +464,23 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } } + @bindThis + public async confirmNextKyoku(roomId: Room['id'], user: MiUser) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 + const confirmationRaw = await this.redisClient.get(`mahjong:gameNextKyokuConfirmation:${room.id}`); + if (confirmationRaw == null) return; + const confirmation = JSON.parse(confirmationRaw) as NextKyokuConfirmation; + if (user.id === room.user1Id) confirmation.user1 = true; + if (user.id === room.user2Id) confirmation.user2 = true; + if (user.id === room.user3Id) confirmation.user3 = true; + if (user.id === room.user4Id) confirmation.user4 = true; + await this.redisClient.set(`mahjong:gameNextKyokuConfirmation:${room.id}`, JSON.stringify(confirmation)); + } + @bindThis public async commit_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string, riichi = false) { const room = await this.getRoom(roomId); @@ -528,10 +584,10 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); if (current == null) throw new Error('no asking found'); const currentAnswers = JSON.parse(current) as CallAndRonAnswers; - if (engine.state.ponAsking?.target === myHouse) currentAnswers.pon = false; - if (engine.state.ciiAsking?.target === myHouse) currentAnswers.cii = false; - if (engine.state.kanAsking?.target === myHouse) currentAnswers.kan = false; - if (engine.state.ronAsking != null && engine.state.ronAsking.targets.includes(myHouse)) currentAnswers.ron[myHouse] = false; + if (engine.state.ponAsking?.caller === myHouse) currentAnswers.pon = false; + if (engine.state.ciiAsking?.caller === myHouse) currentAnswers.cii = false; + if (engine.state.kanAsking?.caller === myHouse) currentAnswers.kan = false; + if (engine.state.ronAsking != null && engine.state.ronAsking.callers.includes(myHouse)) currentAnswers.ron[myHouse] = false; await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); } diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 51f953443a..5ac5862063 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -7,6 +7,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; import { bindThis } from '@/decorators.js'; import { MahjongService } from '@/core/MahjongService.js'; +import { GlobalEvents } from '@/core/GlobalEventService.js'; import Channel, { type MiChannelService } from '../channel.js'; class MahjongRoomChannel extends Channel { @@ -29,7 +30,19 @@ class MahjongRoomChannel extends Channel { public async init(params: any) { this.roomId = params.roomId as string; - this.subscriber.on(`mahjongRoomStream:${this.roomId}`, this.send); + this.subscriber.on(`mahjongRoomStream:${this.roomId}`, this.onMahjongRoomStreamMessage); + } + + @bindThis + private async onMahjongRoomStreamMessage(message: GlobalEvents['mahjongRoom']['payload']) { + if (message.type === 'started') { + const packed = await this.mahjongService.packRoom(message.body.room, this.user!); + this.send('started', { + room: packed, + }); + } else { + this.send(message.type, message.body); + } } @bindThis @@ -38,6 +51,7 @@ class MahjongRoomChannel extends Channel { case 'ready': this.ready(body); break; case 'updateSettings': this.updateSettings(body.key, body.value); break; case 'addAi': this.addAi(); break; + case 'confirmNextKyoku': this.confirmNextKyoku(); break; case 'dahai': this.dahai(body.tile, body.riichi); break; case 'hora': this.hora(); break; case 'ron': this.ron(); break; @@ -61,6 +75,13 @@ class MahjongRoomChannel extends Channel { this.mahjongService.changeReadyState(this.roomId!, this.user, ready); } + @bindThis + private async confirmNextKyoku() { + if (this.user == null) return; + + this.mahjongService.confirmNextKyoku(this.roomId!, this.user); + } + @bindThis private async addAi() { if (this.user == null) return; @@ -113,7 +134,7 @@ class MahjongRoomChannel extends Channel { @bindThis public dispose() { // Unsubscribe events - this.subscriber.off(`mahjongRoomStream:${this.roomId}`, this.send); + this.subscriber.off(`mahjongRoomStream:${this.roomId}`, this.onMahjongRoomStreamMessage); } } diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 68e9542d74..b62786cd28 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -6,6 +6,14 @@ SPDX-License-Identifier: AGPL-3.0-only @@ -117,10 +125,6 @@ const isMyTurn = computed(() => { return engine.value.state.turn === engine.value.myHouse; }); -const canRiichi = computed(() => { - return Mahjong.Utils.getTilesForRiichi(engine.value.myHandTiles).length > 0; -}); - const canHora = computed(() => { return Mahjong.Utils.getHoraSets(engine.value.myHandTiles).length > 0; }); @@ -248,9 +252,6 @@ function hora() { } function ron() { - engine.value.commit_ron(engine.value.state.canRonSource, engine.value.myHouse); - triggerRef(engine); - props.connection!.send('ron', { }); } @@ -353,12 +354,27 @@ function onStreamPonned(log) { // return; //} - engine.value.commit_pon(log.source, log.target); + engine.value.commit_pon(log.caller, log.callee); triggerRef(engine); myTurnTimerRmain.value = room.value.timeLimitForEachTurn; } +function onStreamRonned(log) { + console.log('onStreamRonned', log); + + engine.value.commit_ron(log.callers, log.callee); + triggerRef(engine); + + alert('end kyoku'); +} + +function onStreamHora(log) { + console.log('onStreamHora', log); + + window.alert('end kyoku'); +} + function restoreRoom(_room) { room.value = deepClone(_room); @@ -371,6 +387,8 @@ onMounted(() => { props.connection.on('tsumo', onStreamTsumo); props.connection.on('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.on('ponned', onStreamPonned); + props.connection.on('ronned', onStreamRonned); + props.connection.on('hora', onStreamHora); } }); @@ -380,6 +398,8 @@ onActivated(() => { props.connection.on('tsumo', onStreamTsumo); props.connection.on('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.on('ponned', onStreamPonned); + props.connection.on('ronned', onStreamRonned); + props.connection.on('hora', onStreamHora); } }); @@ -389,6 +409,8 @@ onDeactivated(() => { props.connection.off('tsumo', onStreamTsumo); props.connection.off('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.off('ponned', onStreamPonned); + props.connection.off('ronned', onStreamRonned); + props.connection.off('hora', onStreamHora); } }); @@ -398,6 +420,8 @@ onUnmounted(() => { props.connection.off('tsumo', onStreamTsumo); props.connection.off('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.off('ponned', onStreamPonned); + props.connection.off('ronned', onStreamRonned); + props.connection.off('hora', onStreamHora); } }); @@ -418,6 +442,15 @@ onUnmounted(() => { box-sizing: border-box; } +.centerPanel { + position: absolute; + display: grid; + place-items: center; + width: 100%; + height: 100%; + scale: 0.8; +} + .handTilesOfToimen { position: absolute; top: 0; diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 4816095f82..349d23f335 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -172,7 +172,7 @@ type EnvForCalcYaku = { riichi: boolean; }; -const YAKU_DEFINITIONS = [{ +export const YAKU_DEFINITIONS = [{ name: 'riichi', fan: 1, calc: (state: EnvForCalcYaku) => { diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 539b1d25d9..6da22b23ec 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -4,7 +4,7 @@ */ import CRC32 from 'crc-32'; -import { Tile, House, Huro, TILE_TYPES } from './common.js'; +import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; import * as Utils from './utils.js'; import { PlayerState } from './engine.player.js'; @@ -60,48 +60,48 @@ export type MasterState = { /** * 牌を捨てた人 */ - source: House; + callee: House; /** * ロンする権利がある人 */ - targets: House[]; + callers: House[]; } | null; ponAsking: { /** * 牌を捨てた人 */ - source: House; + callee: House; /** * ポンする権利がある人 */ - target: House; + caller: House; } | null; ciiAsking: { /** * 牌を捨てた人 */ - source: House; + callee: House; /** - * チーする権利がある人(sourceの下家なのは自明だがプログラム簡略化のため) + * チーする権利がある人(calleeの下家なのは自明だがプログラム簡略化のため) */ - target: House; + caller: House; } | null; kanAsking: { /** * 牌を捨てた人 */ - source: House; + callee: House; /** * カンする権利がある人 */ - target: House; + caller: House; } | null; }; @@ -113,10 +113,18 @@ export class MasterGameEngine { } public static createInitialState(): MasterState { + const ikasama: Tile[] = ['haku', 'm2', 'm3', 'p5', 'p6', 'p7', 's2', 's3', 's4', 'chun', 'chun', 'chun', 'n', 'n']; + const tiles = [...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice()]; tiles.sort(() => Math.random() - 0.5); - const eHandTiles = tiles.splice(0, 14); + for (const tile of ikasama) { + const index = tiles.indexOf(tile); + tiles.splice(index, 1); + } + + //const eHandTiles = tiles.splice(0, 14); + const eHandTiles = ikasama; const sHandTiles = tiles.splice(0, 13); const wHandTiles = tiles.splice(0, 13); const nHandTiles = tiles.splice(0, 13); @@ -205,11 +213,30 @@ export class MasterGameEngine { } private endKyoku() { + console.log('endKyoku'); const newState = MasterGameEngine.createInitialState(); newState.kyoku = this.state.kyoku + 1; newState.points = this.state.points; } + private ron(callers: House[], callee: House) { + for (const house of callers) { + const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ + house: house, + handTiles: this.state.handTiles[house], + huros: this.state.huros[house], + tsumoTile: null, + ronTile: this.state.hoTiles[callee].at(-1)!, + riichi: this.state.riichis[house], + })); + console.log('yakus', yakus); + } + + this.endKyoku(); + + // TODO: 役情報を返す + } + public commit_dahai(house: House, tile: Tile, riichi = false) { if (this.state.turn !== house) throw new Error('Not your turn'); @@ -280,26 +307,26 @@ export class MasterGameEngine { if (canRonHouses.length > 0 || canPonHouse != null) { if (canRonHouses.length > 0) { this.state.ronAsking = { - source: house, - targets: canRonHouses, + callee: house, + callers: canRonHouses, }; } if (canKanHouse != null) { this.state.kanAsking = { - source: house, - target: canKanHouse, + callee: house, + caller: canKanHouse, }; } if (canPonHouse != null) { this.state.ponAsking = { - source: house, - target: canPonHouse, + callee: house, + caller: canPonHouse, }; } if (canCiiHouse != null) { this.state.ciiAsking = { - source: house, - target: canCiiHouse, + callee: house, + caller: canCiiHouse, }; } this.state.turn = null; @@ -354,58 +381,57 @@ export class MasterGameEngine { }; if (this.state.ronAsking != null && answers.ron.length > 0) { - // TODO - this.endKyoku(); + this.ron(answers.ron, this.state.ronAsking.callee); return { - type: 'endKyoku', + type: 'ronned', }; } if (this.state.kanAsking != null && answers.kan) { - const source = this.state.kanAsking.source; - const target = this.state.kanAsking.target; + const caller = this.state.kanAsking.caller; + const callee = this.state.kanAsking.callee; - const tile = this.state.hoTiles[source].pop()!; - this.state.huros[target].push({ type: 'minkan', tile, from: source }); + const tile = this.state.hoTiles[callee].pop()!; + this.state.huros[caller].push({ type: 'minkan', tile, from: callee }); clearAsking(); - this.state.turn = target; + this.state.turn = caller; // TODO return; } if (this.state.ponAsking != null && answers.pon) { - const source = this.state.ponAsking.source; - const target = this.state.ponAsking.target; + const caller = this.state.ponAsking.caller; + const callee = this.state.ponAsking.callee; - const tile = this.state.hoTiles[source].pop()!; - this.state.handTiles[target].splice(this.state.handTiles[target].indexOf(tile), 1); - this.state.handTiles[target].splice(this.state.handTiles[target].indexOf(tile), 1); - this.state.huros[target].push({ type: 'pon', tile, from: source }); + const tile = this.state.hoTiles[callee].pop()!; + this.state.handTiles[caller].splice(this.state.handTiles[caller].indexOf(tile), 1); + this.state.handTiles[caller].splice(this.state.handTiles[caller].indexOf(tile), 1); + this.state.huros[caller].push({ type: 'pon', tile, from: callee }); clearAsking(); - this.state.turn = target; + this.state.turn = caller; return { type: 'ponned', - source, - target, + caller, + callee, tile, }; } if (this.state.ciiAsking != null && answers.cii) { - const source = this.state.ciiAsking.source; - const target = this.state.ciiAsking.target; + const caller = this.state.ciiAsking.caller; + const callee = this.state.ciiAsking.callee; - const tile = this.state.hoTiles[source].pop()!; - this.state.huros[target].push({ type: 'cii', tile, from: source }); + const tile = this.state.hoTiles[callee].pop()!; + this.state.huros[caller].push({ type: 'cii', tile, from: callee }); clearAsking(); - this.state.turn = target; + this.state.turn = caller; return { type: 'ciied', - source, - target, + caller, + callee, tile, }; } diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 3d2881048f..ef19e13a9e 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -4,7 +4,7 @@ */ import CRC32 from 'crc-32'; -import { Tile, House, Huro, TILE_TYPES } from './common.js'; +import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; import * as Utils from './utils.js'; export type PlayerState = { @@ -96,6 +96,7 @@ export class PlayerGameEngine { public commit_tsumo(house: House, tile: Tile) { console.log('commit_tsumo', this.state.turn, house, tile); + this.state.tilesCount--; this.state.turn = house; if (house === this.myHouse) { this.myHandTiles.push(tile); @@ -141,51 +142,73 @@ export class PlayerGameEngine { public commit_hora(house: House) { console.log('commit_hora', this.state.turn, house); - if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); + + // TODO: ツモした人の手牌情報を貰う必要がある } /** * ロンします - * @param source 牌を捨てた人 - * @param target ロンした人 + * @param callers ロンした人 + * @param callee 牌を捨てた人 */ - public commit_ron(source: House, target: House) { + public commit_ron(callers: House[], callee: House) { + console.log('commit_ron', this.state.turn, callers, callee); + this.state.canRonSource = null; - const lastTile = this.state.hoTiles[source].pop(); - if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); - if (target === this.myHouse) { - this.myHandTiles.push(lastTile); - } else { - this.state.handTiles[target].push(null); + // TODO: ロンした人の手牌情報を貰う必要がある + + for (const house of callers) { + const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ + house: house, + handTiles: this.state.handTiles[house], + huros: this.state.huros[house], + tsumoTile: null, + ronTile: this.state.hoTiles[callee].at(-1)!, + riichi: this.state.riichis[house], + })); + console.log('yakus', yakus); } - this.state.turn = null; } /** * ポンします - * @param source 牌を捨てた人 - * @param target ポンした人 + * @param caller ポンした人 + * @param callee 牌を捨てた人 */ - public commit_pon(source: House, target: House) { + public commit_pon(caller: House, callee: House) { this.state.canPonSource = null; - const lastTile = this.state.hoTiles[source].pop(); + const lastTile = this.state.hoTiles[callee].pop(); if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); - if (target === this.myHouse) { + if (caller === this.myHouse) { this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); } else { - this.state.handTiles[target].unshift(); - this.state.handTiles[target].unshift(); + this.state.handTiles[caller].unshift(); + this.state.handTiles[caller].unshift(); } - this.state.huros[target].push({ type: 'pon', tile: lastTile, from: source }); + this.state.huros[caller].push({ type: 'pon', tile: lastTile, from: callee }); - this.state.turn = target; + this.state.turn = caller; } public commit_nop() { this.state.canRonSource = null; this.state.canPonSource = null; } + + public get isMenzen(): boolean { + const calls = ['pon', 'cii', 'minkan']; + return this.state.huros[this.myHouse].filter(h => calls.includes(h.type)).length === 0; + } + + public canRiichi(): boolean { + if (this.state.turn !== this.myHouse) return false; + if (this.state.riichis[this.myHouse]) return false; + if (this.state.points[this.myHouse] < 1000) return false; + if (!this.isMenzen) return false; + if (Utils.getTilesForRiichi(this.myHandTiles).length === 0) return false; + return true; + } } From 547b74c9b2653a47c916b88ba1de7b102a947665 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 29 Jan 2024 20:35:25 +0900 Subject: [PATCH 13/64] wip --- .../backend/src/core/GlobalEventService.ts | 6 ++++++ packages/backend/src/core/MahjongService.ts | 15 +++++++++++++-- packages/misskey-mahjong/src/common.ts | 9 ++++----- packages/misskey-mahjong/src/engine.master.ts | 19 +++++++++++++++---- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index 5271c6f57b..050f0a7e68 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -226,6 +226,12 @@ export interface MahjongRoomEventTypes { callee: Mahjong.Common.House; tile: Mahjong.Common.Tile; }; + kanned: { + caller: Mahjong.Common.House; + callee: Mahjong.Common.House; + tile: Mahjong.Common.Tile; + rinsyan: Mahjong.Common.Tile; + }; ronned: { }; hora: { diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index af40fea9b5..1c36aea0c1 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -315,9 +315,20 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; this.waitForTurn(room, userId, engine); } else if (res.type === 'kanned') { - // TODO + this.globalEventService.publishMahjongRoomStream(room.id, 'kanned', { caller: res.caller, callee: res.callee, tile: res.tile, rinsyan: res.rinsyan }); + const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; + this.waitForTurn(room, userId, engine); } else if (res.type === 'ronned') { - this.globalEventService.publishMahjongRoomStream(room.id, 'ronned', { }); + this.globalEventService.publishMahjongRoomStream(room.id, 'ronned', { + callers: res.callers, + callee: res.callee, + handTiles: { + e: engine.state.handTiles.e, + s: engine.state.handTiles.s, + w: engine.state.handTiles.w, + n: engine.state.handTiles.n, + }, + }); this.endKyoku(room, engine); } } diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 349d23f335..31a3594fb0 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -55,14 +55,13 @@ export type Huro = { type: 'cii'; tiles: [Tile, Tile, Tile]; from: House; -} | { - type: 'minkan'; - tile: Tile; - from: House; } | { type: 'ankan'; tile: Tile; - from: House; +} | { + type: 'minkan'; + tile: Tile; + from: House | null; // null で加槓 }; export const yakuNames = [ diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 6da22b23ec..7ca7f78828 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -233,8 +233,6 @@ export class MasterGameEngine { } this.endKyoku(); - - // TODO: 役情報を返す } public commit_dahai(house: House, tile: Tile, riichi = false) { @@ -381,12 +379,18 @@ export class MasterGameEngine { }; if (this.state.ronAsking != null && answers.ron.length > 0) { + const callers = this.state.ronAsking.callers; + const callee = this.state.ronAsking.callee; + this.ron(answers.ron, this.state.ronAsking.callee); return { type: 'ronned', + callers, + callee, }; } + // 大明槓 if (this.state.kanAsking != null && answers.kan) { const caller = this.state.kanAsking.caller; const callee = this.state.kanAsking.callee; @@ -394,10 +398,17 @@ export class MasterGameEngine { const tile = this.state.hoTiles[callee].pop()!; this.state.huros[caller].push({ type: 'minkan', tile, from: callee }); + const rinsyan = this.tsumo(); + clearAsking(); this.state.turn = caller; - // TODO - return; + return { + type: 'kanned', + caller, + callee, + tile, + rinsyan, + }; } if (this.state.ponAsking != null && answers.pon) { From d7337e5f81926e8703bb2180be6d55ea4efe5e9b Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Jan 2024 11:27:08 +0900 Subject: [PATCH 14/64] wip --- packages/backend/src/core/MahjongService.ts | 90 +++++++----- packages/misskey-mahjong/src/engine.master.ts | 136 +++++++++--------- packages/misskey-mahjong/src/engine.player.ts | 11 +- 3 files changed, 126 insertions(+), 111 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 1c36aea0c1..33449334db 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -77,6 +77,10 @@ type NextKyokuConfirmation = { user4: boolean; }; +function getUserIdOfHouse(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.Common.House): MiUser['id'] { + return engine.state.user1House === house ? room.user1Id : engine.state.user2House === house ? room.user2Id : engine.state.user3House === house ? room.user3Id : room.user4Id; +} + @Injectable() export class MahjongService implements OnApplicationShutdown, OnModuleInit { private notificationService: NotificationService; @@ -302,62 +306,71 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { pon: answers.pon ?? false, cii: answers.cii ?? false, kan: answers.kan ?? false, - ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])], + ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])] as Mahjong.Common.House[], }); room.gameState = engine.state; await this.saveRoom(room); - if (res.type === 'tsumo') { - this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); - this.next(room, engine); - } else if (res.type === 'ponned') { - this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tile: res.tile }); - const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; - this.waitForTurn(room, userId, engine); - } else if (res.type === 'kanned') { - this.globalEventService.publishMahjongRoomStream(room.id, 'kanned', { caller: res.caller, callee: res.callee, tile: res.tile, rinsyan: res.rinsyan }); - const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; - this.waitForTurn(room, userId, engine); - } else if (res.type === 'ronned') { - this.globalEventService.publishMahjongRoomStream(room.id, 'ronned', { - callers: res.callers, - callee: res.callee, - handTiles: { - e: engine.state.handTiles.e, - s: engine.state.handTiles.s, - w: engine.state.handTiles.w, - n: engine.state.handTiles.n, - }, - }); - this.endKyoku(room, engine); + switch (res.type) { + case 'tsumo': + this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); + this.next(room, engine); + break; + case 'ponned': + this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tile: res.tile }); + this.waitForTurn(room, res.turn, engine); + break; + case 'kanned': + this.globalEventService.publishMahjongRoomStream(room.id, 'kanned', { caller: res.caller, callee: res.callee, tile: res.tile, rinsyan: res.rinsyan }); + this.waitForTurn(room, res.turn, engine); + break; + case 'ronned': + this.globalEventService.publishMahjongRoomStream(room.id, 'ronned', { + callers: res.callers, + callee: res.callee, + handTiles: { + e: engine.state.handTiles.e, + s: engine.state.handTiles.s, + w: engine.state.handTiles.w, + n: engine.state.handTiles.n, + }, + }); + this.endKyoku(room, engine); + break; + case 'ryukyoku': + this.globalEventService.publishMahjongRoomStream(room.id, 'ryukyoku', { + }); + this.endKyoku(room, engine); + break; } } @bindThis private async next(room: Room, engine: Mahjong.MasterGameEngine) { - const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); - const userId = engine.state.user1House === engine.state.turn ? room.user1Id : engine.state.user2House === engine.state.turn ? room.user2Id : engine.state.user3House === engine.state.turn ? room.user3Id : room.user4Id; + const turn = engine.state.turn; + if (turn == null) throw new Error('turn is null'); - if (aiHouses.includes(engine.state.turn)) { + const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + + if (aiHouses.includes(turn)) { // TODO: ちゃんと思考するようにする setTimeout(() => { - const house = engine.state.turn; - this.dahai(room, engine, engine.state.turn, engine.state.handTiles[house].at(-1)); + this.dahai(room, engine, turn, engine.state.handTiles[turn].at(-1)); }, 500); } else { - if (engine.state.riichis[engine.state.turn]) { + if (engine.state.riichis[turn]) { // リーチ時はアガリ牌でない限りツモ切り - const handTiles = engine.state.handTiles[engine.state.turn]; + const handTiles = engine.state.handTiles[turn]; const horaSets = Mahjong.Utils.getHoraSets(handTiles); if (horaSets.length === 0) { setTimeout(() => { - this.dahai(room, engine, engine.state.turn, handTiles.at(-1)); + this.dahai(room, engine, turn, handTiles.at(-1)); }, 500); } else { - this.waitForTurn(room, userId, engine); + this.waitForTurn(room, turn, engine); } } else { - this.waitForTurn(room, userId, engine); + this.waitForTurn(room, turn, engine); } } } @@ -607,13 +620,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { * 制限時間が過ぎたらツモ切り * NOTE: 時間切れチェックが行われたときにタイミングによっては次のwaitingが始まっている場合があることを考慮し、Setに一意のIDを格納する構造としている * @param room - * @param userId + * @param house * @param engine */ @bindThis - private async waitForTurn(room: Room, userId: MiUser['id'], engine: Mahjong.MasterGameEngine) { + private async waitForTurn(room: Room, house: Mahjong.Common.House, engine: Mahjong.MasterGameEngine) { const id = Math.random().toString(36).slice(2); - console.log('waitForTurn', userId, id); + console.log('waitForTurn', house, id); this.redisClient.sadd(`mahjong:gameTurnWaiting:${room.id}`, id); const waitingStartedAt = Date.now(); const interval = setInterval(async () => { @@ -624,9 +637,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } if (Date.now() - waitingStartedAt > TURN_TIMEOUT_MS) { await this.redisClient.srem(`mahjong:gameTurnWaiting:${room.id}`, id); - console.log('turn timeout', userId, id); + console.log('turn timeout', house, id); clearInterval(interval); - const house = room.user1Id === userId ? engine.state.user1House : room.user2Id === userId ? engine.state.user2House : room.user3Id === userId ? engine.state.user3House : engine.state.user4House; const handTiles = engine.state.handTiles[house]; await this.dahai(room, engine, house, handTiles.at(-1)); return; diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 7ca7f78828..20df90bac8 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -229,7 +229,7 @@ export class MasterGameEngine { ronTile: this.state.hoTiles[callee].at(-1)!, riichi: this.state.riichis[house], })); - console.log('yakus', yakus); + console.log('yakus', house, yakus); } this.endKyoku(); @@ -330,7 +330,7 @@ export class MasterGameEngine { this.state.turn = null; this.state.nextTurnAfterAsking = Utils.nextHouse(house); return { - asking: true, + asking: true as const, canRonHouses: canRonHouses, canKanHouse: canKanHouse, canPonHouse: canPonHouse, @@ -343,7 +343,7 @@ export class MasterGameEngine { const tsumoTile = this.tsumo(); return { - asking: false, + asking: false as const, tsumoTile: tsumoTile, }; } @@ -371,93 +371,91 @@ export class MasterGameEngine { }) { if (this.state.ponAsking == null && this.state.ciiAsking == null && this.state.kanAsking == null && this.state.ronAsking == null) throw new Error(); - const clearAsking = () => { - this.state.ponAsking = null; - this.state.ciiAsking = null; - this.state.kanAsking = null; - this.state.ronAsking = null; - }; + const pon = this.state.ponAsking; + const cii = this.state.ciiAsking; + const kan = this.state.kanAsking; + const ron = this.state.ronAsking; - if (this.state.ronAsking != null && answers.ron.length > 0) { - const callers = this.state.ronAsking.callers; - const callee = this.state.ronAsking.callee; + this.state.ponAsking = null; + this.state.ciiAsking = null; + this.state.kanAsking = null; + this.state.ronAsking = null; - this.ron(answers.ron, this.state.ronAsking.callee); + if (ron != null && answers.ron.length > 0) { + this.ron(answers.ron, ron.callee); return { - type: 'ronned', - callers, - callee, + type: 'ronned' as const, + callers: ron.callers, + callee: ron.callee, + turn: null, }; - } + } else if (kan != null && answers.kan) { + // 大明槓 - // 大明槓 - if (this.state.kanAsking != null && answers.kan) { - const caller = this.state.kanAsking.caller; - const callee = this.state.kanAsking.callee; - - const tile = this.state.hoTiles[callee].pop()!; - this.state.huros[caller].push({ type: 'minkan', tile, from: callee }); + const tile = this.state.hoTiles[kan.callee].pop()!; + this.state.huros[kan.caller].push({ type: 'minkan', tile, from: kan.callee }); const rinsyan = this.tsumo(); - clearAsking(); - this.state.turn = caller; + this.state.turn = kan.caller; return { - type: 'kanned', - caller, - callee, + type: 'kanned' as const, + caller: kan.caller, + callee: kan.callee, tile, rinsyan, + turn: this.state.turn, }; - } + } else if (pon != null && answers.pon) { + const tile = this.state.hoTiles[pon.callee].pop()!; + this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(tile), 1); + this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(tile), 1); + this.state.huros[pon.caller].push({ type: 'pon', tile, from: pon.callee }); - if (this.state.ponAsking != null && answers.pon) { - const caller = this.state.ponAsking.caller; - const callee = this.state.ponAsking.callee; - - const tile = this.state.hoTiles[callee].pop()!; - this.state.handTiles[caller].splice(this.state.handTiles[caller].indexOf(tile), 1); - this.state.handTiles[caller].splice(this.state.handTiles[caller].indexOf(tile), 1); - this.state.huros[caller].push({ type: 'pon', tile, from: callee }); - - clearAsking(); - this.state.turn = caller; + this.state.turn = pon.caller; return { - type: 'ponned', - caller, - callee, + type: 'ponned' as const, + caller: pon.caller, + callee: pon.callee, tile, + turn: this.state.turn, }; - } + } else if (cii != null && answers.cii) { + const tile = this.state.hoTiles[cii.callee].pop()!; + this.state.huros[cii.caller].push({ type: 'cii', tile, from: cii.callee }); - if (this.state.ciiAsking != null && answers.cii) { - const caller = this.state.ciiAsking.caller; - const callee = this.state.ciiAsking.callee; - - const tile = this.state.hoTiles[callee].pop()!; - this.state.huros[caller].push({ type: 'cii', tile, from: callee }); - - clearAsking(); - this.state.turn = caller; + this.state.turn = cii.caller; return { - type: 'ciied', - caller, - callee, + type: 'ciied' as const, + caller: cii.caller, + callee: cii.callee, tile, + turn: this.state.turn, + }; + } else if (this.state.tiles.length === 0) { + // 流局 + + this.state.turn = null; + this.state.nextTurnAfterAsking = null; + + this.endKyoku(); + + return { + type: 'ryukyoku' as const, + }; + } else { + this.state.turn = this.state.nextTurnAfterAsking!; + this.state.nextTurnAfterAsking = null; + + const tile = this.tsumo(); + + return { + type: 'tsumo' as const, + house: this.state.turn, + tile, + turn: this.state.turn, }; } - - clearAsking(); - this.state.turn = this.state.nextTurnAfterAsking; - this.state.nextTurnAfterAsking = null; - - const tile = this.tsumo(); - - return { - type: 'tsumo', - house: this.state.turn, - tile, - }; } public createPlayerState(index: 1 | 2 | 3 | 4): PlayerState { diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index ef19e13a9e..415c962928 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -151,7 +151,12 @@ export class PlayerGameEngine { * @param callers ロンした人 * @param callee 牌を捨てた人 */ - public commit_ron(callers: House[], callee: House) { + public commit_ron(callers: House[], callee: House, handTiles: { + e: Tile[]; + s: Tile[]; + w: Tile[]; + n: Tile[]; + }) { console.log('commit_ron', this.state.turn, callers, callee); this.state.canRonSource = null; @@ -161,13 +166,13 @@ export class PlayerGameEngine { for (const house of callers) { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, - handTiles: this.state.handTiles[house], + handTiles: handTiles[house], huros: this.state.huros[house], tsumoTile: null, ronTile: this.state.hoTiles[callee].at(-1)!, riichi: this.state.riichis[house], })); - console.log('yakus', yakus); + console.log('yakus', house, yakus); } } From ce65e9dd6975fa90439651bc87b409d5ed840235 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Jan 2024 11:30:58 +0900 Subject: [PATCH 15/64] refactor --- packages/backend/src/core/MahjongService.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 33449334db..c71e18fb85 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -81,6 +81,10 @@ function getUserIdOfHouse(room: Room, engine: Mahjong.MasterGameEngine, house: M return engine.state.user1House === house ? room.user1Id : engine.state.user2House === house ? room.user2Id : engine.state.user3House === house ? room.user3Id : room.user4Id; } +function getHouseOfUserId(room: Room, engine: Mahjong.MasterGameEngine, userId: MiUser['id']): Mahjong.Common.House { + return userId === room.user1Id ? engine.state.user1House : userId === room.user2Id ? engine.state.user2House : userId === room.user3Id ? engine.state.user3House : engine.state.user4House; +} + @Injectable() export class MahjongService implements OnApplicationShutdown, OnModuleInit { private notificationService: NotificationService; @@ -513,7 +517,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (!Mahjong.Utils.isTile(tile)) return; const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const myHouse = getHouseOfUserId(room, engine, user.id); if (riichi) { if (Mahjong.Utils.getHoraTiles(engine.state.handTiles[myHouse]).length === 0) return; @@ -532,7 +536,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room.gameState == null) return; const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const myHouse = getHouseOfUserId(room, engine, user.id); await this.clearTurnWaitingTimer(room.id); @@ -548,7 +552,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room.gameState == null) return; const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const myHouse = getHouseOfUserId(room, engine, user.id); await this.clearTurnWaitingTimer(room.id); @@ -564,7 +568,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room.gameState == null) return; const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const myHouse = getHouseOfUserId(room, engine, user.id); // TODO: 自分にロン回答する権利がある状態かバリデーション @@ -582,9 +586,6 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; - // TODO: 自分にポン回答する権利がある状態かバリデーション // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 @@ -602,7 +603,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room.gameState == null) return; const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = user.id === room.user1Id ? engine.state.user1House : user.id === room.user2Id ? engine.state.user2House : user.id === room.user3Id ? engine.state.user3House : engine.state.user4House; + const myHouse = getHouseOfUserId(room, engine, user.id); // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); From 4183fec4ab8b590bbbfa25307e2353cb8435249f Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Jan 2024 11:34:57 +0900 Subject: [PATCH 16/64] wip --- packages/backend/src/core/MahjongService.ts | 7 +------ packages/misskey-mahjong/src/engine.master.ts | 5 +++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index c71e18fb85..27a3c5c495 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -519,14 +519,9 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = getHouseOfUserId(room, engine, user.id); - if (riichi) { - if (Mahjong.Utils.getHoraTiles(engine.state.handTiles[myHouse]).length === 0) return; - if (engine.state.points[myHouse] < 1000) return; - } - await this.clearTurnWaitingTimer(room.id); - await this.dahai(room, engine, myHouse, tile); + await this.dahai(room, engine, myHouse, tile, riichi); } @bindThis diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 20df90bac8..6a3bd45ca4 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -238,6 +238,11 @@ export class MasterGameEngine { public commit_dahai(house: House, tile: Tile, riichi = false) { if (this.state.turn !== house) throw new Error('Not your turn'); + if (riichi) { + if (Utils.getHoraTiles(this.state.handTiles[house]).length === 0) throw new Error('Not tenpai'); + if (this.state.points[house] < 1000) throw new Error('Not enough points'); + } + const handTiles = this.state.handTiles[house]; if (!handTiles.includes(tile)) throw new Error('No such tile in your hand'); handTiles.splice(handTiles.indexOf(tile), 1); From 2f0924c85bb4180cbee88ade5276222f3fe9902f Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Jan 2024 17:11:16 +0900 Subject: [PATCH 17/64] wip --- locales/index.d.ts | 16 ++ locales/ja-JP.yml | 4 + packages/backend/src/core/MahjongService.ts | 27 ++- packages/frontend/assets/mahjong/bg.jpg | Bin 0 -> 325258 bytes .../frontend/assets/mahjong/putted-tile-1.png | Bin 0 -> 5552 bytes .../frontend/assets/mahjong/putted-tile-2.png | Bin 0 -> 5529 bytes .../frontend/assets/mahjong/putted-tile-3.png | Bin 0 -> 5700 bytes .../frontend/assets/mahjong/putted-tile-4.png | Bin 0 -> 5604 bytes .../frontend/assets/mahjong/putted-tile-5.png | Bin 0 -> 5627 bytes .../frontend/assets/mahjong/tile-top-h.png | Bin 5076 -> 0 bytes .../frontend/assets/mahjong/tile-top-v.png | Bin 5049 -> 0 bytes .../frontend/src/pages/mahjong/room.game.vue | 169 +++++++++++++----- packages/frontend/src/pages/mahjong/tile.vue | 25 ++- packages/misskey-mahjong/src/engine.master.ts | 4 +- 14 files changed, 179 insertions(+), 66 deletions(-) create mode 100644 packages/frontend/assets/mahjong/bg.jpg create mode 100644 packages/frontend/assets/mahjong/putted-tile-1.png create mode 100644 packages/frontend/assets/mahjong/putted-tile-2.png create mode 100644 packages/frontend/assets/mahjong/putted-tile-3.png create mode 100644 packages/frontend/assets/mahjong/putted-tile-4.png create mode 100644 packages/frontend/assets/mahjong/putted-tile-5.png delete mode 100644 packages/frontend/assets/mahjong/tile-top-h.png delete mode 100644 packages/frontend/assets/mahjong/tile-top-v.png diff --git a/locales/index.d.ts b/locales/index.d.ts index e1e829ac20..48d4e892be 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -9633,6 +9633,22 @@ export interface Locale extends ILocale { * CPUを追加 */ "addCpu": string; + /** + * 東 + */ + "east": string; + /** + * 南 + */ + "south": string; + /** + * 西 + */ + "west": string; + /** + * 北 + */ + "north": string; }; "_offlineScreen": { /** diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index a330e26995..25cc7e63a5 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2567,6 +2567,10 @@ _mahjong: cancelReady: "準備を再開" leave: "退室" addCpu: "CPUを追加" + east: "東" + south: "南" + west: "西" + north: "北" _offlineScreen: title: "オフライン - サーバーに接続できません" diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 27a3c5c495..b862e2404e 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -362,20 +362,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { this.dahai(room, engine, turn, engine.state.handTiles[turn].at(-1)); }, 500); } else { - if (engine.state.riichis[turn]) { - // リーチ時はアガリ牌でない限りツモ切り - const handTiles = engine.state.handTiles[turn]; - const horaSets = Mahjong.Utils.getHoraSets(handTiles); - if (horaSets.length === 0) { - setTimeout(() => { - this.dahai(room, engine, turn, handTiles.at(-1)); - }, 500); - } else { - this.waitForTurn(room, turn, engine); - } - } else { - this.waitForTurn(room, turn, engine); - } + this.waitForTurn(room, turn, engine); } } @@ -621,6 +608,18 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { */ @bindThis private async waitForTurn(room: Room, house: Mahjong.Common.House, engine: Mahjong.MasterGameEngine) { + if (engine.state.riichis[house]) { + // リーチ時はアガリ牌でない限りツモ切り + const handTiles = engine.state.handTiles[house]; + const horaSets = Mahjong.Utils.getHoraSets(handTiles); + if (horaSets.length === 0) { + setTimeout(() => { + this.dahai(room, engine, house, handTiles.at(-1)); + }, 500); + return; + } + } + const id = Math.random().toString(36).slice(2); console.log('waitForTurn', house, id); this.redisClient.sadd(`mahjong:gameTurnWaiting:${room.id}`, id); diff --git a/packages/frontend/assets/mahjong/bg.jpg b/packages/frontend/assets/mahjong/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..528c8b154e8965b58f43947731116729c0c7f813 GIT binary patch literal 325258 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%0D{@~IUF)xWbfno!d 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�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

    -
    {{ Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) }} {{ engine.state.points[Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse))] }}
    -
    {{ Mahjong.Utils.prevHouse(engine.myHouse) }} {{ engine.state.points[Mahjong.Utils.prevHouse(engine.myHouse)] }} | {{ engine.state.tilesCount }} | {{ Mahjong.Utils.nextHouse(engine.myHouse) }} {{ engine.state.points[Mahjong.Utils.nextHouse(engine.myHouse)] }}
    -
    {{ engine.myHouse }} {{ engine.state.points[engine.myHouse] }}
    +
    + {{ Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse))] }} +
    +
    + {{ Mahjong.Utils.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Utils.prevHouse(engine.myHouse)] }} +
    +
    + {{ Mahjong.Utils.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Utils.nextHouse(engine.myHouse)] }} +
    +
    + {{ engine.myHouse === 'e' ? i18n.ts._mahjong.east : engine.myHouse === 's' ? i18n.ts._mahjong.south : engine.myHouse === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[engine.myHouse] }} +
    - +
    @@ -35,40 +48,49 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    - +
    +
    - +
    -
    - +
    +
    - +
    -
    +
    -
    +
    @@ -77,9 +99,9 @@ SPDX-License-Identifier: AGPL-3.0-only
    - - - + + +
    @@ -128,6 +150,9 @@ const isMyTurn = computed(() => { const canHora = computed(() => { return Mahjong.Utils.getHoraSets(engine.value.myHandTiles).length > 0; }); + +const selectableTiles = ref(null); + /* console.log(Mahjong.Utils.getTilesForRiichi([ 'm1', @@ -206,37 +231,37 @@ if (!props.room.isEnded) { } */ -function dahai(tile: Mahjong.Common.Tile, ev: MouseEvent) { +let riichiSelect = false; + +function chooseTile(tile: Mahjong.Common.Tile, ev: MouseEvent) { if (!isMyTurn.value) return; - engine.value.commit_dahai(engine.value.myHouse, tile); + sound.playUrl('/client-assets/mahjong/dahai.mp3', { + volume: 1, + playbackRate: 1, + }); + iTsumoed.value = false; - triggerRef(engine); props.connection!.send('dahai', { tile: tile, + riichi: riichiSelect, }); + + riichiSelect = false; + selectableTiles.value = null; } function riichi() { if (!isMyTurn.value) return; - engine.value.commit_dahai(engine.value.myHouse, tile, true); - iTsumoed.value = false; - triggerRef(engine); - - props.connection!.send('dahai', { - tile: tile, - riichi: true, - }); + riichiSelect = true; + selectableTiles.value = Mahjong.Utils.getTilesForRiichi(engine.value.myHandTiles); } function kakan() { if (!isMyTurn.value) return; - engine.value.commit_kakan(engine.value.myHouse); - triggerRef(engine); - props.connection!.send('kakan', { }); } @@ -244,9 +269,6 @@ function kakan() { function hora() { if (!isMyTurn.value) return; - engine.value.commit_hora(engine.value.myHouse); - triggerRef(engine); - props.connection!.send('hora', { }); } @@ -326,10 +348,13 @@ function onStreamDahaiAndTsumo(log) { // return; //} - if (log.dahaiHouse !== engine.value.myHouse) { - engine.value.commit_dahai(log.dahaiHouse, log.dahaiTile); - triggerRef(engine); - } + sound.playUrl('/client-assets/mahjong/dahai.mp3', { + volume: 1, + playbackRate: 1, + }); + + engine.value.commit_dahai(log.dahaiHouse, log.dahaiTile); + triggerRef(engine); window.setTimeout(() => { engine.value.commit_tsumo(Mahjong.Utils.nextHouse(log.dahaiHouse), log.tsumoTile); @@ -429,6 +454,10 @@ onUnmounted(() => { diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 6a3bd45ca4..67ec730791 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -239,7 +239,9 @@ export class MasterGameEngine { if (this.state.turn !== house) throw new Error('Not your turn'); if (riichi) { - if (Utils.getHoraTiles(this.state.handTiles[house]).length === 0) throw new Error('Not tenpai'); + const tempHandTiles = [...this.state.handTiles[house]]; + tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); + if (Utils.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); if (this.state.points[house] < 1000) throw new Error('Not enough points'); } From 5e3a805671574f18e87b9f250d7814f67e2e1125 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Jan 2024 19:56:16 +0900 Subject: [PATCH 18/64] Update index.d.ts --- locales/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index 48d4e892be..caef204bf9 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -4894,7 +4894,7 @@ export interface Locale extends ILocale { */ "readConfirmText": ParameterizedString<"title">; /** - * 特に新規ユーザーのUXを損ねる可能性が高いため、ストック情報ではなくフロー情報の掲示にお知らせを使用することを推奨します。 + * 特に新規ユーザーのUXを損ねる可能性が高いため、常時掲示するための情報ではなく、即時性が求められる情報の掲示のためにお知らせを使用することを推奨します。 */ "shouldNotBeUsedToPresentPermanentInfo": string; /** From 5af8b5d54751a05ee2f471094cc9b992e38b1dde Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Jan 2024 20:13:38 +0900 Subject: [PATCH 19/64] wip --- .../frontend/assets/mahjong/putted-tile-3.png | Bin 5700 -> 5636 bytes .../frontend/assets/mahjong/putted-tile-4.png | Bin 5604 -> 5662 bytes .../frontend/assets/mahjong/putted-tile-5.png | Bin 5627 -> 5664 bytes .../frontend/src/pages/mahjong/room.game.vue | 5 ----- packages/frontend/src/pages/mahjong/tile.vue | 4 ++-- 5 files changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/frontend/assets/mahjong/putted-tile-3.png b/packages/frontend/assets/mahjong/putted-tile-3.png index b258a1bfa27b507b086e09570d9756cda25d2d5e..085bb7bec5b5af921d20df4d6540b21caa8747e3 100644 GIT binary patch delta 4031 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 delta 4114 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 U+Bew91ESBt*2$*olJD>T0x^;ZZU6uP diff --git a/packages/frontend/assets/mahjong/putted-tile-4.png b/packages/frontend/assets/mahjong/putted-tile-4.png index 4617f883d3d2c80c9c5333d845db8eafeb503813..d7ee430e5d27607f899b9766afa44fe419392616 100644 GIT binary patch delta 4096 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%0DwWq@qoGICvSnQ<+x<`d}zlCL~pm(!v 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 Sqc_?@z~SuWGkCk}_x=u&jKxd< diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 90d7f418fe..cdc63d7af8 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -236,11 +236,6 @@ let riichiSelect = false; function chooseTile(tile: Mahjong.Common.Tile, ev: MouseEvent) { if (!isMyTurn.value) return; - sound.playUrl('/client-assets/mahjong/dahai.mp3', { - volume: 1, - playbackRate: 1, - }); - iTsumoed.value = false; props.connection!.send('dahai', { diff --git a/packages/frontend/src/pages/mahjong/tile.vue b/packages/frontend/src/pages/mahjong/tile.vue index b77f4af822..6a8428c073 100644 --- a/packages/frontend/src/pages/mahjong/tile.vue +++ b/packages/frontend/src/pages/mahjong/tile.vue @@ -29,10 +29,10 @@ const props = defineProps<{ margin: -17px; } .h { - margin: -14px -20px -10px -20px; + margin: -14px -21px -5px; } .v { - margin: -14px -20px -10px -20px; + margin: -14px -18px -11px; } .bg { position: absolute; From 8121f8f40f9b7abdb194c69dd8927d11490e5525 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 31 Jan 2024 10:54:38 +0900 Subject: [PATCH 20/64] wip --- packages/frontend/src/pages/mahjong/index.vue | 2 +- packages/frontend/src/pages/mahjong/room.setting.vue | 2 +- packages/frontend/src/pages/mahjong/room.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/frontend/src/pages/mahjong/index.vue b/packages/frontend/src/pages/mahjong/index.vue index e0c20b178a..1aada0095a 100644 --- a/packages/frontend/src/pages/mahjong/index.vue +++ b/packages/frontend/src/pages/mahjong/index.vue @@ -32,7 +32,7 @@ import MkFolder from '@/components/MkFolder.vue'; import { i18n } from '@/i18n.js'; import { $i } from '@/account.js'; import MkPagination from '@/components/MkPagination.vue'; -import { useRouter } from '@/global/router/supplier.js'; +import { useRouter } from '@/router/supplier.js'; import * as os from '@/os.js'; import { useInterval } from '@/scripts/use-interval.js'; import * as sound from '@/scripts/sound.js'; diff --git a/packages/frontend/src/pages/mahjong/room.setting.vue b/packages/frontend/src/pages/mahjong/room.setting.vue index e8c5ae8512..926ac4e487 100644 --- a/packages/frontend/src/pages/mahjong/room.setting.vue +++ b/packages/frontend/src/pages/mahjong/room.setting.vue @@ -61,7 +61,7 @@ import MkSwitch from '@/components/MkSwitch.vue'; import MkFolder from '@/components/MkFolder.vue'; import * as os from '@/os.js'; import { MenuItem } from '@/types/menu.js'; -import { useRouter } from '@/global/router/supplier.js'; +import { useRouter } from '@/router/supplier.js'; const $i = signinRequired(); diff --git a/packages/frontend/src/pages/mahjong/room.vue b/packages/frontend/src/pages/mahjong/room.vue index 51d68d4a76..b087b2beae 100644 --- a/packages/frontend/src/pages/mahjong/room.vue +++ b/packages/frontend/src/pages/mahjong/room.vue @@ -18,7 +18,7 @@ import { misskeyApi } from '@/scripts/misskey-api.js'; import { definePageMetadata } from '@/scripts/page-metadata.js'; import { useStream } from '@/stream.js'; import { signinRequired } from '@/account.js'; -import { useRouter } from '@/global/router/supplier.js'; +import { useRouter } from '@/router/supplier.js'; import * as os from '@/os.js'; import { i18n } from '@/i18n.js'; import { useInterval } from '@/scripts/use-interval.js'; From 3c97164cf2c30ac9a495dbefe041dd1b2f9ab24c Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 31 Jan 2024 18:31:02 +0900 Subject: [PATCH 21/64] wip --- packages/frontend/.eslintrc.cjs | 3 +- packages/frontend/assets/mahjong/cii.png | Bin 0 -> 40870 bytes packages/frontend/assets/mahjong/kan.png | Bin 0 -> 56460 bytes packages/frontend/assets/mahjong/pon.png | Bin 0 -> 56698 bytes packages/frontend/assets/mahjong/ron.png | Bin 17136 -> 50428 bytes packages/frontend/assets/mahjong/tsumo.png | Bin 0 -> 58370 bytes .../frontend/src/pages/mahjong/room.game.vue | 208 +++++++++++++++--- packages/frontend/src/pages/mahjong/tile.vue | 28 ++- packages/misskey-mahjong/src/common.ts | 79 +++++++ packages/misskey-mahjong/src/engine.master.ts | 63 +++++- packages/misskey-mahjong/src/engine.player.ts | 32 ++- packages/misskey-mahjong/src/utils.ts | 6 +- 12 files changed, 382 insertions(+), 37 deletions(-) create mode 100644 packages/frontend/assets/mahjong/cii.png create mode 100644 packages/frontend/assets/mahjong/kan.png create mode 100644 packages/frontend/assets/mahjong/pon.png create mode 100644 packages/frontend/assets/mahjong/tsumo.png diff --git a/packages/frontend/.eslintrc.cjs b/packages/frontend/.eslintrc.cjs index 20f88dc078..669b57d736 100644 --- a/packages/frontend/.eslintrc.cjs +++ b/packages/frontend/.eslintrc.cjs @@ -22,8 +22,7 @@ module.exports = { }, ], // window の禁止理由: グローバルスコープと衝突し、予期せぬ結果を招くため - // e の禁止理由: error や event など、複数のキーワードの頭文字であり分かりにくいため - 'id-denylist': ['error', 'window', 'e'], + 'id-denylist': ['error', 'window'], 'no-shadow': ['warn'], 'vue/attributes-order': ['error', { 'alphabetical': false, diff --git a/packages/frontend/assets/mahjong/cii.png b/packages/frontend/assets/mahjong/cii.png new file mode 100644 index 0000000000000000000000000000000000000000..d2da0a111da51bbe61216abb66ed815a1b460546 GIT binary patch literal 40870 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 gwQ2y$NJ$ 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 VAkcU)tf&A0002ovPDHLkV1kzJc+CI+ literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/pon.png b/packages/frontend/assets/mahjong/pon.png new file mode 100644 index 0000000000000000000000000000000000000000..204e7fcd52160a19d517f36ec1d05e3f0147d49f GIT binary patch literal 56698 zcmc$_by!qg8#lUV=-1{jc#Mx;BXyJ08+0YOkfT2L@(L68QOkQSvIB&53r zIGg8r^StLf*ZJ@4>l$EKYp=N1-S=-L=xE&~!l%av0DwqM6{!aRQ1DLxjf)Nbgw!!s z0RUEmvw@MXk>))qTMsurYda4cd%i$7&zo+5jC`P{wXKW2FU-c?(b-)VzSGzWhdJBH z!XJog3TS#N**iI_27BA<2WuJF2D{iw+QH@J@MQv}zyaLseXU`EZm#Y=Qh~DYzs8jU z|GxP*KOFW~7he}yxRIs~Ov%IB9wy2s$|nGq!-vUu+c`+-AyxkIGWbmv?&Rz1DaFqp z5D>r@Ak63C?Z_`EDJjV>AjB^u#0&P|^$BwKwGQNU_hGvk;_oq#_CB`W&Yr%`9`3N4 zF|BPp{Cs8MaIhWr&y~4({%de|pMUHgqyvATwI{zIp8)@VcJ_4g@b&O<^7ucz@~`Iq zdC|`HUz2$HdAt6#emh%!dsllmdv{+Su)pAcO=KVF{O>*g*RpO}{%3e!XNUho_nVgg z=?YHrq!_79xxe4YM1+P@p_*}FU5wET0V zzglk2$kp#gDDJyEgQxoUB!4v-{ku&TE-u9X9}^k>Pt%Q)@JZto2ff(h{n|KlkC^;UqBJvib& zx#xdbl>a}s^UvkU@c+*S{@(q6C@b*2zyAj+K~S6W|4W^MU;d?#?cG7v^#;`~gZI@l zP?twKgG~58%m)CRPyL<_awByqyX3LS*dE8mir{fC-_>;GaoGP*nMr3~`7&sw|80

    ogiIKEw%PVvF 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ⅇ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 diff --git a/packages/frontend/assets/mahjong/tsumo.png b/packages/frontend/assets/mahjong/tsumo.png new file mode 100644 index 0000000000000000000000000000000000000000..14577818ab9bd654edcb0ae812118867e2f809bd GIT binary patch literal 58370 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index cdc63d7af8..55fb295117 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -9,20 +9,28 @@ SPDX-License-Identifier: AGPL-3.0-only

    - {{ Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse))] }} +
    + {{ Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse))] }} +
    - {{ Mahjong.Utils.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Utils.prevHouse(engine.myHouse)] }} +
    + {{ Mahjong.Utils.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Utils.prevHouse(engine.myHouse)] }} +
    - {{ Mahjong.Utils.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Utils.nextHouse(engine.myHouse)] }} +
    + {{ Mahjong.Utils.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Utils.nextHouse(engine.myHouse)] }} +
    - {{ engine.myHouse === 'e' ? i18n.ts._mahjong.east : engine.myHouse === 's' ? i18n.ts._mahjong.south : engine.myHouse === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[engine.myHouse] }} +
    + {{ engine.myHouse === 'e' ? i18n.ts._mahjong.east : engine.myHouse === 's' ? i18n.ts._mahjong.south : engine.myHouse === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[engine.myHouse] }} +
    @@ -49,28 +57,28 @@ SPDX-License-Identifier: AGPL-3.0-only
    - +
    - +
    - +
    - +
    @@ -79,7 +87,7 @@ SPDX-License-Identifier: AGPL-3.0-only
    @@ -88,7 +96,7 @@ SPDX-License-Identifier: AGPL-3.0-only
    @@ -99,23 +107,57 @@ SPDX-License-Identifier: AGPL-3.0-only
    - - - + + +
    + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + +
    + Ron + Pon + Skip + Tsumo + Riichi +
    - Ron - Pon - Skip - Tsumo - Riichi
    diff --git a/packages/frontend/src/pages/mahjong/tile.vue b/packages/frontend/src/pages/mahjong/tile.vue index 6a8428c073..1a18a0140f 100644 --- a/packages/frontend/src/pages/mahjong/tile.vue +++ b/packages/frontend/src/pages/mahjong/tile.vue @@ -4,23 +4,31 @@ SPDX-License-Identifier: AGPL-3.0-only --> diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 31a3594fb0..5e9ffa2b87 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -64,6 +64,43 @@ export type Huro = { from: House | null; // null で加槓 }; +export const NEXT_TILE_FOR_DORA_MAP: Record = { + m1: 'm2', + m2: 'm3', + m3: 'm4', + m4: 'm5', + m5: 'm6', + m6: 'm7', + m7: 'm8', + m8: 'm9', + m9: 'm1', + p1: 'p2', + p2: 'p3', + p3: 'p4', + p4: 'p5', + p5: 'p6', + p6: 'p7', + p7: 'p8', + p8: 'p9', + p9: 'p1', + s1: 's2', + s2: 's3', + s3: 's4', + s4: 's5', + s5: 's6', + s6: 's7', + s7: 's8', + s8: 's9', + s9: 's1', + e: 's', + s: 'w', + w: 'n', + n: 'e', + haku: 'hatsu', + hatsu: 'chun', + chun: 'haku', +}; + export const yakuNames = [ 'riichi', 'ippatsu', @@ -245,3 +282,45 @@ export const YAKU_DEFINITIONS = [{ ); }, }]; + +export function fanToPoint(fan: number, isParent: boolean): number { + let point; + + if (fan >= 13) { + point = 32000; + } else if (fan >= 11) { + point = 24000; + } else if (fan >= 8) { + point = 16000; + } else if (fan >= 6) { + point = 12000; + } else if (fan >= 4) { + point = 8000; + } else if (fan >= 3) { + point = 4000; + } else if (fan >= 2) { + point = 2000; + } else { + point = 1000; + } + + if (isParent) { + point *= 1.5; + } + + return point; +} + +export function calcOwnedDoraCount(handTiles: Tile[], huros: Huro[], doras: Tile[]): number { + let count = 0; + for (const t of handTiles) { + if (doras.includes(t)) count++; + } + for (const huro of huros) { + if (huro.type === 'pon' && doras.includes(huro.tile)) count += 3; + if (huro.type === 'cii') count += huro.tiles.filter(t => doras.includes(t)).length; + if (huro.type === 'minkan' && doras.includes(huro.tile)) count += 4; + if (huro.type === 'ankan' && doras.includes(huro.tile)) count += 4; + } + return count; +} diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 67ec730791..7fbc9bcd69 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -5,6 +5,7 @@ import CRC32 from 'crc-32'; import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; +import * as Common from './common.js'; import * as Utils from './utils.js'; import { PlayerState } from './engine.player.js'; @@ -18,6 +19,8 @@ export type MasterState = { kyoku: number; tiles: Tile[]; + kingTiles: Tile[]; + activatedDorasCount: number; /** * 副露した牌を含まない手牌 @@ -112,8 +115,12 @@ export class MasterGameEngine { this.state = state; } + public get doras(): Tile[] { + return this.state.kingTiles.slice(0, this.state.activatedDorasCount).map(t => Utils.nextTileForDora(t)); + } + public static createInitialState(): MasterState { - const ikasama: Tile[] = ['haku', 'm2', 'm3', 'p5', 'p6', 'p7', 's2', 's3', 's4', 'chun', 'chun', 'chun', 'n', 'n']; + const ikasama: Tile[] = ['haku', 'hatsu', 'm3', 'p5', 'p6', 'p7', 's2', 's3', 's4', 'chun', 'chun', 'chun', 'n', 'n']; const tiles = [...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice()]; tiles.sort(() => Math.random() - 0.5); @@ -128,6 +135,7 @@ export class MasterGameEngine { const sHandTiles = tiles.splice(0, 13); const wHandTiles = tiles.splice(0, 13); const nHandTiles = tiles.splice(0, 13); + const kingTiles = tiles.splice(0, 14); return { user1House: 'e', @@ -137,6 +145,8 @@ export class MasterGameEngine { round: 'e', kyoku: 1, tiles, + kingTiles, + activatedDorasCount: 1, handTiles: { e: eHandTiles, s: sHandTiles, @@ -219,6 +229,11 @@ export class MasterGameEngine { newState.points = this.state.points; } + /** + * ロン + * @param callers ロンする人 + * @param callee ロンされる人 + */ private ron(callers: House[], callee: House) { for (const house of callers) { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ @@ -229,6 +244,12 @@ export class MasterGameEngine { ronTile: this.state.hoTiles[callee].at(-1)!, riichi: this.state.riichis[house], })); + const doraCount = Common.calcOwnedDoraCount(this.state.handTiles[house], this.state.huros[house], this.doras); + const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; + const point = Common.fanToPoint(fans, house === 'e'); + this.state.points[callee] -= point; + this.state.points[house] += point; + console.log('fans point', fans, point); console.log('yakus', house, yakus); } @@ -365,7 +386,42 @@ export class MasterGameEngine { public commit_hora(house: House) { if (this.state.turn !== house) throw new Error('Not your turn'); - const yakus = Utils.getYakus(this.state.handTiles[house], null); + const isParent = house === 'e'; + + const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ + house: house, + handTiles: this.state.handTiles[house], + huros: this.state.huros[house], + tsumoTile: this.state.handTiles[house].at(-1)!, + ronTile: null, + riichi: this.state.riichis[house], + })); + const doraCount = Common.calcOwnedDoraCount(this.state.handTiles[house], this.state.huros[house], this.doras); + const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; + const point = Common.fanToPoint(fans, isParent); + this.state.points[house] += point; + if (isParent) { + const childPoint = Math.ceil(point / 3); + this.state.points.s -= childPoint; + this.state.points.w -= childPoint; + this.state.points.n -= childPoint; + } else { + const parentPoint = Math.ceil(point / 2); + this.state.points.e -= parentPoint; + const otherPoint = Math.ceil(point / 4); + if (house === 's') { + this.state.points.w -= otherPoint; + this.state.points.n -= otherPoint; + } else if (house === 'w') { + this.state.points.s -= otherPoint; + this.state.points.n -= otherPoint; + } else if (house === 'n') { + this.state.points.s -= otherPoint; + this.state.points.w -= otherPoint; + } + } + console.log('fans point', fans, point); + console.log('yakus', house, yakus); this.endKyoku(); } @@ -402,6 +458,8 @@ export class MasterGameEngine { const tile = this.state.hoTiles[kan.callee].pop()!; this.state.huros[kan.caller].push({ type: 'minkan', tile, from: kan.callee }); + this.state.activatedDorasCount++; + const rinsyan = this.tsumo(); this.state.turn = kan.caller; @@ -476,6 +534,7 @@ export class MasterGameEngine { round: this.state.round, kyoku: this.state.kyoku, tilesCount: this.state.tiles.length, + doraIndicateTiles: this.state.kingTiles.slice(0, this.state.activatedDorasCount), handTiles: { e: house === 'e' ? this.state.handTiles.e : this.state.handTiles.e.map(() => null), s: house === 's' ? this.state.handTiles.s : this.state.handTiles.s.map(() => null), diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 415c962928..51babc5832 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -5,6 +5,7 @@ import CRC32 from 'crc-32'; import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; +import * as Common from './common.js'; import * as Utils from './utils.js'; export type PlayerState = { @@ -17,6 +18,7 @@ export type PlayerState = { kyoku: number; tilesCount: number; + doraIndicateTiles: Tile[]; /** * 副露した牌を含まない手牌 @@ -94,6 +96,10 @@ export class PlayerGameEngine { return this.state.riichis[this.myHouse]; } + public get doras(): Tile[] { + return this.state.doraIndicateTiles.map(t => Utils.nextTileForDora(t)); + } + public commit_tsumo(house: House, tile: Tile) { console.log('commit_tsumo', this.state.turn, house, tile); this.state.tilesCount--; @@ -161,7 +167,19 @@ export class PlayerGameEngine { this.state.canRonSource = null; - // TODO: ロンした人の手牌情報を貰う必要がある + const yakusMap: Record = { + e: [] as { name: string; fan: number; }[], + s: [] as { name: string; fan: number; }[], + w: [] as { name: string; fan: number; }[], + n: [] as { name: string; fan: number; }[], + }; + + const doraCountsMap: Record = { + e: 0, + s: 0, + w: 0, + n: 0, + }; for (const house of callers) { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ @@ -172,8 +190,20 @@ export class PlayerGameEngine { ronTile: this.state.hoTiles[callee].at(-1)!, riichi: this.state.riichis[house], })); + const doraCount = Common.calcOwnedDoraCount(handTiles[house], this.state.huros[house], this.doras); + const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; + const point = Common.fanToPoint(fans, house === 'e'); + this.state.points[callee] -= point; + this.state.points[house] += point; + yakusMap[house] = yakus.map(yaku => ({ name: yaku.name, fan: yaku.fan })); + doraCountsMap[house] = doraCount; console.log('yakus', house, yakus); } + + return { + yakusMap, + doraCountsMap, + }; } /** diff --git a/packages/misskey-mahjong/src/utils.ts b/packages/misskey-mahjong/src/utils.ts index bed483548e..54af6937e5 100644 --- a/packages/misskey-mahjong/src/utils.ts +++ b/packages/misskey-mahjong/src/utils.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { House, TILE_TYPES, Tile } from './common.js'; +import { House, NEXT_TILE_FOR_DORA_MAP, TILE_TYPES, Tile } from './common.js'; export function isTile(tile: string): tile is Tile { return TILE_TYPES.includes(tile as Tile); @@ -242,3 +242,7 @@ export function getTilesForRiichi(handTiles: Tile[]): Tile[] { return horaTiles.length > 0; }); } + +export function nextTileForDora(tile: Tile): Tile { + return NEXT_TILE_FOR_DORA_MAP[tile]; +} From 859cf75ad30b68371ed8716765cc0a13f5fcdddb Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 31 Jan 2024 18:49:42 +0900 Subject: [PATCH 22/64] wip --- .../backend/src/core/GlobalEventService.ts | 2 +- packages/backend/src/core/MahjongService.ts | 8 ++-- .../api/stream/channels/mahjong-room.ts | 12 +++--- .../frontend/src/pages/mahjong/room.game.vue | 25 ++++++------ packages/misskey-mahjong/src/common.ts | 36 ++++++++++++++++++ packages/misskey-mahjong/src/engine.master.ts | 38 +++++-------------- packages/misskey-mahjong/src/engine.player.ts | 8 ++-- 7 files changed, 74 insertions(+), 55 deletions(-) diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index 8a59320a84..b89b0d94c3 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -234,7 +234,7 @@ export interface MahjongRoomEventTypes { }; ronned: { }; - hora: { + tsumoHora: { }; } //#endregion diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index b862e2404e..a1264b7e29 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -528,7 +528,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_hora(roomId: MiMahjongGame['id'], user: MiUser) { + public async commit_tsumoHora(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; @@ -538,13 +538,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.clearTurnWaitingTimer(room.id); - const res = engine.commit_hora(myHouse); + const res = engine.commit_tsumoHora(myHouse); - this.globalEventService.publishMahjongRoomStream(room.id, 'horad', { }); + this.globalEventService.publishMahjongRoomStream(room.id, 'tsumoHora', { }); } @bindThis - public async commit_ron(roomId: MiMahjongGame['id'], user: MiUser) { + public async commit_ronHora(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 5ac5862063..23e5b3a3d4 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -53,8 +53,8 @@ class MahjongRoomChannel extends Channel { case 'addAi': this.addAi(); break; case 'confirmNextKyoku': this.confirmNextKyoku(); break; case 'dahai': this.dahai(body.tile, body.riichi); break; - case 'hora': this.hora(); break; - case 'ron': this.ron(); break; + case 'tsumoHora': this.tsumoHora(); break; + case 'ronHora': this.ronHora(); break; case 'pon': this.pon(); break; case 'nop': this.nop(); break; case 'claimTimeIsUp': this.claimTimeIsUp(); break; @@ -97,17 +97,17 @@ class MahjongRoomChannel extends Channel { } @bindThis - private async hora() { + private async tsumoHora() { if (this.user == null) return; - this.mahjongService.commit_hora(this.roomId!, this.user); + this.mahjongService.commit_tsumoHora(this.roomId!, this.user); } @bindThis - private async ron() { + private async ronHora() { if (this.user == null) return; - this.mahjongService.commit_ron(this.roomId!, this.user); + this.mahjongService.commit_ronHora(this.roomId!, this.user); } @bindThis diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 55fb295117..6deea07465 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -149,7 +149,7 @@ SPDX-License-Identifier: AGPL-3.0-only Ron Pon Skip - Tsumo + Tsumo Riichi

    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 literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/ron.png b/packages/frontend/assets/mahjong/ron.png index 8bd40d6dcaa2af91923bbe1b9a845b5939faa482..6e1f889865e649e116fe535865b80e1ed4242e69 100644 GIT binary patch literal 50428 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

    @@ -309,15 +309,15 @@ function kakan() { }); } -function hora() { +function tsumoHora() { if (!isMyTurn.value) return; - props.connection!.send('hora', { + props.connection!.send('tsumoHora', { }); } function ron() { - props.connection!.send('ron', { + props.connection!.send('ronHora', { }); } @@ -439,7 +439,7 @@ function onStreamPonned(log) { function onStreamRonned(log) { console.log('onStreamRonned', log); - engine.value.commit_ron(log.callers, log.callee, log.handTiles); + engine.value.commit_ronHora(log.callers, log.callee, log.handTiles); triggerRef(engine); for (const caller of log.callers) { @@ -447,10 +447,13 @@ function onStreamRonned(log) { } } -function onStreamHora(log) { - console.log('onStreamHora', log); +function onStreamTsumoHora(log) { + console.log('onStreamTsumoHora', log); tsumoSerifHouses[log.house] = true; + + engine.value.commit_tsumoHora(); + triggerRef(engine); } function restoreRoom(_room) { @@ -466,7 +469,7 @@ onMounted(() => { props.connection.on('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.on('ponned', onStreamPonned); props.connection.on('ronned', onStreamRonned); - props.connection.on('hora', onStreamHora); + props.connection.on('tsumoHora', onStreamTsumoHora); } }); @@ -477,7 +480,7 @@ onActivated(() => { props.connection.on('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.on('ponned', onStreamPonned); props.connection.on('ronned', onStreamRonned); - props.connection.on('hora', onStreamHora); + props.connection.on('tsumoHora', onStreamTsumoHora); } }); @@ -488,7 +491,7 @@ onDeactivated(() => { props.connection.off('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.off('ponned', onStreamPonned); props.connection.off('ronned', onStreamRonned); - props.connection.off('hora', onStreamHora); + props.connection.off('tsumoHora', onStreamTsumoHora); } }); @@ -499,7 +502,7 @@ onUnmounted(() => { props.connection.off('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.off('ponned', onStreamPonned); props.connection.off('ronned', onStreamRonned); - props.connection.off('hora', onStreamHora); + props.connection.off('tsumoHora', onStreamTsumoHora); } }); diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 5e9ffa2b87..52de43f39b 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -324,3 +324,39 @@ export function calcOwnedDoraCount(handTiles: Tile[], huros: Huro[], doras: Tile } return count; } + +export function calcTsumoHoraPointDeltas(house: House, fans: number): Record { + const isParent = house === 'e'; + + const deltas: Record = { + e: 0, + s: 0, + w: 0, + n: 0, + }; + + const point = fanToPoint(fans, isParent); + deltas[house] = point; + if (isParent) { + const childPoint = Math.ceil(point / 3); + deltas.s = -childPoint; + deltas.w = -childPoint; + deltas.n = -childPoint; + } else { + const parentPoint = Math.ceil(point / 2); + deltas.e = -parentPoint; + const otherPoint = Math.ceil(point / 4); + if (house === 's') { + deltas.w = -otherPoint; + deltas.n = -otherPoint; + } else if (house === 'w') { + deltas.s = -otherPoint; + deltas.n = -otherPoint; + } else if (house === 'n') { + deltas.s = -otherPoint; + deltas.w = -otherPoint; + } + } + + return deltas; +} diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 7fbc9bcd69..d86a4d7f28 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -230,11 +230,11 @@ export class MasterGameEngine { } /** - * ロン + * ロン和了 * @param callers ロンする人 * @param callee ロンされる人 */ - private ron(callers: House[], callee: House) { + private ronHora(callers: House[], callee: House) { for (const house of callers) { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, @@ -383,11 +383,9 @@ export class MasterGameEngine { * ツモ和了 * @param house */ - public commit_hora(house: House) { + public commit_tsumoHora(house: House) { if (this.state.turn !== house) throw new Error('Not your turn'); - const isParent = house === 'e'; - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, handTiles: this.state.handTiles[house], @@ -398,29 +396,11 @@ export class MasterGameEngine { })); const doraCount = Common.calcOwnedDoraCount(this.state.handTiles[house], this.state.huros[house], this.doras); const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; - const point = Common.fanToPoint(fans, isParent); - this.state.points[house] += point; - if (isParent) { - const childPoint = Math.ceil(point / 3); - this.state.points.s -= childPoint; - this.state.points.w -= childPoint; - this.state.points.n -= childPoint; - } else { - const parentPoint = Math.ceil(point / 2); - this.state.points.e -= parentPoint; - const otherPoint = Math.ceil(point / 4); - if (house === 's') { - this.state.points.w -= otherPoint; - this.state.points.n -= otherPoint; - } else if (house === 'w') { - this.state.points.s -= otherPoint; - this.state.points.n -= otherPoint; - } else if (house === 'n') { - this.state.points.s -= otherPoint; - this.state.points.w -= otherPoint; - } - } - console.log('fans point', fans, point); + const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); + this.state.points.e += pointDeltas.e; + this.state.points.s += pointDeltas.s; + this.state.points.w += pointDeltas.w; + this.state.points.n += pointDeltas.n; console.log('yakus', house, yakus); this.endKyoku(); @@ -445,7 +425,7 @@ export class MasterGameEngine { this.state.ronAsking = null; if (ron != null && answers.ron.length > 0) { - this.ron(answers.ron, ron.callee); + this.ronHora(answers.ron, ron.callee); return { type: 'ronned' as const, callers: ron.callers, diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 51babc5832..971fe384b2 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -146,8 +146,8 @@ export class PlayerGameEngine { if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); } - public commit_hora(house: House) { - console.log('commit_hora', this.state.turn, house); + public commit_tsumoHora(house: House) { + console.log('commit_tsumoHora', this.state.turn, house); // TODO: ツモした人の手牌情報を貰う必要がある } @@ -157,13 +157,13 @@ export class PlayerGameEngine { * @param callers ロンした人 * @param callee 牌を捨てた人 */ - public commit_ron(callers: House[], callee: House, handTiles: { + public commit_ronHora(callers: House[], callee: House, handTiles: { e: Tile[]; s: Tile[]; w: Tile[]; n: Tile[]; }) { - console.log('commit_ron', this.state.turn, callers, callee); + console.log('commit_ronHora', this.state.turn, callers, callee); this.state.canRonSource = null; From c964c49c587cc3f795060cc9074c5a1eec2f7eec Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 1 Feb 2024 20:34:05 +0900 Subject: [PATCH 23/64] wip --- packages/backend/src/core/MahjongService.ts | 22 +++++++++- packages/misskey-mahjong/src/engine.master.ts | 42 +++++++++++++++++-- packages/misskey-mahjong/src/utils.ts | 2 +- 3 files changed, 59 insertions(+), 7 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index a1264b7e29..fd7e5c0c48 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -511,6 +511,24 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.dahai(room, engine, myHouse, tile, riichi); } + @bindThis + public async commit_ankan(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + const engine = new Mahjong.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, engine, user.id); + + await this.clearTurnWaitingTimer(room.id); + + const res = engine.commit_ankan(myHouse, tile); + + this.globalEventService.publishMahjongRoomStream(room.id, 'ankanned', { }); + + this.waitForTurn(room, myHouse, engine); + } + @bindThis public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser) { const room = await this.getRoom(roomId); @@ -599,7 +617,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } /** - * プレイヤーの行動(打牌、加槓、ツモ和了)を待つ + * プレイヤーの行動(打牌、加槓、暗槓、ツモ和了)を待つ * 制限時間が過ぎたらツモ切り * NOTE: 時間切れチェックが行われたときにタイミングによっては次のwaitingが始まっている場合があることを考慮し、Setに一意のIDを格納する構造としている * @param room @@ -642,7 +660,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } /** - * プレイヤーが行動(打牌、加槓、ツモ和了)したら呼ぶ + * プレイヤーが行動(打牌、加槓、暗槓、ツモ和了)したら呼ぶ * @param roomId */ @bindThis diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index d86a4d7f28..8f331a1f3d 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -213,6 +213,10 @@ export class MasterGameEngine { return this.state.handTiles[house].filter(t => t === tile).length === 2; } + private canCii(house: House, tile: Tile): boolean { + // TODO + } + public getHouse(index: 1 | 2 | 3 | 4): House { switch (index) { case 1: return this.state.user1House; @@ -376,7 +380,35 @@ export class MasterGameEngine { }; } - public commit_kakan(house: House) { + public commit_kakan(house: House, tile: Tile) { + const pon = this.state.huros[house].find(h => h.type === 'pon' && h.tile === tile); + if (pon == null) throw new Error('No such pon'); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); + this.state.huros[house].push({ type: 'minkan', tile, from: pon.from }); + + this.state.activatedDorasCount++; + + const rinsyan = this.tsumo(); + + return { + rinsyan, + }; + } + + public commit_ankan(house: House, tile: Tile) { + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); + this.state.huros[house].push({ type: 'ankan', tile }); + + this.state.activatedDorasCount++; + + const rinsyan = this.tsumo(); + + return { + rinsyan, + }; } /** @@ -408,7 +440,7 @@ export class MasterGameEngine { public commit_resolveCallAndRonInterruption(answers: { pon: boolean; - cii: boolean; + cii: false | [Tile, Tile]; kan: boolean; ron: House[]; }) { @@ -467,14 +499,16 @@ export class MasterGameEngine { }; } else if (cii != null && answers.cii) { const tile = this.state.hoTiles[cii.callee].pop()!; - this.state.huros[cii.caller].push({ type: 'cii', tile, from: cii.callee }); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(answers.cii[0]), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(answers.cii[1]), 1); + this.state.huros[cii.caller].push({ type: 'cii', tiles: [tile, answers.cii[0], answers.cii[1]], from: cii.callee }); this.state.turn = cii.caller; return { type: 'ciied' as const, caller: cii.caller, callee: cii.callee, - tile, + tiles: [tile, answers.cii[0], answers.cii[1]], turn: this.state.turn, }; } else if (this.state.tiles.length === 0) { diff --git a/packages/misskey-mahjong/src/utils.ts b/packages/misskey-mahjong/src/utils.ts index 54af6937e5..5e356b06fd 100644 --- a/packages/misskey-mahjong/src/utils.ts +++ b/packages/misskey-mahjong/src/utils.ts @@ -43,7 +43,7 @@ type HoraSet = { mentsus: [Tile, Tile, Tile][]; }; -const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ +export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ ['m1', 'm2', 'm3'], ['m2', 'm3', 'm4'], ['m3', 'm4', 'm5'], From 054a48c184a8c5a64392c38f75dadaed080ded0f Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 1 Feb 2024 21:01:53 +0900 Subject: [PATCH 24/64] Update logo.png --- packages/frontend/assets/mahjong/logo.png | Bin 164835 -> 302410 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/frontend/assets/mahjong/logo.png b/packages/frontend/assets/mahjong/logo.png index 2982a4cf5b6a5133e3cf058f975025c38b62777b..bacdd21e81463704df11eb0574b81ac43b04744e 100644 GIT binary patch literal 302410 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�E<})}FW6QQ9ghF*JTe^~^ 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 z%0A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�cq&4%xezLrK1^RT+bZZ)iw5r_IU3BJ2l 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

    R?ucJ3r#y+%F$XaL<^E-9d!& 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

    o(nS3u>!WB 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

    ujm*A#W7j>;^ggurf}Uk! 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 literal 164835 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�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�C+JsfE)TR)P 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 Date: Fri, 2 Feb 2024 20:56:39 +0900 Subject: [PATCH 25/64] wip --- packages/backend/src/core/MahjongService.ts | 10 +- packages/frontend/assets/mahjong/bg.jpg | Bin 325258 -> 181166 bytes .../frontend/src/pages/mahjong/room.game.vue | 73 +++--- packages/misskey-mahjong/src/common.ts | 246 +++++++++++++++++ packages/misskey-mahjong/src/engine.master.ts | 19 +- packages/misskey-mahjong/src/engine.player.ts | 7 +- packages/misskey-mahjong/src/index.ts | 1 - packages/misskey-mahjong/src/serializer.ts | 2 +- packages/misskey-mahjong/src/utils.ts | 248 ------------------ 9 files changed, 303 insertions(+), 303 deletions(-) delete mode 100644 packages/misskey-mahjong/src/utils.ts diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index fd7e5c0c48..0120b36e8a 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -428,8 +428,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (aiHouses.includes(res.canPonHouse)) { // TODO: ちゃんと思考するようにする - //answers.pon = Math.random() < 0.25; - answers.pon = false; + answers.pon = Math.random() < 0.25; } if (aiHouses.includes(res.canCiiHouse)) { // TODO: ちゃんと思考するようにする @@ -438,8 +437,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } if (aiHouses.includes(res.canKanHouse)) { // TODO: ちゃんと思考するようにする - //answers.kan = Math.random() < 0.25; - answers.kan = false; + answers.kan = Math.random() < 0.25; } for (const h of res.canRonHouses) { if (aiHouses.includes(h)) { @@ -501,7 +499,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - if (!Mahjong.Utils.isTile(tile)) return; + if (!Mahjong.Common.isTile(tile)) return; const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = getHouseOfUserId(room, engine, user.id); @@ -629,7 +627,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (engine.state.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り const handTiles = engine.state.handTiles[house]; - const horaSets = Mahjong.Utils.getHoraSets(handTiles); + const horaSets = Mahjong.Common.getHoraSets(handTiles); if (horaSets.length === 0) { setTimeout(() => { this.dahai(room, engine, house, handTiles.at(-1)); diff --git a/packages/frontend/assets/mahjong/bg.jpg b/packages/frontend/assets/mahjong/bg.jpg index 528c8b154e8965b58f43947731116729c0c7f813..a4b4d07a1e6c58dd7c54bd64e96a3d9167806326 100644 GIT binary patch literal 181166 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 literal 325258 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%0D{@~IUF)xWbfno!d zz$H z?Vw7lG%4Z|n3I_b-$E+y=||g)SP5c`Zh>MQh}ucw!K2gOhC0!$15`sSk;=7d!OraQ z&N0nqhucIa+VO|-T%(2xp>GrqJvy9wcfAc?4+^X_C9=U(s2jGa0CUs!#)hd_!?cn- zcCAc~psikOBB+D*>v|f`dN#=Rqp}g@oZa3r@G8B=jO$BHq5L~UKm?4CJL4nYIl=m9 zx@f*sqT*8^j0H@B6bifMtGD+gn&IKU5AfG;P^7I80nMJrs5Rf|pfdP)r12hN62F^j ztsBpL_Z{q?Z3Xcu;oVkAY*__@(CU4t-Pq}lnheaU5#yD~m=l#Gjofw5*!I-W)Wi&H z8Jm-i#>jqBy)89N&MaDC4CjKMq(dSRh*9n*ztie{rCpjfg`P zJ2FV?{W5=EbE4}Yix8sDFie23+@#eE4`axzd+2L<01}qpkcy`Ap|H)86j8nMXF>x~Uq)g05Tgzm8)Zh+NuL<;$>4QV0~D=S1Azy!%3ObhHi z{+{|PAsR{IyqOzi(}vx2NC%z|Q^jY4pb7+EhvH;kS;!Z(fNHV_Q}Ld36hSINqDi)p zF~9QBH(&ukX1f|44uQioYStLoK}Rgxs8ybar%N@^XadTfPmnhwZr{8ey+Fr%&nBxy zIU`qyEJPuyRa&IyHDB$KqBEOgHx~A8uHx06G&D<`Iib%z zvwY`9wU?7KFx!v`zD@@qRqEgqVhAq9z_nN{a_AH zK}M`!Ha)9BnSq@)#tWb*O%iNgO>#It?sOBx%RFe)vr)aHEzWNv+;^<|on507O4}M0 z{JUM77gbrlIn~gR7e!LvMu-Dgq4UWfOVu1oJG!h&T#rhX;DB;31CHL>4s>GPSBOGv z+70A}zL>$!PMQRf3A{9ZA(wgIWw%{`Xp#-)x^(A2b}xqT?qL+x3AJphgJbP^_BEi5 z6n=SV+$asSg?l87lYz|x^c{|afSbc1i5g!@6G6@Q=iS^1P#|&!5H^G{dxeD6)hM-1!M{q2)n*H z>1U=n&@@K#q*jY^le@oC$;uWey1a7mnmv8`GnjJ^<&{#OEKQJceJ|ho zXe_ZSMf^jMn~1V7eK(f7HU4qf7+(!7yv68+RFQHRSvE(~`(WrYAH)PX9Nr(9rE&G!&r@o3GdXy#|Pn5e+*(pnfA!z~yi6^*ytov&fTB zjFof+i7Exs@+{lEf_G$*Zs1QqW#A6G^llruO7+v-qMS5>_CJl}ED8z!@ymUZ$|db&^n7Y)x|*fs7iL82*{-4<0+2x3Ve zl#9FQMShwg4=yO=GkRDJzF=!*7C^eLKIc77igBw-%&br0z3y$cJy{ep{*Ia;tZM=S zq1quK+Z;?us?Wj5!RuNG4~Ui`;=yYM)DRC|dAq6|^c2RaB8bS`%YsD$dY_uHX0zKs z(PoiYGB9St9&uJE-4R&&=mUt51(H`)+^p>1n{9Er_`W`LHKd6gYE0rnOE0Y#B%JN% z1bUBieRNH9f_UbNWL2-`@`(iC6ZGl#zBEf*vF=1xlO;eZNhPZ%kz=6yDX&zOL$w;C&&St9N0khIY+<&RBoS22&V9eerjAL`U(7}U z9Dpnm2m_`tZu#%i1ho}p^Tc8~OnJ(I`ANlBZ(&Bprm9Tfxmk~-k6W`-2CdcYf!pUi ztrim7H<`#{K@s#o1s(@`{rS^DPYj+ROis#E&16#2^~e?%9nL-Z8i?ZYw}fF{wZYrU zgM)#|yc5Ct>8edIBq(|@$U{miE&v^9gJ4kO8ND?EXL$?97%prUW?}{7lhf!r0os~5 zBX1AkfOu?$G3^*Ff0+C8_0F0U#bA)L6B=wA^R$#h+f7|_nEX6#8~`X{LWMb@ z$T!AM>)RS?B1qGCg;zyp1nrFgqDBtvb7P$8p&hP;;+1WQ1~Q_!J-vbB{zkOb&^{!w z5-JpO4(+XFK)V1Ob;sXL6{Se$K3vBm%wcyzhc$T>To27$YUolD%E=TSmJ~=V7RKJ4 zduI9V%R#j=n;T*-LkPf7dXi5{?bGgb(4A4C4J(q?JqyZhvwoVqX1%%SZiWmkZ8Qai zg+dK7a%kUCUpN|Q#KGbcAt`bLt?we1tEe3Eaqe|ONJP^=hiI7jah40T5)JWr7C!#~ zO#v`(E9E}&wCr|~wALtIYq!5#=(@W+)M$XDEo%F6O>vC1kLm7oU1xr8mW@P{fUk?_ zeg6PYrQ~azOXn46)Rj)eB-@~O+Nl`?Lum%b0278Qk0f=>; zauq=Yg-{4JUi=JK`;7xn4k7irmIysZa5fE4_pUyB(9mBH?>O>GvY61Y^&Eh{*ZcMN z&`cBjOR|MBfX8LmH=edHi|OA*S)fNgXPN?>6;v;G3_11zCJ1~YV!DMR=z?Nf6q$LXW~5l%F%9BWTF|0(eL|zqe03RS9qRMwd%a&5o90f z+ZxoOkYR>M-ZH^(LIY|ps9oI-2e7apbr{ERs5A>yp@Fd za1?{j&rD$U&=eC(5%ra0VTgL-s)uuQcpT^}uF{1!C@Hi^cH( zA5&NXxFU^M%?dsA89$L4h?*t{t{BFq!SwN5_Qy-mIbJB^Hy4<;0XxN$K#+ZfW2ST+ zD3RVNQc)lrsa&27lYQ}DJ@OC;Rye~x(}k*_NF?Vq%~p6E=Ru%0sSBmi8$zGWfkMIN zx*Y`Y`@*Iq%YrI64lR;$kIAO|;>Z*)_Y7(}DK-1dC_}*!he> zVmKI~K#|zj`g9gJBX%n#QIUWKGDruntC8>fUVxbdo)pH*xx4ivid*-r_CGoV%2!jS5-i$q;7Xx7kzr3PbZV0g5iKDDDC+XPf^z(_0QWt{6!WK z%&j5YMRt!)FRxyG@ICYrIMGx*p0z8uZZ~~-;_>yyg2tO%OwsJ5ZN(TIk~-c00KDiq zV3IU5QtvN>dQsG4=D@FG+#LjT5hV4siqI+=+ou@opTB(slgp=BygA^Pk}6ssBc=ZU zO#zYoO43beL*YTeuHyM1;0+7mzs#&&yyK!;{HhJlvf`3yj7ztxZM0VFimpP-52p{Jdj0@ zhRDZ2E1uWaK&EKIP*BQMeM0vz&-g!nxX>h7OeQoiniNfF9$ z1(>TNHZnS7)_$7KgAq0&NfUJ(1BC>0+rAI6=xPRqL=AB)h1!j$<rp4y*i_tVT zQ2zkqyKe*to19oXNW}x~@1rN>mfN;aPUYIdh5U~B!THc~Bq079tYwG{vhr;9tP_#j z@1RH;MKQ;^M%$HT{KL4hjFHFv5z&drXHW?$yIe#wi#PNGuj!!DGcTMCN$X2S6NyxY=d0 z4o4s3L0lx8VTh8BNd=gNX0uhza(?}4^i4&ES)(u;^x*o9axu>&{B+SY*vChFft;J% zk*-O);`$E#K6Et|V{ihgV!$@kORP~O8}=U~zKBlgxno6T3^_%tfqi}YeD~DRn@J1F z=1j@8ZGxb+z~>_!@GqTBMuo&u`D`}5Tx!p>gI@##(&!(srm05JJC+A2BP);!?-yeO zp4=RC&FW~8?hRro6BJPx4crpY9%8JkwPV;eixv&u-;AEQ>NBW{o`@PR zHmH*7xf_kq!RD;rOkMM!lSu6s;zq9^Z%}vVp~u^$9&uOz@v^t97~HCYtau=DG4guo zCx?;5jpjSB8O3he2TMNOduO(S6A)PBVB`ffQvq@QJ90W`Ht^?q2~fK;T8!q7F1Q^z z_Bsw<#UdirzcNN1!ydm;SKB~gw{WM!?o(x0AQ|?oV?1Y_2T1B%MG+3$D1#uPC{Pvi z@sK-c6e%1da)4^AbXMr5@(uq0*I?-54^ohhp&3t>dB`_a+W!E0&=DHN6F>1PvNW8t zSSP0(8$TEx<3U+A!#IXb*#l@(Pr&B=hu^k<%OPmkPKh*P$t>LT$Lo&AjA#Uq&uiwL z=gg!jkO=Aaz7IFXgGrpBNTO31Y9-WwMeu!(H=b`mPVWy=G+P^RUE6pA7tM?QzZwY; z60@22wHyGsYCW<*v)k*SNhF2@K_dbhhnA#20Ak3#m)G>w)kEdtOGh|e&IN%+&Pc)T zM;ZCL0hA@cBMD4H1?$tC+4;NYwwfGm351YX1w*w59X5`gY}PtnsIVuAiWw1PWwLT8 zj+w#kPwB>WMa)}ZtZpS)M(kSOITw9CoM^fVv|O9tO3W3x$;K--Z@A~K2BLVWS$vp) zM*z26i>jg1f%osC>#8WM7B*O`5Vc?dV1vaPKVNMXJh{K}K@B*Ie#~T=H-XZR%~peu zG%>8O$`0ub5J45vv(L!nXaa@_<**?}b|Jy|ymkFY7m!k+cs#{ot&)ne4DpaN#!U|6 z=omkRcV<}OKz!PDZg+L#j=z6%qO?dAim35Gi`=0>1ZKJES)=jWKoNY!P~I&CC5GuI6By;o!9A`$fT|+vy}Qu6H+_D^7GK49%!bnjd@m4Ov3)(SZ9Ujfg*#S?!wVt$(@J zr2lr;}RxG&!l#&`dQ;aoGBd9?cW�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

      - {{ Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Utils.prevHouse(Mahjong.Utils.prevHouse(engine.myHouse))] }} + {{ Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse))] }}
      - {{ Mahjong.Utils.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Utils.prevHouse(engine.myHouse)] }} + {{ Mahjong.Common.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Common.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Common.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Common.prevHouse(engine.myHouse)] }}
      - {{ Mahjong.Utils.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Utils.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Utils.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Utils.nextHouse(engine.myHouse)] }} + {{ Mahjong.Common.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Common.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Common.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.Common.nextHouse(engine.myHouse)] }}
      @@ -32,23 +32,26 @@ SPDX-License-Identifier: AGPL-3.0-only {{ engine.state.points[engine.myHouse] }}
      +
      +
      {{ engine.state.tilesCount }}
      +

      fK%OR}d)(B|K<~jB2Nz^y_2;d$7-f^ivPTWFG65uuDfHk1K6iah z9+#%7804B-0I`eEQ_G?;>L6YZOd9K|Xt_s?n{SzbKFn(v(r4WU@19vzh%g3JLX#ocG2`J=}gFI)J8SlZ@?0V&WBHWED} z7C`?1bI>z*tT95*Cel=~+Qf5=XB0be@+u#Qk~wE#;z&5yA}MCYj1?VEw;wg4=y+cb z91)kATVxeG1hS(eHDh^@_7g4-8iD%(NNIiM`iV~%KQlzdb&8A}!?b@^bo1YjP-(I5A~5Llhe+mVSi zB%27%;%HDK1DtdeG+9NYc-eeG2^m0D*^L_J>hIdKe%h*o_+JpBIoo?Pl3B>0poJu@ zH?|x+k)9}B z?Ev%F8P(O(lf$8BVJ5}_RZ5I*H+*woFdt6%(@f%FEN=cubZ}~2pbl(*?NkT<0JZn3 zUP+PIBnTKWDC)g#?$0%zZx=(4l%GrTG%S17BJx5pe^4nh9_8PTUn2ZoAC7EpE) zSiGa!=;YpOrSqV{3N%GykN*JCmZ3@%4o|qxKifr(JW4{0NGz-z65#$&NU#Uo*R|*? zN+M4>7QqIIHY|f+WOn4{#c0zNlq&giI=L{FaDu2CIpo(~D^@EuNW`}l1UWe;AXq$i zzp3r5K$~dsOEj{nCAREA`H3d^=l%E91w`@qVjPRV0CZ0L}CIad@y7^OC>}_5fOIP;rCa=>0x5q0#;<(Ywe% zd)&LLI3tXG268k7L|~Z%g$%n1BI}CdgI9HZ^c+U$Kr=F%*iWbv+doRraqU5;q7X!i z``WqWo4dZelYZl#p_00Id0FI)n zAe1@`APxDfx#` z2CAWhr~~joWtIN`HBmeqkKa)%qg7Qg$r&G$%t|1DF=CH6y7up#88r1r>S1PxV7sUh zlh42F+d3l1&nxcnjun|bN`MO>R6MQB<^-zDx+4&2!};`@>fo_Oa(aV*iNnJ6p}`9~S*KTq48 z28yyH$r#*KSUs@Zqg`|CEGLmNh;_?8d4LISwKtHseEboy&3+Bjp4S)G)Eq$nv=D##|UrS>(`K%tsA z*q9<=M{6RACi>l3{G*(kJZD6%Qz3!EkXLXBWxE87X8tqM^NTt%o^(biZ*fIIV(1cc zR&Mb^@@R2GMw*(F*0HH#DAW3ty@tFof4XqGAzNtX$_w>*BBShL9lq^=~^>sqecnb zQMTUebp=Ir90DtY_Q0YGnVt=?%3N)2+plU2*g5oy$8U`VXNpxZLN<{WNgk^_`fnfY z@H84jx5UV^mtyD3^K4_gpX1|IICxt2r$ZfxxyaE z+r!PU8GJ{FB}isdy2v@OY#Y4T2dL0Cf+!{j#2DoKMJS?|VI<&zeaOdOwu77`Q!Kf+ z+RhjYAmC>C!Rz^uwPtg!9`}WIXD;{dukz_54#pRdN66UF}k!>QsAzCt!`-CaNij(XN?SqC+#cwRJg zz0!D{%@YquY9ujZf=@Tow_`@~%CLie!lFAsp`#dJL9_r9d{@0=zJgZmqjMM7ta16s zpf7OtJv#Q)9Xw~s+2PXFuJ*U5ujLJ9{rZx9=$h4hG#-080ED8KuqlB7Y#YG#_xlmi zD234&s0D~rc+Hb{SSP;Ur*UE)45s`%UjRW9@^bxlD4&6x2{WKd)8f~vC+AU#urcp!;QL)pC#&pq|IbR>< z7bxn4Fxo-jP~021Iiqaz2W2(@Yw9-W}GRqGGJ1WbF@?2a~v7Z1m1? zLB_l^CO_en;Z!hhNXR$sjQ6(bLV#@XJ|1%~@Qo{yL1GEpWS>aj^ZVzfm@kPE%;l-$ zNYPmYY*Z6@umypiYz|2n0#%TCYGMq-aP(Ou3IhX^SBe*oxL}T+9IHl=hlPNpDM5&% zLutl4j9qFA6ipjE(82!z=^NE50C!+xgNnXE$mY%73QTHNOO7ItfV7*z+5xW%lVhe2W+{5fH{)a@mffdH;WkFycJc_~ zh4#F5q7^(OsVbtzkGTplIW<7tinGY}BkQV+qiI2CmNujOkz<_TcC+os=ZzOZOk@bz zB5Fb-$RL1!E(by?#q-F~R^bwm(X$<;NT3aolaK(T*0MR&0g$vPzGJg_MWbxmiYzXw zy65!01w=8;DS*-k-mI^dBaue?@yN(J)M^Ql6U>{;B>9`sgk?)vHF(ccSQlS9x+KNK zt+awvfarm&0h_REf-Bm))`tMc{1Ug~5=4#WUP4vTU=A<)5vryYVhlu#cUV^SDmgNun%Zs_s~vX#L#RygW!r%p5r_;o%XZ;56sWE);^YOMSG zXP`Bp&PHz!;n!$Vl*RTrVfr{yR48IJaf++zzKz1U}y>+|{Ur%b#FzT+Xhs$R_iF=KDMhL9g z{ruYDFXNT~?%ECruY^6XbV zx>&mJ-$kVal6YWARLCSK!3~}`{YG!DjPYB_hHB%TLUl?7yNIR8nn3J^gSgvZaesiFUH<2>KE9_4!7CUdX9M$#U z8sl1(QPE}(5=LqFDs?X3_(?eP0yD(vh@RJx;|w@^o5Ink($V~Bqc%nCjg zLr@L4-FF@SdSgXNW>%MEqRp<-xMEF;-~cRF#a@FVGO?)jDgrZE9q9I6{mzOqubAFk z8$%F70qJ5Z^6g#)51f6(X|*16iX;Q+Kc9icbN+N~lGIGB7=dQCg(JBn;~76ddTUT; zF?NMw49u*w#H}*7YWn==+O?n^JeF9DsKrUS3ANyX(DnE2#(^s&autlAn{7Vn1rkRb zWBd-<3|&J+z8T0Z{{RxycH*z!kG3;}iuw9ut?1EAX|7Tac+Ls1 zEPsCbs>Z?b1!O03DY_!K9@kbsZ1vDeN>SnzvnV`S>9;1Y>ON~)fP@jK+@KX;tf+Vl zD3E>c^wk|Bej7~DNcJh4bzeEW_rIXdff>RjxFV{VqW3GfU{`-`F`Wbsph;J;D{x{M zIj`Ef`+Wc({%oVo-La8vmw7m>bOJeNduk2nkDlVgM4C7NQmo8VXkJ4O1s=!070+!2NfvkV_s16GZWpdD ziK{lh_EP*I)0#>;MQ~+LmX-Ai(;{BV(dz& zAlK>Fn;GPQWuaE{YF06?<}E<(t2~kb{I&GalJLbQ@qraUjYs|_6bKi|t+m(m>wt*N z%2{P&QZ+1Kt^mtp=DFni=r!{{D@0gsRw!>H)IBzMqh~zVL!gOrm3BNZUDZeS7gj%W ztlG_{{zJkO&MUegpvX3{Bl)mzps~(JOVmY+#4;)*-W0f@<+x@!uBYm7I_e?BStIk+ z(aE3)CvXIGCbL~Z8LQA0C&WZRGBHbUEf&eZ^pRZPSiYTsIt3_Jc4uI%X1!Pgp1k0Z z(~i0g8U{WgToJe_+DNL+UJpy>*ii>T#2*&So+rWO5SKS$uy8vIu7A#mag~u$5iLH& zOEK2+bHO%oT>JN}5mF>(GEWt$1QP66#(zOq_pE01IJ|UEJcw2`^tk?CNf@E*4?q6N z`e#|!J6x>?heZ-1ehWs_H!0xbI2>P2GpL5k;Z@NjUEq=<7OE|eA$S~DPujzPdD&-0 zAb?)>hAvl(bnZtvI5(??NU@@{s41DxtS~Gn zZn92Kr=UC>>JE-yFhIpCsr||K#YN_aLvJBtF^Iv1zIwh?o zV2c||9Gq{x^|<2lI-Z&N<3!Px0_76H-}Z0sbnETbAoVq?b|$7uSR}gJ`^e#!iw7a00bW0vuD%) z03YV+3&gRW1LC}bqt$I-kWC94sPl~D|2Bg3mod{lu%OxxBqJf0goV;wWjsOY?g+RYpyj_u^P z;sv@Gpm-HseYFNsiGUL}Vtyh{0zsAe{sqvn9D16DyK8qaMsY69(2 z@p)TF3QYn4Z){e2{AR|g%JaBqV(w(JOIcHpI&*i%2#Wp}m;MF2}0?)nQ1k z`9B9IMRbkgAv@dfkpVAZ$v7g$Gn3Hv_|--!;wDD~cz_C!HY|kgVS|D`{PyZbs;qK4 zz+`GM!VNpOB%424Aa$x8%}S-c{3?Y{3QGk8a|&7{?Iz8R^^!kbKtsQYpUUwMB|Jq~ zBz0#4fpyDsj&L*vGvz<=DD4oCZB<~tm#y1Dt~mR3<66}ycB`uSD4?CLLBSlBChS%* z?mhKZgZOp@r@RDaq)?@Aj+mf7N&~KgyhO9E&kAKPxu_IHP28McTg6{beN`Cdc;{ws z4(g$)Kp0`Wt>W-S-Y=$#$~nrHkHjm5WoC5|#;(!K zh0*HTuuX-rW88JWsX7d>Vcr!>1l-1jwnsdRXk5DVJ?K>k(Vnu`4VTk%( zG--;glI;h1s--zQYo1LHPyq4z=p!OdgTwh!f8z*a{PYI|vv40F1 zcJ)9uV$L}{k(wQKV3DgV7Yh@=)3u|k75Q&CtYl;9im{T0l?v=_$_py9(A+v?)e7g^ z;AqpQL2S~4Y=1aY{{YwlUF`GRXqD2yT5a2irC`L1AYBprkLiohjMMm;OEjpA5Ff+? z^BO$=0BrHwMuv-s;$@V207l)@lfa-j71Btw>(5_qG;TU`GeBLC3kPz7K{rC^Sm)ob z(?w)~qL4`trlqq(3VK&hf9t9$#Uyiu59@5R9suu-IbJ&V)qqC+85qYndazLlHBFK} z{{XMXv^f*~tJ~WU17tQVk&I$XsXQv}TW&wol?ELN=-@dO<4PZ1kg8KU&U=r==zHWm3Ca)S#M0;`!&CSMwbM zPYll>Qr=^ML?QJG>JQX?`V9k6T3eP@AmNg%oc14j2K6Y=EQ;yoGXUUugax7h0I(eQ zAE?$ujwyjn>^5y6<%r#9A0DBT{V!3PTf-IXpzr!$!-6+2} zyi7?ecE3v*KLguFHnnyn7-o&P%PRS4k4d9Uq}6uFv&T(lg}lkN*2O;1KpR2rUtn(- z)=;GrA2WQ+yM+c(gM*Lh?aqPvlf)l97huZK>|e?(`luXr?^k*yZ9kY-b8guq1B%^! zXmrocPZ}jh+FVAz&t#W!Jsk6Q*xy^oIxL7;L}?)LI7K!U!4+of8NnYM=u$AGj5bEV z>@7)Hh7e?wIypsBD>3RnwsR}e-#V}W! zcHn(Vz>ZDh)XD9qj;$#2w(8nw&vUcuycm{3%w3{WJieE#-t}Cighya(54l28Yi*LCw6`k;nzT0>2QD4y+Flg`QuRE}H;*v;57UiALo1d^B~XnVyNi|1F6a(U1<=PF4Fz8!X#nvtuq_gyP@uKvG%`gK zkbTEPr=yV|Mo|)mG2Jv}hSSJ5&lvj=ps72{;p9Q#W7x!QP_=c7B88HEPpEwe?++ka zK2w!jUBG0X1rgKo)qM0iY7j};o+K)*F(pei>iY{9V?#*8 z6n+&v&}Bv=ZF~t$v`Fm$WLZ9&4#IqC* z%tOX4TIg9fW19Z}tpYK?7EcuaRp^!2b2gkX1aFm#bET&sY+L28$&e9v>{o{ zj8u&KoZqN>3b1QeMowpyjB&e@wC-ozHi3-yJagNx8m6&D4}Q4e>9Jzu)-RI@3;NXlHoTd8|sCW*8avtHwaA zUpI=5n5^mMqpOE1UNn-)AXSso=s`A4jWU$P=ov&}BW~qK&!!5K#`cx|Itk+9BhJJes1LZ)B^G4=A10w+75o9qp zVDVjh*f*dslyc-FfzOh{%M)}>;=su#7`~bVG;E=2Luv>HB2wAILvweIFWRs)Z6uH|iFS?q2t_ME?X#YwdwX&(KoV6lm5JO&#Y!=3fHFA6 z`bK%k_Rwb{t54;`83`r7C^g!THCBG3T7f)qBP>z6s+I*AqqV+hXOG_+(2o&PVKGp< ze=z4AZ1=CGDz8T1Oat4O-@M%d4%Im|in=2m2RaEV(}?1c9muokKB{AYPXn!dpOZea zD6)D4j>DhAP%IH^V!GgGj+}#|QCrTGqcF5q1Ra3$&p~4G)1J4Yu?ymv#I53dsRyW* z_!W3O?e00}pacXE&0Cm|yrh1RNF3FJ*XNvd+*b&RAo)dkG)T@USqD8u{{Ysi!HI_8 zCXpI4DFBRnP^!go*jG&G(+M3W@d+oEz@Q-Qp;dUn>CKGukfsk&qkLkt>2_6-P%kbxMWfd;s zLt=pGng;r6#)SFBcQ_!$5#}{YYkKXix zIxF0$ZX>+#)j-455G|S7B9-pY7;5N*H8FS7>M`wF_f-#(UQncl8QDz0S?GZAv)J zjPcaxuYa_ogi;_eLem|@?M5QD?I)#PPO?18?z{##U*WZn1fax&*0OHKU zZEjX|_QCdRAbWkal&z$OLv;{OD38l9um>P*;8)j1Xga@#l!+#jZsG_`8ulkWe{Y=z zq&$+dJWDNu<|Px&S5BuO^t}V z(#G%W^w0j@`iSJ&;pGuaGZ0*m#|jNsCxzqVJoOD$HbLjBdYOUSBYX~ir`twrZ{g$g zq<)iIimQRQCY0ABHT`rWqdpx!0bY)GBOxk96Omk1ea?+4_%Rc|pr{S%Lcj|+APV*z zU5}vAiqcOtViL%W8kA+*za0e(Um3;r>7_sq5OchU{LlP=oDwnE=La42iZxB{Ji~_M z1Ly^C0kSTLy0hOL>IDc@0%q|556n2A++CXDj%e|qN6L*t1y(VNBa*ZMsx|r^bE7rT zFN2T5gmM64JxoWW0@YdVc&>j_A{sy8gi}Elz?gbFw`6S{ai45+(?Pn;zBVk|wymUy zeL+C)e*%YZu7jV#AtQWDB{B*mmsuMb-Ntz9SMxxmSmA4SyGA9OH|zyuck zr$MZv&=!ic_MkS>0)!Si-fRJjJ;s2x{fN-Y;JX1Inv4Njybvha&p!VEG+pqcJW9%0 zHvmr*a1GWw+3q+xR$3@CGszSIJx%#R8+((Cf-m14^j9Q4ESTBJW>!+HiFO4FB;vJ$V&&9W$q zmIXzTW3T2Sv`twc@QQx|K%mOoQ~m$*2vb)Is8N5p}p|&PUv11o~agK6D z^Q`Ll;24drl5L^51OsgnD{Y&}2aB`P^#Zv}zEPEr;h)0*4?!6iI2aZ1J@ic@{6fCp zIyT-nGK(bu!Lki^Ki@-ACYB`g2{I&VxGG6({%Ql$*Pi`NjT2mfULw)N-eLo4GsRHj z*a2dz^&^%^<8rWDCjG`t6$3w*0c63)5e7ZU zv=C~!qf|0|^JnG&d=jjlTo43zVnxbG17Q>{=YA=W+#?C*AqJjBr=fVVa!%9loYnz#h>XWC@S<{KDrg}LL9fbdt(zzO>JLP) zdBOKf;mF=L?F@I3cajC)6fuoa=kX9EGctu~5J|Mh=1};h#q-zpp+h27k*7x%RNmzQ zUiQ~5#Zf;009_i@n{2GAk~*}2?p072(X;iVz|RLD0iv>y5d%g`87-AnS7{>agYtRL z?scLoPPgHtjFM;~?#WD0tmA>kesCpLO%lTn?CuoeW5u0HSBD3181Hl*1hoMar{ zMRC(wm8n@P!Qo-@W=(~g)q}e1*GmS4bNk~>Gcw5^hVrE&%L+XnShD1wusNgp9S46A zAC~bmh6Gxx8aJ9zi@)vL8U%bQ2-JuZ3<7wFz}vt!Z#k@-V)(3pm&->{5GQygHrZ!x z!#L-klg^Dw%12Q-@X^I?)=KUIuhq9{HQ%l;MuaM>6_v2G!+RahNHvT903*F;K!XcO zWO5Ypv@K0zki>j<~!30Ig~bB7m`2rFCtr0}cM6fNHT| z5IFDmtws!qRpER@o}~wF0py$-v(x7n+!fv;7+e@+60f8Z(W%PV>3Qe(=Ncd^%G9Wc zMbNIq3L^rI^sk)>S^4uT0A^|`p=gY$75@PCn)>_b(io+Iz}{2Sv=ErBzy+%7ob~U{ zfwhNUKG=pMX=}i%Ut2rYkIN4R>^H>#QOe(%{_SS)7&A3M!kSr_gBvBuJ zDC56SG-_1cCy6Xc7r5X7fICsoQC}J>G2!J!kJeaND%*na20NTlzCT?7kiunlUkm}U z8tsT4a4(?1=BxG49f%dxV~r_keKr6GHc81D8Z0M~_6TB)oWwwPVMSKYC!p)l^~Q~{ zciPK4es#@mpfWNCxUFgq3{soP*u}jbiV8U#{GN57XIMjS^2#&F)+-+a--GXc^a0in zIiY3&K?OtE-H}4R-rn43IFc$t0le9iS)*Q(1y)C2zI0d)e;S?1ED7~C4UCNQeZRJi zi;a?OUlK{?McO?zj9zn{P*6!4nPJ>Q0ZLCxtl8(|xgPpY1QE{YY62YrAkiMarC*7H?%G^E+R(>fel#4#p3ESC#3>iJWaQmslh^IjS))kiU5c#3c_Q}b zYaT3<{^w9>6Cjafn{;^eNDfW^04)rT-)#g{A#0VD8-TjTLxMcANEcKn<3Bxdtk9xD&WQv_#E>Iw z*)>dm_U?aPx`?4(Dvgbm8jO@+D{g9yRRo%s8B}Xm7$I{q8OC` z5^lh-IKJJFH>ezLCUGXhuM&oNUxEm_>zt3@M6Qp_j1)-;M%s35!6cG!2Omo9qb)sIFAvsoGGRe{cfRWX@-riJaDDv{w7A>BLEOHl)wO05C&*xr(FeD zp??wrTWoMoqZf2NS?_-T02&R}CqP0>RtV^@b~M9|{N#IQ*lJX!o=op?NP>Z^7%z)+Zr8Z0eryV%bUFeq@M!hb4Ed#3e8|WEC>b{5fg}O% z*mcH<(?_Ui%oWvDo69s7xfDhK7C-zo+-eS&_;&DyNaJYSDHg0$-s|noe@oFVG3Emt zGd|=G<*%pJWOMOE4}d-NWEc3Tz?r-`S$Xo$B-smNryl0dOFDpTe-NyZ_=F@WX#=t9 zEP+(M^gH(C6Ddy++k8n=;x`Y^TbN)gDL*|r5e$9 zG{>XGhmXRUnkFrU5tiL-dVMI2clgw`J&c5s_?VTvM2g1}0$3`nEcaXTLls1cYD3p&TOLBZT8X0c|vU-M`p z1u`%39vnKHqQ#e1IcvpL-|N#LGG$WC!H1ezOQNM_?#I*Ee^SAxiHF2Qhskhl3T|!Q znlu!f^&e2KyyrTLpdD1Vhw~nZ*jh9sxIBzC#YKq4x zWQbBLFjVs*187_xe=aYcPXy4=K&BNTCEfzxnY!xO01hbfd7^szv0Nu_6q3a|ut2pF zsQknXgYUr4YR;yC}PSK@+1!8*@foQx{p}bv^S} z#{|^$JO`pzl1C%V04TZ)D2k!batD6eFTiNynqM+7QQX&vg2&BR$ z5yw=c%P#h{-qwX)edy{cA!kK&@nc~16>@6s?D2V~&2-}R0FBx3@q`{71BYCez_p=Q z`MK$!5k}HWyTUWMV5ES=n=EXc=eO=PsMKgoQ$_y(#*q<`s1R^hnkRq(v(%5isK^*3 z@b1e46R>aHwSmC|9%u>~=i^mDRV497c_j)!rgLgQ2F3AM=sRes<(5&oKM(%^)-eE( zK+PPHgTeO|pvhznHl0hvIa?Lv2qw2BnmmB`Lom?wP-rb zQ-psCtLkmcP1S$M^%*z=t#vjSs=n>QXTq(jII77RCmaF>4PR|lI8qS6K(|VK$q{fE zjihIwyknuq8q{ht@qQjZ5X~(1$|Bs%$1D!q{{UfqbyPM+-Y6nQ!(&+7M$?|yI2M0; z&Vfe^EL+4t)f`kpAPu|PfV<7v?0$hvka&k@W;Dx^R4FP~7$f}^-n3ZF)uWxIM++cQ zcGszh6mI(D3+J328Xpni+0%EHptt5m6d0Q7dWt;P9VZMxWKWS)|3d5PTvRO z9fci$kwDSlpY(k+Y9x@uIyamdcA*DzWRt-5=Bw^`v2;L*VGj0I>fMGa`Q7dNV?_E7 z9EH{?JU^5ffo-)wf^LREAfIZpj8G`NlC&a8MU`4(9zva_tndgv_|IF>Tz4u7q>Pz2 z5X|a9CWj`u2c=O1j+&x1(R1P)f# zqdySwP2nm?R>&&2=R9EhpZn2A@=CrR%qKfUcXT-|->>^aL7$c40QD8~lEKs#g-7*2c^Pajj4Wn6D!5WmO zB<>aFEfanEef48bpK|ze@G2MD019!=Pq@ckKKj_e`HK>_h+;PY;K&anfIH*;y#fv5 z;xfd_(lDTx4?mj}>E&!iWi=(o$5GT|SL%JNG*kjlHKH~E zD6yPT>CbDRdHU!m3h{!9KmbwX9z}M@q5d{=M%f>;VIqTFOokOJp0>nh8YkGXMyPwkR zkL)xXpF3(v3^EsX2KNJfDZfl{sY6wODDd7a5+or-8mqvA1@P=*k7}|oX>d1n!3R9u^Zt-zq7{uuVOt#lS_baMYt$>-SwxG$$24UjS0nj| zagoJQy5g(Y=M|s{J0ULci!m(#4%QYvwZ-+vwv5`|2%Zb_71EWK>{-Y+csS2b*7Qes zPY(n{#W`sRR@|%T1Dud+_Z<9DwvoWzNR1{|XBgQ-2R^Qx5+VY){Kw;04i2g1~6mvl==$A@nDKQK1tRs4k*N^+k%q2h-7kW(s=gA&;j*>Xuyqk z$@r20QkY?huDv?@vx=Se2ku?&2q4IsggL(G!;a$ zf#YI8z=~klwIpWvTpZD%o4e3-QOy(*d2lisI3j}Mud6sW^gjm`iqpeGfF&2T_9B`D zg#(jWzypEJ>LS9Q#8b*xISuLnSr$mP2b1*g()1fmDjyC^jM5PLNcB!WEdrt36X-GwY4c0ii`5K8D8;B_J3dBl5kx0lqlV`TmM!6ky zrDxk8C;c^I^cqUcv9iXY zQoxZ4?G0m%ytgMKpVw9b&hy3(gYgeBXSQIwmvs-hy!XM!T@j>ag6xq`n8XwdWv-3q zgM9^_x`D?w)QuJqwgueONLHY0uWa8?annT6@m>;AJhhoZ#KfTuWsW(jB>W!zbY($A zG5DrJzF@M>36pNpYwAd$T{~+c!y$ph?kLY8+8$iw(I@TKueEC6)(G9E@{2fa%usoy zkL98(6bFBAd{lHHB=JR5BvHgmH=7VU8pz$o0RUsMC#JK$pBqMLe9$+Y;Y~m%YDQZEumG(6bH<}OW>Y${%KLn_QyE~je2_1ptYaOy8X<=s zA-{-?=PF#9jY-`^3+uLxo}BhNql}TFtezU7bQO?qNb45fTBX$6+kz?F+`sgGJ z;UbbooJ3dB=0dKto67nOwsotu$u92*d(LR~Q2|fmiGrfXt(8dl&#$ zZ>6wLIliMf@6xmqNt~*Pr7H3^)Hh^W*;)gkvByK6;ALpqRofaJ$}L#{Dg_*8)Gozl z=;$Glos=w_sxi4gl(67(eLQ_YIJ|^`d?_j77sJZu%h+92h<*kvVBmE2u1SG0g2LlJKk-%!{)EmHM<4m3%US!(o`H_`2 z3geddBRS(F>4CIz%#kOBjz2TaQW<5UhQO}m=Op*kYh02;6oLuSW(>h!uF!ct-9N^x zDHc z&p&aB41a|3AaatqYpG}xN8k}xp5GZYDSrm2jpeMen3Hdt8-7~`g^ZFqkAH0!SIzNA zL}SDhCc!c`<=bF`wDryVQPm}6A@FY#F<7HjJDJ(a-QtfI$j=_x2Ss_KntC#=G1#Cw zfmR5?0~epmjx`3$;an?igd!kx0UXd4r#$}Wr_O^v2)+&{F^I&(D+YO*`VulO>}IIo zpL^74SHs58SDeIH1>BM4k^$Sh`vOK-P^3-xfE89_VBKVl zn!)(aa40f^$|HPe%vRM1Y!X`?ueH}=2LJ@!Bh6kZmA0sf)JDz0uz9{d{f>aaDDgfp zF4=;n0t1Tdy)l1bS?j4A8&7FikMWdz1-sq2b7;^=!E4QZxL<~n~8B?#CKvQZ4A zt{b_?>39{O1{qcdED=d8H*N$2T``<~z;(bs3WEu}Fx%bw@jyPGb z#78WXUQv{tyavxEz_0%R6=>8(jo=EVJ=b1hUOHdCc&q9-y&7lyG4S#c0U_0cC>BpQ z&l$+Si_w6PM$l||kx2gl$OL|qWZxfe>!VTLDqFT^3R1Ad5^x7hQ1|bmvN62K2ZLDy zZl-c}we1}b924~Crh}o8T&nnaS(&Vmr;vNsIqGO@QBkI3E4VMa$`^7X(IC;q^fph$eKZAI%G)od+}QvV zv~@Sr{NGbSB8eJJp;OexiVDqU$-l7A2Ss#pv-pDYJI0lJQLk~cOgoy}_N^9E+VQ3k zi;!*x)RFxOtmo`?V^1#lmG?^~(u6Q_2_ud{KkaK!ac4Wko0n+~xD$il99>b*>@`6< zB?H8m8zkVkTL96rYyKql{WKiT>WdW7Gu>X+vPsDMe_r{}NkI{nl2V}$DAm@kz6Lq^ zbE8v(ADBki{b&Fyo(F2{`u%S;re%}VYs_`6gp=wvKEkonA36;D&os0l*J)c)52TPu zurg~Mv-;}5URwd3}@{`$oQ7>143 zGVDgs3gC11=y)eO3aSAGqhMIjw=2&=I&<-lrl8$7N4Uo$1ucXXwMpm=VvqFEis;Vh za;~hDcA+3v2fuG`(?nHh#6E>`;eAbJz!znJ`eU&A=rj(k8VMJ23|j%gH^&FB7t=tO zWOA8dG=fVTIb3!p-=F<`vnc4K0Sn0Soub-gQAAnIbJD*|YXZLUDtVIdY?a9d>i|Nc4lekAa_okJCX=N8&s^80Z2*x~&X;R`4s^r5@*= zyct=ol{{1)8IYufR8vqq*rG_Ub9KS%jY@$O#h5>cEBQbLxw=r)*;MS4A{aPJBO{Jf|UoGL+mv9;-MPUgo|uW|U79EYLha zF5nQb+RWGUoc_deZ&IN}Gswar9svBvrC1#LXbcRV{8zrSqCo&G;pC(T2+6eABG0)1 zp8a(O&?pKfXw-&9A&XJqn#is?adr*pFNK0djhn-&$gC}(SY??1Ok6ACpAOu-%_P%NU|$D>dG7qs4NQ?XQu}5H}DPRlT??( zkdel%Bw#UBacl+$89z8Z25(UWY)A-!2`pP~+a(4Fy3PLpV`o9CLLgO?H2}d{WN~2R zStJ|DzoI#cnN*Nu-cMU6oA}7cT?XD5K_FBQx#)|tw9&qP2dHMNK~+dvzN^y*ey}AUly6;mew4y6n2-d73sp5jtL%TKh_SzzTtuh>pgwNP2Wi@; zHO_hYs!KM-_rJ zQy3A*QHIv9E;0u80c?$@7{}Jh&1*U))!P^F&VN49y#D~>6e{n5k8XZ-64vp5A2ji- z&Vz8VzRu>WtbjV-xcbpGo1}Y;i{V3gilxMtxp9C_MH>Bk3{)fGgSFM6d`h z=!#NJ^ang~@ByO34~SL=zrg9 z=8l0x@Z!{SZ+!In*PFN9O%lChv5kUb-VK=kBs)C^vO7@lQ#&xeok4XI`$ z(f~YJx~l2{?^bjfl~wgi3|8_{W&w(m+>UzZ+anjC)s+@WCXI+Lz&$w&xw$)Ui#<9U z932Eu3}!zQ;nk!=xl2`W0Tc-7SfX>DMuWG;JU{U9cy$dLkk&@!qmV4+y+c1A04bQM z1&{tJJ6Vq9vQN(-^IY+Y0A<)EdDcHjmdrqGD~^;asU6NewMKBt{#y?^NmT{dT6P4U zSBtPd*PgL;CM_R`Nn6Bj*mj^&XsEUv)&T_73!&RZbaD8JOlU|{m;jX^17WjPK{h@B zBwl*zD6;-O(6WIV`c_4-O=Muw{V{kITB63LSp&s63L|Gyu4s@AF|*0)Tc_5FD#mXN z>*6CDMX4@8AwaRYdzvR5{jWeLXPj*FErN#GAj04q1o4ky^diLx{5+7r(T%Jl9$v#B z#zz;DKo?!kI_T746p|%8u1MMyS8b6>P1)^d-hml9va2aPH0?2r#2D?c+i%y5k}!IE z4tY8xM{(&$&gj70z^L^905P-8kU+i%*G8JJh4S86Bq~c0y<>YgvD)a@!S9RI1Uo5Y znhI(FCf`dv*4z%XGvBz?m1Sceih=w{XJ#a(#(n%GJDHiD1 z)Jg{G_rSpG^c^vw0iVRk+he`rZGT|BeOI0P==Ubix}(3SN?BF3+H5rzqej8SSs1IJGy(`iBgx_9OPkZOR0VRjIqOw_JuzTJf-zIJE7f$`-;i2!K>?93j;v)2t#1j=Rt#eg^uEn{{U~MtQjybKbZ?`3cs35 z!ipPdeg|HhU29N8j$bK?MIEs_!2H$@c%n@=U;Vhos>g2;h8|%Jy2Pw7aaJ-hfA`Lf zI6IJHmKQ2;6{HMLL3Qpik?)NXvh}mNGyvy)u2>~dGzqhRIX$zX24)6P6mKGl4I!d3 zpn*i>_UEeO8Z;BD!{N}pg^7}>Jv}qH^L!li9W)&ZG=YZ>$_u+7$m>}n>G54PVz`I0 zU3QY>+k(Rf12;ym_4;fT9wJpP1FU;MM+gBmh40e-g!j>?EMkRO{MS2J{&9goL}cK!86rb;TR>v35;Q6sL+ zo1-UkwJnO|^d0{I(se~86~x}FR6CF@S+DGVx&m4^%P>~ia*!_^=DOEG(+4^Zlmv7R z^n!?PcJ?Q!HT`s0&HTAlRg@CkmH>sSJaia8(CFBOe<@5vu?E0Qdbu2CtLvYxsOFF? zuEg%6N<(C@!31_auQ@r=42nm$(-N^5QdAAcBa8Rzj@6B9aCU`B^O*=*7D>9Q{cG#< zpiWjgjdu`K*-!$3bTV>y(07MvUG}XNEJ*U+vBAj35B2ucp}7acm|~SlCulpU*T2v9 zuWXCz4Y>`X{&Td9{PJ)*ac4l+$Ym_C@y_ZQ%@Jm^f9>iG3q%lku%9edx`I6*bKIZl z@uL+s2b2_!Nfa@5U@lEfaO zuj!5sfv(b4L$N_yU?eP8Jf8ml08aYN5;BZgquq?yJ3$+$jyTRgbF8INSrGuvvTcw^ zxljjhsn0)5Xv=uu5U2|7<{?A*xVpf{HIA9jGzubNRFZg((xf{!>%0+GPsQ``q7Q}- zupaOAW&$i)%Fg>~xgWtW^ z8kdMbOw*X;UF>Bg)j_p4eFgn~bF5TA?$MCar=+no7W(AS$T#iIgJfW+uLO?AXaQQ* z$;ENaP_JRzLBzs{C0I?m?semGLHQOHgFwlpIgl@bkw^lok)00+6`N_@b)Ff{% zKpCBgAgOa;@z(0@&GK|Bynth*jRD)a42wh?&NEp8u7xkYj2cQoSz`2uZcu(&2fqM| z812q=EgBVajI)$|zN_3o#yWBD&JM6F0Id5@ppok%9ON}uxX7WM2NWV-AtPjxLRnb9 z=deH+`8C%EjS{Gq7*TxHWlf`Ic*SxLG&%nOL591aa*=uAOpL@M?I4?8oil#`eKZO+ zsTwe=Y0DGpJdS%4U2mHl=mDBo!@)rg;H=U}0AavAhZap$o;!nw%aS)|8w0q;@IlEji*3A&wO)7;XzEr;4yEBmv0lL)%ds1Pn_8yCf%dH3Y0*u+MJ&ISC|E zBNi_V5M+qBxK+f8EgXFP$E`e+m@D@yD{Y>WQ@jqGGt zApG^Aob~DuN`d8A6ugOUSqHY|BfVP-{cBM*w2d6FI&Ru?RYKPt2VS}F+f@bS@~TMu zN8&RZi2ycoNgY7I>-Qg9R{zas0m;5m|)C z%R)&O*kJbAvB|SSuQok^sErJMA~Gff7`&6ikjEAd1qu~^?Gm~}F-DD=M)K2nVrZ}% zsO>)XI_e?#c5f+APctlSv?g|tNEdh)SR8$M&`%1n_=v*!o4mw6Whpz!t=Tp@dwcb> zBs{kTqlToRNh1^>T^q@vb&lMgPP0|4W+{j8^TXwrsUOTMwMGae3#+r5A7NUFYV9&b z+UJf4(tMc1)EVn&`F8X1qA!Bk3rI^{)+HC1`MeLHHSM}`>uN}H|WWHMs2 z!N{O7*3ZT?(UU>9#IPnXq0}ChUtD2KelC0E5b086Crt--_Ew9AJ~k$0Sh3 zbQO<<@V*s`2e|<(4$^4e1=nyff<Ng#xq4zL)fojB{j+d)efWJ}5;G zn2-^-WxIPCY%kVg>Qs7tq<9Lv=0 z>_r|rj;8b+VtA$kx4TM&u4oGjisQa)bUb7n5HE{T{w5|A8I%TM%|u==+7*( zy$$u|kIA~~25q4Eiy>H$6Sc@Yjq(To0EUhB#pn=_6))ukDmJleJF;sabKkE+*1^ov zMF?s9Cg@Z7SPR+)R=OMdf(X!I8mEYue+l8$)mX^EoowV0L5>Z2MEhD5}>e--68PhcJujrSJv^` z^+p#P88^lkYXkVC*gN>3b9u!9gMpyA%0NmoNOzLJ?oc@d@;S%J=TO$4!bRZ}pAQ`v zxN^tb44=Paw~FM`E#LnDu8KLPR0ty?McSK7S$xzif(i?jSGxj^axTXi<2qQ!` zUb&-;G0zq8s~70WA@Y;NEC7-VmOX1E79D7UdlB0JB$0V?2q_(7R#1T{hH^P0r(QdB z5n08uC%7XULV_Jy#b9R_U9W^XE zR#pxsLAbcwt9+6-SSO{Qw`^;1xSk?4nb|-JD{-^DSR*}$BoCVJpnFxppKvK5B5PC7 zjQib;1JmCCC563FnKwH%KE@Ftn`MA63Elm$rbS-6J+pzk@XMdCnRz%w{v-H7dUZ@*j3XrK$2{D_TETDAk!G4b2u^#Rb8hEnEZ zO(7sDyIfrn&JWc6^lB8r1nXB!0}?Lp_po{mYAXX767E?TD!3}DJwNfjIuX;b?X3(W z5XB*gMiT9r7+s6VG%??fn9w5Y6dPfLmVA{)KB8><{{Vbmg2+6%>7^=^64xcM!5`H2 z#)~hkyjTRZaK?6+_XSk|w^Dt_$366DWN3WFGi`fJvkKfZUmbq^uT??a)-bz^1M3E< zlN+)`=IRd!@H^w_x_S6a(!vZIbFVs~6fNT-e{{Z$M=J7@I1d|z< z$W1olSk-mwj%%KW9Ox&AU}GjkEa0BQIja|B@%tTSjUr`q2u-ruv9Jp9iWhfBr|+mb zAf~+1cH?kx0HQDb`8tDGKqRv-@iQb zS~3cvHQrj79j+5QMlx$4`&}QL=!M~nfLWI+14h7J%!?OZ{{XIm$_j;dV#zMpgB*Gw~iGzmE*W2wQ$qcvAP$y z9J44cqQrtl zOpdXg#DZ*FQN}usf2H=q4##7)7*jA(sJ1b54>x>cxaUE9Ix@s!R3C|9UlvEjbf7Bn zd}lpe|qbz4?&DK z;y7n2GS{AY$iVB4Z1K_yBMBvFlWqwVQHWvedtXj5*Np;-RCH#4Eq6y`g&>aHaagbD zG-kSJ*_B#I_7Q5$>_Np|I0mb)Z5cW$7sN;kuq8kZPD|nGB%FMe31#+gWusl^_xc+XHsZx?No$8(tuwwhAR|KFpWRZMVKKjjO zu4kl-1tmhdfJr3gjdVE47h;8SVj2<;lq7HoB~SowkWCIo0QRdv0gWseiWMb*Ak=3AZbkF#YeBljEQMUm+g?NW3N`@S(y;$1(-5Sc8%W10dO~SH7MOZwKQ1r5~9L zV#`Ks;F2;Z^V`^KH7Q06jC?U)P-3E(sUK^hN3R@eBUy~I#1-aXSxb;&t=2|vz~iCz z?|QIEAyQMriMJMT5Fw&5*R|c&N4FGZp=n}y~#<575C8aIe} zlMU*`QWnA!xw0yNBC+f-qco|2e+Lw*DXkeI*rZXlpbv9k_X9cBY7CG3Q>UKgA(F^d z7lT071~N_c-Hu7s37}~sRGHfah-?DN3H=T|?E4)M(FBquxdpA9HTsy)&5#E)Z{vfk z=-12e>*0#S;x{mS5&_5`mWj>Ne2zP67PvzTx1Kyv3ele|ymkTSHn`{Bk51+k`Abqx z>3(ZeU~M)p7&V*?$LFPLh5QuF5?n$uA=--@Wp02M(Z6~cgS;Y7BQ%TVI7bam*FwWk zI5{>y+R$k+Q{hy=NC4mzr&}Ft(IB1OteodSJTjxoz9M#wgW9x_kjw_|v@_4g7kUpu z&*72Osa0hbV)Dl70*?ZL?eIs)XD^46PYj+crp3t1X0ErAc_RLU;~~+%heRS{P8h0h z3>#$j|i06vsFann)x~=!zDlQqRQs>nHoA20K4gV zU!cc839aN6Ah?hhDhdH%tdV#5YVYa=T?#I+SOh{gnpfO_qX`_S1lJ^fZ{_V({{XIx z=|s^wNx+U`jW2SwEJjN&4OE$<%SS=^nY)$LRbS?S-VhPo-DWH2*X zgdO|Iu|Q-TQ1p(qWL|`+3`RB%@wnTyp52XNPo)C}Sd)CAN}ium+E)(Z9BVv!t`j61t-m zV@M4UO_OJ_?RV28Xab)RI+u#gA$E&y;HR!E)-SFzk$M2quZBKcWXrJv&qM)iF6)dQ zetq>ql{_(NVL$+A>WsDt1X!RwSpNCc88b-}NU}f_Au*N=R9&7cBc=})PHw@eKujIX za8+&|VRAtjz1hw$sXUBb-IYtkJf2?p6C2c7;83&in>2kl-&z>Uv0`TuT9?|41rVTF zyC8STIrhewuRuPqBPswPq*ZZ591z!xUmRWIx(u2LCuNd0b`2l^fwgc*6~&98n!!4% z2^`TyHM3*LOT|dJLXM-hmWGYXi&*kM01m$Iw zQLJ(-^VY?Vka&p0#?i(jCHIFU5T?niuWx+TwHl1bZxljxMFGNrOU`Wc=tbo7*i{n2 zBn7t(*2n~hia7-0&6dy3gQG%X{w1JPSlA1&K{uW{RyY|0u{s02n7m>WzR7TadR&SC z08TkLJZRKFkd#@>)Rru%04V(2-QP@e_0gb~K$A2I0CiJ~phhVBXB^;TodI_9BS=_2 z)-)wi>g$_7JPV`ot0>HPdr+|WtSXJmyb=u)&DhE7t%!h2a4=R~$0ck5W7Uf9M!M+K zDPwtJRev!0H-2$eP4u!25B9WaoNz`;$4pj902{#pPXpxVk;R_+G4vRejV18zOqW9B z1Re#}DDZjibZT&5h{nO=8{R@KdfhWv{{WXXe|;4jcZ!jrStW2-7~PKMv3SK-U)Q#P zN=rzyc(B`B)X8;N12%Di$KQ(9l_Y=&#ByHTvZ*|a#~&b9&$hI%R3oy2D6RD+#~@1V>G78U4>(^P_Q$o**+wtX{w%k|=GXxOM$CRV|D8 zF~Gu&TQDpK_OpKf0DA=9V@er)O}H-QTwX`df4@xYPC4n|Pwl}~ED*(|S8PI6*qO!9%WLBX60L%^I`1#|VMrn9?L8cxu z<0icgkSmH9y!&%nGQJt#c_`T01v~OV-PGd)r|+QB9llP}W6Q~KL19*U^}nt(5)~+q zy4NSrpl8%D2|dNt)}y7s+hg%qi|wjhsmb&^0m@mr1G*dE%9 z=t&H5nLO3lT!2G8SjV?(`+dl84>_V(qEf-HVKjIGub;RWBRI(oCrrmThOxVId5=|| zNxYxd>zx94;wQ`k*OqRjNCP!gFTQ~xiJ@ra-?6_ZtMhau9;ZBWpRSB9$e@uU@ho!3 zYB2o67~-$Syd)_#XsMv*6o5htjG1RtTJ{I)>kkAucE z1Q|*I^5mVnu)}X`^u^;H>hxz@?`fnjNo$bI{+0lMPdwlouiHX6`7EpE!Mw&jQIKsI zU|G*i#Xae6a-a!MpD+ZBT!L83{?;_%#7JNMM6 z=J8&o@g7R;BoG$t8W)q_zH&S318IW@TIC6y&gYDSV)I?EuI{=A;o2C{Tqs#K5X1rr zCj^eiIpXYSEYZ|s!>K4}hA}WAvsmeP=8fpZKNGS{vXj2Zlehq181~7#J+wqJN*Q91 zpE+4eh|TVxIxQ27@z8eAIK0>NyhuW*Hxh0m>7BfH`_Ry91Ob7PLQt@6=2`~?SwGsV z8kH)@RJ-}IZa1;Z8w-pYILP__y2AvFv7vZlwV)W0OvIZvKwenm;~j&hZwm^mx{#>F zSIss>3aaXMfqgTb1uU_6U;hBttjZOGoKZGx@_XQc&UqZ@9A09ygg(nVgT$9&`|Uhm z>+hh-2@jI1ENdFZ!I=mw90ET4S5N3kYtqTTe4b=UDwh&I-Pdhk3(axk0SYt7;KA?Y?74M4!iqGaA+RG&nV+iJrD2^zFmC4CD z7z6Y=2BXCVyB=6^xHC~B)BpyB{Mgo#v=KBZ9E{?D1s8d<%YVq*4^Pv-0uGib8Cpo; zMJOx;1X(Lo2gtz9^}R%{hCu|V&e8x6rO|;aV1=W`YvZi}%+^{ck{=R{9@TBdo6BQE zkOgOLAC68m1hmE3XM^*DOETU712G3xj_Ny zmR-Yc2nPWE^@|O>IAnjr@g+|6e<+Xu6=AcINwRn(V}bzyAImK?NEJh}F-b1y;B;WP z9eVr?2MJ^zAQ<2gmvAJ$jqSzV^L%rlZwH^qwhTPR-9?5dbtjW`&~(7iKNBw13Kf_~ zRObC9K{b3|AAZL~v^+$u=|~lrJF>))wVj~eEb~IZY zv|zNQ2?nceP{67e>_A+;eu~wP^L9w zwF$+L2@Fng&M2G#sw^xEh|GwfvxK$*X}w!b@-G#3MO6+9tX36y8N(#wabTrDqSUvz z-F{Kh`QxBz;y1!Kgps0+h%vewPjg`KE3dwbto$m((|MIE(;qS-j2U~anl*UMYU4bsh zjp^iMfHB83G#AGBnU-l}Bozl}b}B3$0XJ7$yWMf1OX5pNQeY9DFri9WG%xbr(O|LX z74Jkc@k>t=*^#n?UX2r~-myF`uo!7hZU+g#Vc9Q$DEwGV8v$Xu0H z0QqcVC5Q*|)pZ%??W+_m!Vn?c(E=n|1p`o`G6|p#bI8c&PLL2E6AKBJKuVTYRU{sV zpVIo>^csrK%$6=ph|>aWd>0FqxBxn+2cSrzgy!{EMwyQsS#o>j3}MT z+jk7m7MP4teW&&E~9VGa&=9gc3-mbX=9J z5PNhr+ggo8XCe*ifFe~ZXVr^2CpJ!f^`?S%NRW7#{5I8Aufqkl)cMD)K!QUlga?Z zhB^ukYaHEK_v|&LjQqWz66$u67Jw`|3j2{`7zd3OGw{(n%B?WAa87@iV9@$*`}|Qw zOha?3BRjt4W6cU8tld%TjC^P==pHcHW(069iwC1vx&Q}IMfJ)1Sko6`LrA*_R&D_v`>T(C^pU6o{{Rr~2>@<= ztjaLNV;uMGjZr+ck#?Q5lyW&3?N}K(udg}_;vJQJG13g#sU z=vw36jr)#!4Ok2h97r8mm=FoukY-YhfH}?0|Xi^y7L`y(y6{AA^>~$T#O+m6KjTIGbSxwLYnzLm5pVLrt zNi%qMlg&~OBFWA!{+Q|Y(VC`k7&KCCW+08^0>}RVY6q@*4sb6*jWoOB=j7PFmg_K(I`e%Nd!tRH#=(o06syyV!QtUgQ7J{ z2>v2moriCzj@)$WK=&u#L}=u#%^Q{g0?R$lK%;~o5VB0+z#E%w5;0ay zXEpkcnFi#*wwqal@7m(J5ny(rLHcOI7LFkrxh#QB!5bPY)3tC&9YyODX%B|}9fGNF z3I71bsa*&lgPJ|B_tZy06b(5hj9ZJ~@-l1z^~lWw^bS_q?-G*ZAQRYNb;mz$<0QrF z(I1Lb4Jpa5LXl+~Jm;|D#y+|%g}Ty4iZ)p{U!@IK0|(n4$M2%hEs~xZSy&@_#WmI0 z1buz7I_SZ(dGe7gZ?#v|Yib9$yKV-h9T%NBMiUh-tGr8NXu8W*4UR{1jB5eEnHmDV zDH#v~JhF$Te#8Cb5YjmAK+C`X03WWJh3-AYbMc;ZN=*n!k)}w%RXc!uUs}5QS5R@0 zqYLHA%#ZKlp$EOF4-A*z&yaPTOMyG332h1c=;EqOk zBz-_V@fo8g$R-OSpdM2N+*bCBvTS=}oDBx7s{vMtNg$FG$>~+yfB-lYYxTzmH7QBD zc$d!H3lodBzA@?prB}J_h=QTdiKg)A+fh^`uj*0Fll;9wzQAXlQN2nwQxu{@lBO}u z5~G^yiubA~O=swzGDur&gK>IfOR+;ayTw&|*F43hOp%oh3o&}w|{HPaom z0M8aG-$jkc$pW%KK+VTm~>-8h1GVha85Cy zOt6fk^7zH_LlY|JB!4K!1okv}#+48FX{Pestym~k9&Itj5`D5pbB;P|0r^FIxYk5b zDcuhbLd9@F>0ILd#*EgHvn%<`HspmUposXzoC+8Bt_CVHM32oxP*J60mRs5ja5`7? ztk)1llt%DH3XfY;7TmT51q;C$0CebiBs~beWN+c#2lACRifbk89P&-j`1<51^Prs1 zEXr(;!YmX82L{G|ykrtHpqP-DAoPh3t(lgHHa3A?lbZV1O#)BiC5)meT>5rNWS;*3 zz0tEnwuxF5GaFnBRC)zeuNgfC-Yf5;Iuc4m3nah-)+9n}vA`gT9-Mdg7$VOXh=E<( z#j4O7cXGHUxHrM{ivsJDsc3!?d{>2pMFhZGZg_aG$~&G27n}>O!&5|r$>QA@swkPj zHThWX1PU}t*(2K|4C-!!Iq_}a#D1&G)SzP?~|N?^3kvG@q)V|^4X#+@S_2M zZr8sgXd)|(i3)kKq@JTBB!SdpEt?1F?Usnc$zLnh3%{y1i~_)Qq1ygzj!2@>(ku9h zV;fn4DpElkQv3RO#e;R&-kKQ=8mEVh5~&+pEO3L>M1jqcaC-ySS4W<93*j13;;4c7 zc2OK#Wc>*@)ZxTH#8M%8B#umEPN`dK!3=Ttx8ox?JUh_muY7m;8CnxHxw z>A}&aV`?+YESngn=8&nfMf+g#1!p4%IxeCKOo*z+GaQ~;GhNsOkU06O6nMQ9JX=XX z!!G7h2Gnc8t-P=3Gm14@4ihhjO~ru`mQoQz9kw%?Gy`xBewqxRW8yqgn8LCW00bN@ z-sUGFsQm3X<3RTR01p(?OccrGx8^}-^745Wao-j($WIYUzHCLT0LvGcX!Jg&7EKEj zemZLOaz`9~AT*Me^3W2kxK=9`Y?{x~_^OKna`5h09hN}*iE(6+b@4*+&U)63Ghl^d znmD}lH?_87;DdR=KHPP!ZXqv*SmdNeW>>PNTqzjcj9CO;F=I;8B|aG^J}PA%S-05h zmKkC!``!<*`3%A^nn+-X?c7JGb>IV!laJg`s!QVvE0nU#D`K1>1f9ahYaIySXxCCn z4AHp>>)cApuAuW(V;JE70Ha!-qZ8qT--+RT8wFMj39Q-Z-FY?5&^XksB}pfX+R%n6 z#?}SC6-cgY9^U$c7$RBr0>(Y+zHI=?Mb&M;S5JR@jaaeXB*heda`@+Uj{q|=?L9_E zJuCYHG^$}wFiYi&2o>CtEZL)jf4&Iz(1|QYImC|Y#T4!#2(wu@2Q~0&tCOnG#o@_k zcqTT!8BkIb%qU(15Cf)TG_e z1mgo4_Ru&b+RwEZmQV~)Msg@nKJ>hC$mXmwVdElCBo=OM+BGLVYu>x`)ta+e%3v?% z%&O`|?DGcDN|X9t38VR_aCNrPS-%oJ;bl}iF=}usx(lP}^2JsF&Fd>499as~Cb^G!2odlE0@Z~&Ik01fd(Du6fbmK);l0Q;8h_2AFrr!U*^;_Vp*HRe-od9h9H@AIv|8Yx~neYDC7&?{r1zQ4^_ z)daH2=X+&H3|hZ0xEz8p{WJxg#9_(Y_IJ=Hb#iPUdi&@Mu^?9|GaOm+#nG$59~_$d zXtB!-ktkJWR|jzi10Z(#eNK(CQtrz0$+vS^Vm6zx>LVa$^wk+mu3+;TRWy3os_1cG zANSb;J7x9yO9iK3#)-TSW7r*RReunGg9+}TTbi&5J$rlOj12-;Q{p3ar)1g~t60y^ z`2Dqt6UqxB!0s3tDz`*+pa(hQpVvU7Nk53SkVaWaYkTjE{PFtg1uPH&wpj)&Er0q! z^&|b}xzUQyB^DuCD-Bk7;?=*4J6O2DLKZWcsrSB_UTW0CbdUI_0I87=21+hf+GvvKw7_Qrv* zf8m>Y0yiD5JvbP~dCwoNgGl_xe>2TfoRGE{fmg;wf7Xdrno{lJFh!lp2{_Lr3gZ{e znmU!0h^q^LNQxV9jhqTT>(lA~0C}iUd952C4&y3zIB(2(&g(fUK7&vL})qQCavt`Xz0@Ypm-LEC?Wmr6dz}eup_e+A~J{sT4R+>M)^rwF15B#q<4*M|gPF z9}GOQ%ts8Zi#KcPBp>BCzPxCatOjTiJUoYK^2*!23k2egRt61ybY()(dEsWfkPy=X zIu36j=UJnVmEmPm2`aSKvW$U``UbH_iYHkcq&^tAf_xbm83T_^;~*a9`uuP-3I!f0 z1&!D$R{KyGj`i1|$HnNE)QO~4K65ET6$>*EX!Soq$mD%=VPx~6GI=lM$5d*;3T*AO z&3e1&Dy)&S!X!p@aIY)K2`P9dukVp(iqJRnRy22r-tbhIM&sX_3~K%FuNsvrTWIN^ zI~xWzKv=Naee<5A40qORHQVLA()f=;(iq}Z!Um2eYD_My9SEg&ZgVuq^P;pFPJV&Btky%;E^A&Mns_5ev+OzGPvZ85{Z!`FwfpKcF@GltWjRt;WECOYbhnl$F0QFsN0GxEm zIpd44=sXzSWO$=*#ye>k)#L;{Z>Q~i2dYm80!&28fldQTq;9^OK{ibauG|~Y8JH0x zw4j-7OE(6tfUDhP5-UGl64uh00tmcF9);Mdwxr+^pb$II7kpJ+Xw4Uk!@P!45lA13 z4j9m*fJR8-@4vpLqC+H0AVA8=fB6tl7tZ2E6JYb(tzu~C)c8q9hbmaf7$$`p0=n~K zzg2jzo~IcY&oz330Ijq%vx3p1Z&qE(N`OXa0gx`oe|-b+(J%0- zd{?Z<<(keIdTDnaEMITU^w4xM?C|>`Xu?eXZsK;3Fmrcg0!Zeo=RlYE#wIAtQn65D zP{x!|+g*F}(B}C85Rv0zNRs4-U?rp2*#L2j4%x5&01==QO&^VT&xeG&E0yzy^Hxfd zTbjPLj%a8nh)5sBubJWz7=|?n{Lh{!XP>Wb;JieB4L~k8jm$hdD67tQVCMa?&Un=v zd=oqt9d|Tg2#zuC2*~OON)@U&GkAp9T0+DE8G`_EwC>3O{E@~ns{wf;XFe(^ZO!i> zWZCA3^x*TxaM{IGog2fyl_986lmfIVMRL5|3gCWjx1&t9MGuLNHi`3qk6F!nZz6=PokU}i%U zZes;VMJceM%~)RSFX%nBp%0C_5W-fF3u!EyJwXS(;>LaNML8N~uMm-`F;MeZA3;{g zu0{aHF8Sj@goaNsQ5~JtcPT@P+5scjU$Cw{>rf$uAcR8{Ks5rTy)0PRBv1yjIiN`E z(yNxd5mY7zI7Fg$r{Y3!p2s^ zZbMpV^N#nmAO)z*wK__n& zjm^25gAY|%JonGfJp(sFB@(kWfsLqgYz*IA`*yLb0fIP^WmQIUmL!lHHD-s`KYpUM zuwifu7X?Bpg26^CR&&ld{{XETmD94b6cK=TvM;8=B%Zxbx6j6lS$VPFoX-2rQxDIJ z$UO({M;bH7c!|q96-dii=~tW*C~+#vF?=0E6r;=RA0CLqrY!q$ZsOY6vdANunfZ|9D8-*hDMFN($5Q_be9icur__W zb6tDa&ZP=Plkze1C=IGb-T}N4DE+>~>p(~Y5Ynj|LGQ@#U`Sw7C2T6#k+*d3$9n0D8aB)>#SgjnCgHqr zNEjTGiXUxJBZR{WhfJ0wiw?e=5%kYJbb~vMQ(>4OYj#!{PAp@-bBz5pu%ZP}O%N=> zMo?n!kBa!M28v}iN3k<+d8{{U}TqQwC76mQ#12-=hzjLlAvq-Fv%ru>Q=oB8eVf45>e%cLt5 zUZO>k39C8D?bqv|Ta`mC#JkWa+NX76sRQ5N1Ga-^lY6}(ZR=ZPt0eK0@z3_wXfjUH zlvQPNu6D^lnkTs6*fcub^wv_e9xc_plDkEXrv~WO2R(hXWya+NAH)USc?UFDka^8= zJA--9SiL1GFeGLik&;KI>m1iXRi1zl$av}!k@}dcs~wa;_N-Vuf7o9#DA^EAB{JiW zOHdb+T{_p(p_Y#*Tr6bInJ<( z&H@QTF(3&JNi~z6z<<8Lj6nlALZDf&K`L=pew9N5>5^88Lix8V1ZM`3NwIxz^IsQ^ zoZgAjfzO<#605irEbCOb_qyXhq0wD4e+tdx3&_U+d4MiDRg82sjPacktZDpK;Waxf zbW;GSTCuyS#rEWT=*ww5!3v}fix?o^nZP@bQGw2}Mr!B7#A+a3xS%t9gM55{#A*$l z#6BFv@cLXb?lFPBtb?C?{{Xe1aU;5-gk7omTWy2d$2=Z;40EFtq%5W7mDIlAtL2ga zAQNV>eA894k<}H`kiQo`idA3^WZtobUKmSDoQ~Xz#bUFd02MMp8Yv}6V5cNi5~ryi*gs7Mtg^!(hA9K107wL#r1bv)_iMH^ z8n7%2yM%4*<*b4z^!decpq^l9i+HF4F$#n~=INY^>ON~xC|meA%u$I8pInQY7PLsK z>Ol9t#n4UlzB={I;OfAn4dD=?NL0vkC{;NC8pj8=F_Xc`9TP?3L4}!9 z%Pb@kFXmt{PS88h=Q*uJ@u!Fitb#B^%xo_8pyYyIj-OB0B%p~Oh#s#D>cETg*a8%c zp1@e?&f-Qc;x(1hP13K0P_0Z|RApB?dR73#tS0J9YdhiJN z#c}U10iq4t1MB2`mZ<&Lg|Spc_wH+yElE?pLMi z1>ulI{{YJIH6ldYouAdPWEB843p+r@eYntceo`}*iZ=3HqkZdMZWgcwb6+$w#)7r@ zVJC;7wOep5FLO|_c5L(~8?UB=gx(yHx@J2QATtu>NWaW+d|q#H_8KOqhlV)hl3x<= zNJ4}puI=EO;D9+9qtD1X8mfn9;R}%zS!N1D7UbSXYR+pzRV47Q61-j>Jt~lw8=OHJGMuB`k zg+Ra{XJ#LiALg&9`u?{^Nb-oxZzQ{9Kng5DRDU&Ko(ALC?&hmn(Z+c5ltxs@ zNX_*ZRk!!ORh5UICyGFx9%gv_-g*l(0kO#==m`g%8kC#G%&)c2rHG=2n9~8AQ0J*Q zA6*rVcz+VK^KM2awhjR#*ff2JypAw*5hOo`11OQR<^y$LizMWLPHdhr)aWdQoUBRW zRzT7+zV!1Ih!wl2ITi*v9qM#>-nsny$+x=DcL8A8$_ZiAOLs(;Et8kobintjM#613=p#to@fX;8=KABGiqP*Qsg^?or9`VrfF{rm7p;67>A)I_0#@@tXE1`q zIVaUv#}(TbcSKS%N^LNv024&c6WU=1*3*&Pw^0oR4Z-J?k2d$)4BK1b3(pr zD+9MDabd{^)n^9Hjz~A{pvjU(FC1djgLagzKP`KE6P;=`5#muWUkv+$WxyOaQa+-u zrHyH&l|wI=JGHYjZQEtf^7ZN~zZwDN&kUP9LV#!~Rmj>aJdxJy@mdTWJg_40@$O=` zybyQdvBzFH;`tgZE7{@qD?Fo+&mIF12*Rw0rhfh)+-&fYA1=NDzO2*mb}$1T`j(JX^3T%m}f}K1_6O;#sMDr3yS&9jGVGh zF=7S!tgj7V-oweO`rl0!F<%c}AenqSC@JXxn(9t*@AIOu45mWDV!|(e9a zdJ1DnWf6sC6es{jO&iBJ-J8X0aa@qBGI~n1ZlogsHlhCjkQ{T+VD-IKnv%lIi1Er; z>?+2<01imLx-^qCaztZkC?eQIelCbMZuvcQ7^ySHhGI_34S;O$II86LeW8Uo10UGi~Vc+F@uFuSeEZjv}LZUYo~y7(CD`kM(RUo{zy7`EU6;~25-IO}7L zY7E37)fQ9)D-|PQ6gji{{8-k25ScL40X&D@X1T8BiS6y6g$f;uB#6Kg!C3k$t_e68 z_r>T8J0LA8uq7BXj20&}GA@mekA8Gm?=+!i^C-l{P@L`?MG}7GdtN!wsLhX;y0SuBw4(&{=?hi$l>v1Xce4Z=anYFfzc;B2LXf07B%8>T|_)9{$?g3N%ux zvLW9hfnb{^$J3vG?qvxOczmlR1S&}sO`iPFzNgz+3KvW{N~Hyk+9#(2j=9iAUr(4} zRx!i_Q3unGPkz4jsFmq?V`U8@qcHTZqQag=I*aYbjIfEfkn^)3k?z`wTNyu~JpTZa zH;sgkxDcj@aHN2K4e^1{jx-tvX%!>hfs2xAy+br8^{$*?4z-|ajH3Lj$R@$EY~BTr zr_QrRei>3a+UAJLst{O$2sMAMHI$|#S6X=1G8_dbDoyiu`FdUT8Zz$(<|qotplt<$ z@(r5+bU7IJ9VgfT_Y?PxaS{U%vYY~<1Vb=GLG2J(E?@dkh!XaXO&IOi2d zSw`sMDZvgEe<%u^XMvwjxB4^@SqNy@Hs#4npmKAzjqocci})paB%jQQNRX*(-LPKs zjPvY${`xZ#INA5GPCYJE>~GI=q?#S~WHaTzC%%mto)N%+wYNL^IFlw7hE%y_KucpP^>(?)3scIVVmP!JXr6Am~ z1;OaHPEG#+-g&(PR{Q}J6AjHF-Lw|k0k3-(ob??sptAW${%3`5Llq%-2Rt5`yX5_b zgQRC^V%(-piU~2AHPnoZi=chJPJ>6<-X>WdVgkeo9#6Q(JlAU+<58Q@hEyn%2-FyW z2+P5~4^T6YuiaOUGaoIJ&0j4BN-#FS;DOjx`&YGVESn!WgovW|1Nem9gX$%-(DU!t zfe?w0#lcMy@7zN%VoFux7Hjqc*d0`_Kq#dG6b?%ihi9eK&LdCR7(sqe-R*H6s=?hMJFDRZ#WdfsC#I^OAm#C9g;H4%vtBF&L{)8 zQQb!;q30TbRN;it%!WY4n#R(=weG4N#z@AhT_&D(Muk>WB#la3gSCTn7_1%!IpaFT zpm}qc_e9|%1&fu09AH}<@tmHQ^^Dh|1oC3@6=$z}3~HfxK`@QH z$cc_M1Z_Yz3MGgF>|NyW4Rg!~#Liaa@ZnhlWed<{HFZY=1F7qv(g@;KFt>(c3MShi z-~uZ8@p#4FI|n47B0WTf@<#9gV8MVsjvV^UhrtSx&NESwk zUYKVnO1rbfPvJ<7X=fk;1up>B1@_}cQBo)r%Ixw-bUzEFer`z_uhNHIN{%Z#_Sckx9E&jRx(&72CDGO%8B12SMRvi9Ff-(2XwF zo77l?L?|OC2RDP*)`Gv06zwZPY|<*amAav1W0Q0Tw_czzhDDden7p7Pt?F5`#~231 z8qXt&y&2Z)3?3FKMpVk`sDbS7tn*`<1a|AwLr8gOlFlE@1gTYFxmwo)C%M7nk=SUO z=_G|vgz(EnfgVshSQA+$y5h0Vd(coJiUf{yLaw11*+m0l&f~>%`EUo&4HEtz!>uoi zsL&PIXwf9yjE-)A?R*RkRFXm!=8niwhc?W3IqTO0i##0{Sh1CpbWVkUhnVhKgq4xF4^ordj=a}Q=&vV*wTw+VkdAjtdPd=c!5rVw-SH`>R5m*bm~4app7tPi6!wwddr8(?y^V({YHC{+Qre#85pXvZ&Eic zhGM~qVo4x_^IUe$wFVGH8aN(XnF8%GwFA<(8XQ%1{dHD5&6Y*kHr4fyE#e(4Q|;Po zJt!Yh(WuM9FNjn!%Hh{AH>k40i9J z;{=MI!KBeNfdDNN*=rjgpeS%JgQ?^)@ zi>Mxi0HqtTv|cZtrD}oUqDO@$jpTAb{vTmCVDZm>x{C<8lf*o#WOW9m+eU?&EshWA z&%Uf_iDl%(41&C=2`6>g!2}GCVS~qg4JMb(@bQTitPWO|!2+)s{HOHIa}|Qewj(dYyH&v?Etn9NYc(^=2hg)i7U~!rk zYI z&?Fwc$oBTeLYX8mF^OF=E#pNv#hh>kI32z9T6x|`nSwD*%%q6O+Hac120;S<09(jN zOmH`u;fJP;IYDRop1%gWPzBbaat-5Q^Du- zKVq|xorQ@kfk;50g57steoyVAam=qc8xwE*RaVqdvT>7-_o)oL)tV0_wvSsD0efCR zG%D`%?W+TMKNS~y`PR&av0R>VqU_P_t&H6jyg%dkqp@h;PdG~K^6_kkO1GMg{ftzZ{R4`6D@pL)RI1FnEF}!jS>Qc*W zMSw>i)A!b*q+VhNc_joW78*?Pn&PbV_wAi&Wo6=7*~`WNV8WG>_Y86m7y}sNMwJ<3 zc8sEJ0ZALMvl_1WJqOoDdpMo02_0=C#BFG zxX>urqr8Z_<9hWQy!9aGs25!4IyD8t_;vGRMj?h3n0`__b-VunJvC>F!bL}fB)bVG zDyN~or=CtvP;Z@X1VesEW?~7&Hq*MR^AE4Kf=A)f7{FyxzIIR%Wb;5C0MEV;8V;6C zkLIe`X9DiQtm6BUGyams5j>L3xJUSPx_~B+w{CyFjY2AstAvaea-xtCU;9}1Am3e8 zXSpL+o;w7QwXUq&ct8?>l8|XM4l@-`{Ua>(25L^gkX*9%M)sO9Y1Ou z8#x+LNkxA!_+fj&WgyYJvPE>i*S@ke^-XOi3Lj3=69=#F)2DNgakNpOi7`qB_BKt6 zJoM^0)Jkgdsw#pv8llKI#aC+?`K;)|m61s@cxT$QB|s@f=Nw%D*BpFkBLeD1@>y2e zReP~jd}pW5-+cy~nS==(YU6RomPzLq^dIgt8X%9(XOY-3qDIeACg_{!e_PJ6MJeSY zx8gqL8)O`sIp;N;9ys~bW~xi!&^|wBtLjgqRlYl_^GK(K2l+Km}NU)Yol)Lw$$7r9xG>4BmCLPrGD{az-oc2;+<5vw@^@`iv-xYxw|n zB;CT1 zLujKh`Qj_sl)+t!SPjjc!>I3%u7dbrz8yw6U&-aynVYITYQ{Qeu0v2u%(6&~qi|G4 zOsd!B86U9Yrh!Ew_<2w9X}w=@bWjMcrtXJcxb0j8{wK~=Pq&p5D22xN!}Rhl%bQ+v4wA5q_$>3YK|6Um%BLTLRY zuyr6Q11d9&e3MwlgP{HyJVPR}DYc3&z)c%&xfe&d$olCOo>hM_(Qu%+Ni2uzq}~TM z2Y;Z*(pG4E*k8gD8Aw%SvH5uSqsBgaXqKpvp$0-3e6~d`;t=y-fWVV{n;d~$V^Ncy zQmFB??B^xPkOv@R>B;y2X9rL8RE}vPVz3V^b=!NW9C4nUgU*$mX%ua|7Gf7|?v?_o z!HG4Vg#7dawy>q-_;}F&02REUb5CTFDysm{=N`kpjI%~%@bBfSp^njrLAxzO<1{*V z`KZt&GPy;HMpCDK=M}gCj2!R{9M*Hz4Qf#-^DA(+B-OYikZjQ6`V3%IU=fNR5jl4& zLg=2TngpvdKq7AntG%`!gpH@U^oqeeo|i*JrxcMgG%qgy05p@ZI4VFF ziy5oqHe0qdX4Yxqp^V4}hz!L-Nf{Ni1~pjVP{_^(ro?&>!h9f{hJC2W6##M#8msr9 z2TB9mSp&$9NXkh9t7L{OR2=XKJX!l3X7vXw9wj0uvK45JhE^Qz0Pg9<P=}@rsa2BP3*#894^7}_M6@Gh8{%0^Q3hLR z`l)l*rEXpi0{4BB~v zj~IxiPcRjA0G8d(cTu|-zWj>Nb2pqE__q#HiZraomAd0RSgY!{#sh=L1Vh7!yttGB zN;CO-k&2Xr10ceXyT7>l89}fS5g2uHPme#uSFp|l79-m9#*}??JS@S{$ZTrhy9VD z=$aX3a;omwERnb%8Z>NjM?ThiYQP*r3?>*=8D(*?T1splYq134>}R!WP;ixI@jt{# z;pEx*Ry}}UB8BmEa83na>a{B;kIQTDz9Osy45%1cT-i9gH_r#PXw#7q)SnQD+msEi zHj&hd;Mk*!1oa$fIzJBH5B~s_yaWgH93eG=bAyBQJub8n;)OiYp0c|Dj9)$dAmGqA zB>Hq2#o?kJG7tVi4(>NGMb1rF131RshPoWl(g}n4QOJ*M#H_RdtD|IC$3a6q`HB)m z%&Q7E<6sON0bt~ebI<tM2_aUuC@;cTa;B&e*?qF%d$Pb zRT1i-4gUb6wGAqa$j-5qgceA^^PP7&u~b*(hSP904egoWb^?cpxGVBus=bJ zaaI$duTW!F6D|PrJ+UdAPx^=4;7mD)o5reTNzxCL1iOq z-Q;9;1LryH8Ny_ZPl*yUh*Sv?m=ON}`hrK+_&4741I0(-!m)$_u~&UCA*dg%b+9_$ zOVC#lGI^^MWzhJ+=6%wBXClxz zK8n8A+~oc6b+*AIe+f6Ax6SntBV7-UF3xdTyU$R~XO?qGyU^aIX52lT>zxQOfLqK~bycIgaU5+Qxt zRDy4e*&QtXM{Ncrq&Wkq(^9UjD@j5XU&AEZA8gSW9D8)J(?oZv zT&a^GOA0)KOJwAV$@eEd=EeMpCRduXKyMehPXKXwJoom{5+?FM-h^-3)l>y=YxE!A zMGFzD7FHI<+=fwg$FblGuDx^_q=YjpaLiqS4QfbW2_~zM1yJmCSZd#Z3~>_V6$qzo z*gSnt`_8o*WwbPVWK}A}?QNj$YySW@`}Ed;e+=rTHe=`>gJcnre>fcd^b%lafU7D1 zRjG}F4sZv2@z`E$Xdj5LC_G@S=#dof{P{c}z8AqUPU8D?A0`Bl}cm4H|8Z$Ef6S1%btYg*cz~`_U z4R$$phj>=9M)Afu>x;jS*HJ4~o+9O=+T~Z4kP&rw7h|V-`{>0R@Nm1onprj)bzsHr z@0`{-9r>*WsUMWySn&4~FQhV?Z%$O^z$+qA!S=Nfn?d1+Xg^q9}?6 zuj7%^-n2?~Ooj+tfLqYQw;LD@@sIY%GhGE04yAW1+Ss!~tb=6o8}#k0P@_ppBXaxL zfY~GgT-ASbTxuct%D_^vVU}&xK!J=Nc*oa3mPb}uQaS=a0|8ZLtPV3n=ZzVpvNF0# zCp(J`&Q^mSPfmV&9yD0drDR_sSyb*rVN{yIG$`Hy2k-P1#i0y5^9Xf?ODFP*y!Aat z&&MWdH1bK~0>-icpiq&{(l|BHXYX2{P~wUx{4iLHGuRGNS~raK02BN7)&`zp8jx;} zX)Kq>1XT}f0E+BIXCUH8VL>AT132J-Hj&8gD#!akm3+qYn`up~{{YIo(X5Zw^kJI0 z@Y5-XgXP;RFb5gr8UqKVj(cD=jrX8^yL~DPBJe=xx3)*I&^MSoEW$!wKp7RIAhE79 z_WF;FN|jM!b$<^dv^BT!39#bLHs5eMeX*>v0yYj(C|I(Zr$J=#wy%oCXP&(xG-feO zCIOlfZAc4~yjeYg{=A+v8y1!p6VBq6!j=PQ_Ik+|(EFRvRV617Fxtz4^fwv+RbLc4 zi{Nvhtvo_T^Ccl!i3VDW?}ZOEy%j_#*8s_&gd>oMdN zF~qI5mi*KwbCcJ%E%!VfN{we$r5II0p-TqjbuFIc_s>C{Wg0~8v6)&biZ?&W=``3T z^IY}o@u18=&c1WNr)n~Yys|+69At{ezs>5_ezZs+@eqjoJm|ibBWNl{Z!|7}4d0zb zYO4M&KP4kw?k!wU2D_WQb3%ts`ZB7Z$Qe;k#`PO+01`Rr&D|41$G94wQIM8E&EX?L z$U_9i?@vHT=Yf2jVAX1+Yb+4kJItKbIDJ3cBk8hxk}zB2ZP`6gQaLNfpw`pl_S@qo9yQJ1J@W zIYJQ(MYFKrgNmVGoQkW@O$PD5hkp`dAOv^aOKW%l5UY&moOL}0iAH%Ad08iCDd(G5 z_X{K&=La-1d}Brp+C`K+GvA;vDe2o{s;u*Yjz$L>#iK})cw<<1S&5IWqiw+AsDqPV zN~`Q(uEm0sbp)$AtW;DRqSS0y+HWLad*~DRkgp$zm5S^_t+<91b6LrwM3Ixh(I~P@ zB!Wkbv@MiFU|AJ+iZlryYZeBK*6flt(6P7Sr6_6&)z5Lj820Ou2p%KD$cwkaIgJeT z2nM$j2SM15Nj2XmL85?w&Va0Oa^71|#eewnDuyxaEIDF!3pCR@uq_;uDuqz0+lJn3 z0>Y0?x6NoIQNNNJcL7AXlg&}=KsV{SqBt4&0n^FiOtP%XQP}|jlX9NK-xouRuKW!I zGWbBO=_&#O#_{>KHmM6lR|Eh~FM*&Ecw^#)k2C%&zFns*O&>@+SLvXy;fk?|&_pO>G6Rd*8JYd}soBC_jY~a!5xh`EA9KdE73E{jT+>3!hWK zW?%&X>dF;P-JtFOgZt1FPa4pY6FV3flo{9pQOOEVLy&ulq6pEsb>1h!cvO_Y<)3IO z-e4xls^AP(;%}{0=&wJD@iI?0lx9OCuqm|B0jLg`Ip}|sbr+yc46b}Qu@HJuxPcjA z!9760AK(HL!^Z4|Lb8=>+NdjTITR|+NB;nSajOPVY-dG}#3+9?nSFK!2o`Sg2(F^+ z-#P;)h>lN0kwSx6;_p(Q?J+mO+Wy;3ab~fkq!QiOPaVnB|aiEoB-@ZUeQf#Ts(7^aT{-z9`X7fLYGaZip zhHPFytLu;7T8&0Wd{ZQz9IybAgmZbt(cR5-Jon8I_=R|trEqCfA5aW?5Jr3OdKwj~ zsVg**GAc>t$f1SNqgRqW>z@ArT@{+248hmLB}Rcqn-*JblDE?9o1>HLG#Qm}O2{=G=dRg(WJUi_Mnr1KDUeG8UZ8tV>=Hlw1;xCZL@sa9Am#d`jM?gP4hR0 z3_^fY3=NIfVCSdx?^w{0vLV_bJNqfwGW;t?IZLa4PKr8l&SH=f%` z$J?%o<2p$wo>kngY%>cjLm4&L`}WTPgS>LeOGoBZyFfHDY#fd({@M=l3+vsvuV^ji z3L(DU{{Y`cqO4{(gi7aPnp@g$f++iU`VRWBp_RrYX$_Ply_Kxj-x%wWt%C9xh?0nC zhSu`$jP&RSOW=;$08z}MTpi2*0F9`DjM&dWem>_w{{Zq3@s&G8EAPMC>H2&S$Hhdm zWf+0x56XD5DD(Sc9W-tuUf(<+3cr?$-xNxY_&oIa#ZV}LZerMG4#o1r;D7ex<3XO- z(0Ovmr|~V9B$6+YUfHhSQ>Y}5UtkIAv@_G<@JxFi!7Eo)RrnBv+&1yXetYQQe zCt`K3;>hB$+~DU%OT)a*>$)<;FQ}^SHS^P+-7h^uL$FG~`K5skzbAJ=%~v@80ILkz zMch?9Ce~M5WgDv?Ro??OU2Cq1UWnx~MI(ob-RMNiLv?iP&+0m7MotAte-wCSK(C4*bj=1RBJ%>kRI@*%hEsUOAA!e8>~)kTjwskG#x}EF{{ZIL4}bc)Ju5-T z8Hi6WoFY-7K;L@2U~+qNqYdFA%zj!tX-pWl;-LLHk~`K;iw*)E!Hh1|P#|Vd6kZKu zj(Iih!O?0eGr(YqILbKuF;u|!tYi#X@1qSGS=lZp_1~ca=7_qYc<0>X*o@F&apC+a zT(u9*m23);c+XyY_rVz&!?($I0TeQiEsi$~b)nYzKj0SGd>7&PkVOG*FK8A8p4c6z zeQ;))?q-Zh00^hof0R-FQS*OcqbeQPsCdaydv*Y%J^ou3F@t?5=ca;53_cni^D+UA zj;Kf!4Fi88+n6(!MDn~SF6<0LEy+q=H>CMq2t>`sx0p&X# zuFJXlXn|(vbH`mujUG4gCFI<#=72#Y zg*LzrYOfuAJPl@!mO`*2N41ZcwO8_id$MnVTod1>pe*n?J{(N4G8_WeVMxIMQ8*a) zzhX^mBh1l1i}Ed9OpRO-o3qaq$T>OWof5h?k>{w_dEQnzDEgPx&sdgLC z?F_6}XyA9SO=s(%h~@|)@jf=^X$WOiT(xqh$;VHiJqChF3rpgn{uNZn>KALd-0Ve? z4sb?y6Pr26&|eiCo(F8B!G%6u#>-n)v&aJ$IOGfF^a^Q~c)eaB2bMuQ_M2)p4neb7 z`td+$B zWRq>v6qNw2+$p2T+6fg|yR89dC&#-PNHKsTS6%hg@^OLl#hn2Vcs~y^!y~bB>=^7H zlLd&yeUD1%qfk$al1Miv;mGx|NH#&EW2jm+*Xd+~O(gKX2_4)yVovF8w$~&OMVrUy zJ&uFVWu@2=R;a=@{{S&t&MvO(bfMQ8uq$=)*#f(W+LTg}c;o?+Hm_^=I@B5XVd6b3 z&A9^ln|KP|$98fF;QhJ))<7x0Rh2&kJ4XkF1!-L!7y{X$eD|zz`U7kwlf}4nUk#8#G60DK>d`MXfTz;^lgV*SBz$Z14 zqk7Gm{5OXF5Gi6up&ghp1xoOKYPst}BUKbR5HONLqCh;QD_~=dwri=O^YX1So+j{a zVtSA&1}q3H7Qwo_;9oa^((VcxRGB52lx#k-KQq&Qly^|~8q`?k^N9jw-n40CYxNx8 zL$-zAUA%SHma~>GDl0)GmPL7KOookMbIALBbrv%6j1-f^BVuYskP+#;gIoXw9@aVl zbyXF~k)Aa`6|#2*pa$G@27u$YItwC660`WArbS>;59L0r@yW$akffMaW$#!$} z(V>4484OJOoJMFKhWht3aYy#h1lnMKG00-20d)|?gI05JK=Jex?=u>~mJ zO=FWrzGxnJ&~pdzFybJpSeYtdY~)oO4oU5Sqi{Ssx^V`bB?!u+99k%#59sT<#UFxpaEDXf2E*`zA5gSC9S zITz4b2KwUfzJo*M5>`oAsS7|oU@-i(Uf-uRda+m}P^|A7pDm6Ga>@@|&7W)>Vzsd& zhjeN@wJ1#oCAORrE9gC_-i<&d;{=je8VgH+2Sc3M1E)SO}iw-xJsw)Y~3{c4QD&A5=HDU;I9 zqQEvsC%Niwv=&JnoHXT21;v0)XxKQT*Xy7%5Ij1;v?YcyuLWD{Rl)sv(YfGH=A%?n zkxbsIAD-|lHIBnNC=LD|G}xv`!)+vBj`j2QKKh_CiKa+lkyV1KmD`T?dk=5Zomd!= zULuag%C=Q=Lg?L(ewEW!h_ML+JW(k12H7F}#NIK-H(vLwjTDv&kc-=Xwj+wkBJgrJ z>w1GoU&9O`v$HDS1mcgk`&Xh;m&5}q#Nk3I8()S8(;1*KFrw1Azt_x`eWl9WN67F%1}o%-e;tOSRJf4bnXuT{Oc7L(;Js*nMfE^OS5(X z1E9@&eRT%p2>$>HLKdKQ`LrzaSMW#I>7bDWv`I^e38s=Zsso!AdV2wl7_BMUo63;+ zfG?QCf^Lmx^zHP~sP8qR@t=gkPfap|xvIwk$Gsf$^w6k=Sz}jZAfo4c;GM@Dj(Y=& z8NC=Oph+Y1Wl)8EAcdqO9fmo+hdnIoG-&dlJhaj7s$^#91(WK$^Y*IiSsHj~(mB`o znP>twqK(A1>L6G>FOQ~ys-%TxmG&1NSZ8bua7Hnj1zAf-%#yk&Alz@ci2&H`+dOuxod(6- zyikkANF)*hcUYlyxE`G|o`)KhD@fpyBq}^IkVf{}ITgpYROFtgSYTpbHcf_g{35pU zBM?1ZY@fee_0V)%cf&u2bpvXYWnL6F0{;N1yyu(-j{-ccw{Z?sjjihhi?dfi5nOcY zMd%{O9IUL8$P1~m85QA^fVwu23=T{qE~~1*7A8{oM6a#h>E)ta#2xO&g;ILvE13S zdVv`PbBN^F@rEemps2~O%6s*r*XD|&NMaE95#tpBD&V_DG7n7OsDgf!JK4{|x;33$ zk%NX|Zr+y*>f|V(di{o@HM-4`?*iGY-n+Qt7lA}$KC0)9R9TRDMeOa4m0WEXbZUsP zn&8;5dW}J!iHIkeJcwc-gXZ~xi&+3s>w#VUSD@F$Pb?6uD$$}V9!LP*<4OlpWPhM& zIU<{Iv~atLZnP}b4lgZ%?cYRbA}CBgA|`0n%CQx|ZVpdh+N#ay%}4-9gz&T30Fso# z!N9EF^5({UxXnhs9ZtrANS*CTA}LgpxGAH}0c}F4{dJH$G*JOO@yC8@ikuboNrJ@W zP`d9&jRuAjI363sMp`i0D#rIwBmvC=N%|js5|rDAi5^dgmLjq#JEQ1Gp}6!Ly5CyS zhO)&x(WT2Tmn4`KR4Da5v7UhArGxPicy*1Z@e0b5R%2jj)rHRoZ%_soBC((kEPg3W zfm%?6WB^Gy80*Q}4tdS!D@i+sS>R35uq(7y+*b8%+~*hAX75s^ITk(Z5uI0dKQRt_ zQL+ts0UM7V*qWM2;1DxU1xC`RszAknuja|`)2GxOO-)>+GDrM76C8tcHK-n~wa$Mw z0lXf%y1LDLG`=CsTAj(!Ni(@g+v5-3VUgLqagouNo8`AB1${{Zlu zWSw1IC7u|GL*be>WFVJ8wTKOTgGRvPsW;GSs7d1tz9~^$yixkmk$p;_`mtOerPsXx zQO6VbgoS86+6+#?v~&laY+ibM=mC?%I9Hkm5QvJiDy`)7CnK*)zovr0GanZWh}(A( z9w_RG+kj1HrYwG=M&$^+PlkuWxK>~mw{JU3QN6s5q*rXw=S5H8d~{)BUB*;gheL$_ z0FfLM&%KVl0RI3EVU7Gdg<_P%=sWl|K-t=ag_Zv#B&Cx<>*5s6uV1S_!wuq}*qvN${e^PrN5#FtXLvfM&9 z9Fh(8Bd@p6YKtV^7(bMrA|1>Z)XRrFo-VUTj=gU67BcdqQ4}-yaUd;5U&>8%1Od9n z21(%R#Tg?>PQ^Z>v@C>+l&c%BeoqJAuC%Oo`F<$L;aqJ{!Iy5(MT~A>Xk(03{GAn2 z8MdgIRyhFL3A-(ALbG@$ky+zNCyGt+nY>9X*R(imB}Uvb_5H7&HCmp7w5uTt7-eu7 zYt$%Npepiizs76^A0xudvPxN%h*c4ts?EC2Y*??~HLF@5!7P&ak4utNm9pv9`r^qv z;<+4aBfKVyf;zr#qpXSTGIJ)!5benHi5ax zHAGeo`>4Pldm0R)Sb<<-ie8|C7W4U%v2ao+l3mC7~!5AZ) zv5GLtNZf#*MX4n2^yd0s9f8%07#LDnqeg+&QUTj_w(5WbAdLQ}9P3f2XkKOn~rC2*})0+Et#&w_sg_1cT zTV17NzxeLFcH_1yM&d}*M+#lB?MwHDoZFmo7@_}|fc_1CV2V7_*iW&!yDJdR5F|lA1 zb%H;q*H$cJ;zVl`Jf${(3YfVzM}9B{4@=g^c=whevE(WjB<&=&Nf+2z=ilq2Z2X7c z`3F0gD`kN;Gxz7X&`p9C7qz1dXm01#Ue+`FX0#cy>{S5>k%fR5t7A4UvBx8&=&1sd ztg5Lf8EPy5Em=4hWD(EPMTrqok~&t_K}3=m9;|WK^`olNG*&89R*!KR9Gc1P-|RlR z8P2NGWnBWc>sJ+;B;zBVowY=GW0Wg1SZDPwnfYuUgFTPG*8rt47+b`$2T4EjY$Q?U zkGJ*fdJL?}N+d*(Xhul{(XKvEwGK3D2|gl4Wo8Z^^BM$E_5%dp_|<47XpY2oJ4v7l z;PcdV7u%=YB$2=}T~m776%=T7`Ss*8S&di$o3cs&0DjsdS!VL%03)iZ(&KhU;66V$H~ln1SmjwnQn7Xb z0&++ldSkV7pl+^8*(#(Rv_*~7GyeeX3;zHbB`-H@ai2M3yDjCe4;Bt{$+7RFE`iTBJ4d1pgqXeY8`C#u>kotgAu$u%LsvUKj zIv)`dxQg14Zp#8no(H5}IK}hxtc`7q3FXF&BJ~~0fAthDzWq4RSluJsjY@B7kxWUW z_3KBAG(`)eG|!p5_`W!{{ScydQsx+%I{|JalsU;8an)uN3MtPFOOalRQ^tRHIcch76osai}LK+Q5KMvTd` zdG#9uZaw%q!ww;KCdN`5*2r`8J^pjjyJ$4=E`?WVc@>oUh&ypt*BQljZ+r!YMv9sZ z!4LjO*>a|V^pob@v!kgjl%q$ z#9$JACyevQHJq9XgA6FGCx{Ioipv&42~l8>PsL-nHK>&T0E=o;&*<2oGHvx6whedo zKk?(Jm6eGEo*XJQ6{M(W?Qd75euU?s$u(@0IdXn60IArheuf*3fuGss4r4#$OD2$Z4#2J zIs+-cERyi~b+GQRH&C!>*BA8Bg1H2P#z={}$VO*k5F5ptG-|um99TNV8hAes35riB z%>pxk&PhBRV3T6(j9z{!0U?uToeTj{N~o$HVvupg3Z}a`2Q_*PM~d@&KbC^Q!l4QZ zlgS`iQcf$6>SEPj4)Mm5v=T7hH;+*TNj{vAK&AQMP`l9%IiV=&GWkJ@?efL4kO3oc z8K6czvtZ~tFAjor{{Zs1=VpjYZfF2(*#u_-jtK3b=)wLqJV|nQ0le7ZFs7~jLs5=ODGU7J|j2FCA=ymikQI;!cXgeZ8WjhVJEW{m!8 z0YT0V58Ci_0i*E^_@M!xc2BKNN`p;Fx%HomdJI5=Lv0 z`MI!qfunGzf#hZ0q=I(r7wBdK>wv`9TA$j&SyTErc`)#cm?T?{RhC_oHmgUL9GYN8BrTG7=ey#S(8BUX`uH zi7ag-N`eafU`??hs~{5GW2gMD15d31nYXWrg|`bkWGl$5`c5cV>G`XhItW$XQnBtR z(t{^iVoK6lXbv99^h3~keNJW zVV$ByLFT9g&?d#O9Z&M`JL^gwCfs@6Nl_JF3@+-cq2rp!#)M|xB~mppq-s{fN50qc zj-#J!eREo^Ea=#C{Z8-DPthzS9nLrq8dJ02>%v)qJTz9vLeh^mzUD|+uB z-Y5cSob;^#WtA4xZ_9c*<6;CCc4DdE$9iIE1vca$zy-xtqo>sr(VO(6&^nL?;VvI>xMfHQV; z@to1nURL->kTv00{!Paw{g#jGLpnDCHZc{QWWs=57awu{E>U&u4t*_8zf>w2`fBLWjmKS*L zZ?{bvjOUfwIV1ACvOx}Sy<^)LH;m|@4K~-1nG~JK&FL&oE3Z#_y#c0A#zMBtK`9pp zCa50$J084fz9cK*h$cvuJ~VF^zKa3gNr#-0FQt?qyz!7|;2ta06+h+nx7n~f5_Z)wH8i5k++Y-HPV91ZR zG<%bGf^nlm;u%DQPEbDE45G7L`6naa`q3F9Nkxs6r_)v#SO8h~7y4?!BS{g;Qf0~Y zdR4u}{DbeM4Wn1|l0OV!-f>vxKli9Q2lKahS)^**3b3jm^}*w=GpHWLjmk#qRDz{V z0C0F6x@Vv|GhO06eqoi7fZAnfnyB~4zWkn}n$eb!_;{8W5_h< zL7i~j&?^t}_~ZK6on zG@JJ>MFKZhan3RJ9dtx=2^%bth?%Uha6?{bWPIn}>!941nqARLCP;C9k$sOqc=sP| z61ip+=&}zusHy<%0`NJ`P2;b=rD0vaG^sLe4iTBIuO`67j+yu7#@2HIo>{KC+Nf;8jR$iwy^y)GC=qm|Co1Rr*6+tRTr0=@E$LAgNVC0rG zQzrGWFLhW8$QaK~-8y9G)F9=OH50Wzse$6|@=qA*I6VdEQU(xIu?ku;Dd$A z(T5h4H!w%MY7qgkT(c0Op`lli6u9DoVHJo0nF$5M5W(d3Ci^nM^9*(cP% zV*V%(-$3G7HoPzDvVI4W9ZVhnOXjBf3D! zrJ0EYC@o;uP)E*t3=drX+BmHD$OiuaT?O)dJd{&z6M7>Ndx247{jCM? z^Geec@R03Q0)Qj(^IXuykEWwFq_LNsW0)2M7LW+XH~`iah`u+Ln&Js9(dYF=LLaW2>`qk&10eI z`ee&zX=RwKLlGg^V>aY%S_6@Md*f6IrLz~3AAE8sb}A&~oVR+-5!boSpwcxk!V$bv zF_4OgMn&E_%4)~ z998GF@uM}){tztFc$lhYlX$N{QZhd=usN#d-%_&H7&f?AUC@z*kWgZ92+!ucW3N4i zXyf6MLZ)qj)t`KEk^%!@=a6pb8ob{%s3y-cf+3CD2W)BveOFX0izA*ZgP?!Icvq-a zb`hE;W;6qJAwkX1H+jyCR8!(6@hsoK0lkcLD*({jTnvwFW{z}5l6V#yFD)>IU36?zlV#&__Y(qv&*6h{LIIILk@vW zf;(P{a(@u2!gP$4TUMqt1r-DmD>r0)J7|Fl--+25jazv=B#qm+s|$Ii749>e8VbsQe_ZNUkyM@jzCJ^Cd#kcz^!@GD0IP7)dJ}1I^eLXz)faxyUDq{6TLHUdrt( zK_uPLvB#^R_5$&(POR%c6%)!NQd`6#suov-uHjY+fPMN77}gEzO&l@72Zn|Tqz0kh zvOHnRgMnYD0MHejfOHa9^O20lYL-+`BJ{B!+T!mA^{n&*;tLNEB<Si_ zOx_Wf$t4Ps{z~o~V=8LDzfLr2Bcgc8M9QqYg@gni5ilmjng`xO}2RzkS`=-o|*$95iwMp$+brCY-Bax7y$E*oN6@_#!j%G zF5P73XcXDuX!PJ!_UEp~YKrj3FjokF@;~x}&OrR!QL~=rv}zHS727nbL6S4NWI>$t z2frK}2DBJ>mr(v(uDd-9$|Rr^lh>~os?_n(qr*D+sLIGUNxeWW1<<>pl1F^kO;u#x zWHG5S(2#93m?f(4dLBD!kU|sY#~E1A`hO@pfzE8uz&*IuRm=Qe@d#F9z-1~ca5e9c z1}mr^8ndf99$Q5$kc9M7mRT}IF|`(Yn)c6gokdi5m@ncHN)&951o~{}ImSg`dmRYq z{3`jWOeK*|tjGrCuqv$nnyoXISqxwNsMIPOD8w@oEr1!JS>vJ5XRvR;7+uJb05Q>z zTObkjA5iZKh!s{{jLt^K$SYZ@tn~fOXdw*Ix0xt#1cxm6EJzj9UQhM+ z3L#P<{19UsP^w3O#h#6E*q(zxBl1N1OzCFG0rt`4Rz8<{H5rc)=Kd_|q-<8*&6}Z- zn!)-3>Dsgv8Fvt9RVuFfB|qYQuW-lq)}YKpkq}}F zyYmK-fG9T;%^tw#j``MyGkAHtN07<`DYqO3%?um7;=vsJ=+tNC$uLwNAZ&ZvYl1Uh zTd~r*-fXPO)Joo9B&iI~MDy@!v-CHI>|YNVUnzj!8<9ZsSI#@}eFm&j2@)!znHijcwTRj}QKMdwM;|!n zT7xC>;M`UKgVbuTwfo(OJzQi6$N*3z3@H*?RH~ z0i5yMKomnGf{d$UYP!DQLB(VD?cYUlNZgYv2W4jS313f8a544GXt5YPw2oLguuk)Q zZX>V1PPM?%p=e=|#9|f-K&)2DUO& zs#6tuU~iLk^Yg0Gs-%)Ej=qGgg?cgn0N8e}{d59BEMb9=8om$$2msf;cK-mqSR;6M zhDQDs63}GrI5*!MSJO%=t3@D zbPXf%46O`myTe!nV}C#aJwL5?&`X%Y1i`~z%q>yDsyXlW)S|*>a!b1^?+WTzX9J(# z+WX$HE6N>=ilKUz-|Al1ocH~DV8v-GA26yW;zhVGbyO^j`*WMkXe=p_0AeT>Cg_2- zjy><#eaX=Y45D_6!^yEr6$@m7Iu2{ zw5qd7$<0u}7|u^i`IVDjP?F#bhZ_q~2ao_9^%cjyvV#@MV-f9SU6 zpxI!Fp;0G>0gmDZ@@xwmeZ~pKiCm~*a%7&>izf2b(YlT^o9m4kZooWdV(4DaZG*!Ionl~l*#B4|~@?NSsHrLOvP`VKzYGLppz zxdbLeI9ed%J$+U;*If-eP**lgpKA!;`druMrB|D#gow2=sC&OStM2P<96mPD{V$Em0p6rMl1S_ z2cyG9B1n^{-Uz0(y`sP*a6Z{J_6)>jCN9%$M<;WY18vpN`u%gqIs~&h4v!OV+hl`) z2_%mAzB<{!It}4Z5g0~*ZWK@~b}Vy^)z8fzwxczxc!UUiEaXg^>&!HyHH?9IJ->5$ zQJilxd2%AMM&)bNYmD6kM!-4fPdBWiyg!GAXuQbcUF)WqVF|8uUIh`ZjD>GRNsz4V)jt8*KeXQ#wL|C0wi!5wQ3oU2c zHftpQoM7n9Z~QnBCyFf0qAjw9Tx}Q^k<*;?KKhjfk_MQ`3YIAyw5V>tB-lN3)ZYNu z(goq;iU`paa~+d*L}NA2{?~s!a&)YeepHF&Q5%n`Ybr0kF2N^{zOYsBb3~LqY?RQ`RsW{Jh@|Lj%=G8_BsjR*ra}J>I*&XJP=4Cj(_5;Ge8vnoEzKv1cw!-&YX(wW(V<{~LCtlu(~UrFo+%*k;G%@s5;AF8iMl`A z7Bj#CkuNbaPbiK*HJNuXJHZ*UFExv^Ro9^p#CSLs&W{{YA8 zF0>gB2Xd@l8ZFVhbgopA4@~s-BJvIngRjF(u*KpFO0N-V6K&BTWLUCr*UfX!1qq;z z6lIoLal3PyAY|VF_3Cfw#;hYaippvi2+`F50arJ`0MX=+gLuH!+iMI8Nsu8YZ~^?I z8W3?r5zt?A@N@tx%I)Cd@v5>mHy0Mnb9m?tXYGJA7)rB8;R1MpWSyIggNg?PVzAk< z#)`|s!enjI5$TvF#AZ3#EMRp5JxyZ+CZfEucz|7zHmUWfQ)u0ls_-%gx$DVG#U!gO zLmI0n+Q(tVPyk?Ns{`LRsxpK{xnN=f^U28zR0yH&c{muwYfxs8`{ zK$Y9gnST#?attmk?mfB+HZ1XcaY3A3e2*8CBc=xQCjqD()IsZGx#qE};9f~z4zbA` zTlYII*zgWO9>SFVZ`QR21{mU3WoBqq*&hXhieR=ob^82h)HaQm!L*T=R3wu)Lv3UV zAP`R(C;9-pip0evV5E#lc(H0|V`#EQR=OYg3l+&#Stav4B)1!EBg-3w8nO^th0Ep;bD~>RYI=DqgPZ&TmeTPJ?~Lb;B{q=0b5We=B?T8 zPZeFg?-~vhhNh96JY#ciY9W|baf`Bf=E3Av+Ijq?g(DZef>yy8s~3zdemwkg zG5A)G!?XSo9+zkIsXnSCSmwHN4>~l#XO2*T+jHbwvBK5~&q6!&_Rwa6IUxXyTW<1_ zz!W1iYWv$41jpgYU9{@Yd{x4sEMk*p(;_fM#@)4JsO@Hs zJ%<`M1k}{hyDPoyuy34EBKSVl)3$?$g)UYjxm33fNUm~51}qbc10A(sU&KWuEFn#z zhTV)Taf;|@*IqTaF?DT$RyH^xVh!5C$MqdCqj4sR_cr=#Yo^BUZ1H6LV?|`q%_{-r zu?_`4H{55QlrN>?j)0eyB3+X%SnjXN7!~Hvz|ZNT#DtjQ z{7jayM!hFLuwQ<3Xbi=+G)(T*ep0oQ(3-02(!u)caAxyL(S(jW=uX-;N4Vqt@2UiI zNf=}XV!tnbEZFBjnmCeX+M{cg3hLQlO^!dWBS8_BBQLaw-D_=8p>#PNuj|)F zq89Ne<%uAZLOqmu#&dt^@1sm5jpYs+IvaK$PTq$JOv>J=B*x-ZQq2sL{`+HE zgGh?PPnWn@-MA^C*7HV%@+$jtps`6H+Y~NIq7z~1l0MdX?TtX9V;afgfKsSHMrAvB z=t1kBztd1@EOUfUI1to4z}-meeFk{`_oFnxgb4O3d6(z`f{qBYj{R}dJZQ_0h-Q&h zRzYN)jU`bw3)E zRB;OViX>*c18`HjAQ~K+C+(~RQDa3%l8k^BBpR{&zzp=xdC{8DrQQq(OOR+t7=Ca6 z0130x_0b$65Gut%_C5%**ZNqld+3c~hCwRq;I*2?kAH99wt{$h3}_vdTWgC&;F_xD zyPR`*8YOHB%j#m`LuN-&fsBunk9*OSGDK!(jwNdrSQ{qtFY0doIo2v9GX{-j5sTaj zaMT-<^u_(T8iRBH0GS#_bG#O1D_3OKZ}qxypy0t4K^fn4#dGQ+?*Qhk^Zm4A>qxv& zcxk2^3joHb4Dqz_$UJxHof=k|QBBCs1ptkb1_&P+896oVPKi=UNSFAvbZ7FJO(o=; zx*M;9S))YWjI>aZp_yFBW3q#B7#aBMU3uqOp+~g-8IH#4K4aF~9W&fsbMP^&jUrfO zVJ5|ps#K4FL7|-fY~u0M9yAIN(5IOSEACy+%0iK3^#|WK#ye=uDO?!L$XcaZE4!|8 zFEz;P^LYkTpo)Jn%DCNb9|ft22KXcP$2txQ9z#4fS~8_qbs8Y^@q8X}od)qddxT;@ ztN`J?Dri?d4cFV=rAqHOH;0iSjTl5}c)X|}fN`AXCyZ+h3nUG((x|{f{vHMgJW%QF z`v%ewun$-=7gJ$>G1}ad&G$V9c+gKZBZ(k*oGV4WnmG-IyC4I2Bz5+(2+(dMxrdc0 zBJEeH1at>B1zE-qZ3KaThEQT96apL}$rplte@da>QJSUvK`9h|G)fElNOEwdtam4Z zbM2s|WJ-|8-eaAlhDxD~Rb5%Z$;Y;{Qj`otThU0|aDg`g$s)(~twd_RWR)bI5}=`I z$_TzURZ-x49aKoXh@k|=w_qtdMc)HCZb|#ly+OB!Xo4a~Eht~br3=naOx2A1bQ&T_ z3`WO{a;jX?i2<*C8?)Eg{iS8JD-w8uM}+}UTb;h8$!J|;xn3zv{GvOJZw6xDD$0&qthY6K>hH6O(IrC?+<_xY7g8Yd^Em*hy;rSsJ+9{&p79uK;_)NVTL~}6Nx1z!C{aA$K^cZu5?Sq zjo-ugX*_3zK#UoRGXWS;Vt_YejxY{BbYzscnM^SjRVU01EdWL<+?-Gb{%b@#@NeLl z%utrv9fR#DK!aYxBKwn*pc{Oz3W$tZ!T|%8p}2mGMnD~iqjUn5w84@^@FGSdXrxhO zFtJunNi~dte*osQN_i!kH&WA8VetWi^WWm2e)+vLMc0KY!FUIUQRN4 z-isK8XwghQ95jqQ9&0lmdLM#EwhiY-p_t-Sjv=|Xpz{i-VnDDBa2QY=S?5I=rV_?r zMFtfiM3NF{k%9vNI*i^c-!xAxU_Zk6W4uKu3Y$R4$ZIx50afkOooGQC$>K+qDxWR4 zu&_#2ERO#GZ1vS@Fp60r+TLdQmQl1a*5U;YMUg|O6iwcZD3Un{3<{}mLaf%#0UJOW z&ftD1-(3b{#w$MP3T!E36^!-j0VMang0uxCnfy9CD7-qBN@4)rWDk6Ouy0gXD83~a z#!KYL9l^;w9%zhyyw&OqWR(=Zl0j})eG*t7R!vu0?{(isps$KkNhGhioLD3A4tiHO zCaC`aFE(phiZU}mjLQpyU<5ZxY;aBh=L5ES4O*!zk}DbFmO~=MP>{5JS-<51=+-`# zMuUir72Ct0E(zJWaw|1_^J1~r7}aV5dJe*?DU$g{>YBZP?3c@6o8 zq_9FMsc3*Yf@t>oX0*w?OBiHW(-NqZ^S|YZ(W);NL-fng>9fhm*{V zIL&};W0DCN6_2s%D_f1mZ4itoEBQA87_o~#uQ$&Z#x+%oLZU^A8Ctj16ruoOLp)z> zUV^YsEI61kzf^)oI2?@Ka%-k}=RpUU$|+lWH|16o2+5#wGxO6%qWP1D9wtXswb~F# zlhFSFL7#5gH1nSjkf2h*Nnx-OY#dew2R(i+v=llrBDU}s4ZM@Mo=4xOJmU4JG6@5c zT~<<9*pAHsRnw<`f1A+KKNO*!MRfAe0>BYhlVF3*^vz$~)Mg8}mgZL7!ul7~C|whp z2Ko2Ta@U`FM2QOS7N_#51%Q4}Q$%~8Z4=d5Su8f-q@94#peWVy1_k!L8U^sq@v_3( zNo6KRV#HV+4!8%AdC&k1D4@GC7dw4D6xC4Un*F>XzAr|i_<^;;7^L#BH@~Ku?+2y-0KN2Aog;P)Gn6F%0OAJC zzo28zrqs;lA4DBWQ}&5pnmkS9V7z{DpZIB6Uttfqw;Q5JtO1X1dHQQ`X4#cpe6`w0H=7{U4)^ijjZw)o zFX7p1eb9eFCj;B|?a*ihk@;R6MypXeYo%Uy+GhCvve}GVN|F--7AVe zp!m=-seQyvow}V;Dkq6|y^6KGn}n0`Ss}q10`-{Vp+pC{V6{xc1beNTXyi`Jl6@^bo`b z{?<-@mBz3Hl0^|%_qOFH%w;$sNxnF&n&;=87_HKkm^ua*{{Vz8F`CHi277U!QLB|@ z5ruPJvC!m_Zu&9)+90bW0f3QArnaoRV?ZrlTZK##S_rEy*2uV>vzk{W{{cnlz>>{6lS4SjeEj zDI8<@YWkkzvD8Hr)au zVq)PNYY@aJBmj7z4^!>lhyzBU%_EqaSv*?NVPRBIIiha>d>nPj(JD^N6`5^7R31|c zB#!5vFZ=Y-mq#ax^XMX}W+jUXBa_EYhWc6QtWoJug$~yYP17)|AY!}VRp%zMbErBq zGXT&+8aMo!Ms)KC3lr9ej<@xC3YvwN*Ed9g_00P^+hX9_r1pAq39G+a>OihUxR@WemR|J~r!0HA% z(7ZI`#5{4L7g{AqLuS}mzhbw+OAtY5XqoGG-5z5S< zZUAi+#S?;WpM4o=5`Z=aRx2SO%Pp)R-Bld(&GgRz>l7m=hm7x*IXuxP;Ix!!N&LWl ze=TuY&FTO=*jO@!3Rs5R?nxFu<78RM0`LX$Y>lOh&v~Wr(H*5h{PwIt6}pWafC0O_ z_oFpr@>NSDN$5&$`;DF9i1g7NhHypbiQ#-KeiT24Wmw6R3Vcf`0|S}{jrAN@?V#4; z5vs}JcYzbBO@zFMc%nyK0x!K^T>)=4J)%P)6idd*bO<-wZ(cp|-!+=n9kMt^Rv{eu zu3=55)LSNoakz7RdDc-pBwi*)f*5D>z_vzUM$!QF8u`J`=Jy9dq)*~hDhJywHc(|j z!*V)a22OiuhIo8G=CRqG5Z4qZ<=`qU7v`4_|M^H^10g=t<)KlTc z^-m})US{Pxw^5;Bb?0~H$KJGQg6;6k?FdbqPRdqdc*X!Yu5ONb$k21jRz-?G7`|de z0??skat~gj@sW3+vjSAl;wA!Mjka1opeSaBn{7@U2 zw*Yq&K%R0qtFGA2HCm5LF37g*bW>`Z!LyIB$P4>p8l_-Ih$J{=L~FE^gXMxiI3p&r zp7)&;d^8`#58?dgDuTdf_@4$0m$Ih3+OxO0i>MH?NN<|Hm2(Yz1uDMP@l z++!6)-~)GMNFRRs)M_*HVUnVVuwcp~-9(!i9E$_(*8+~T(8Th|3zuiO$vNsTfme+hjKt3z z#LF3sgVDopIJE|@=ygajZ}U_)S=HN|%yIu7wruJFDh1a0gqds#eL zzMR%ZYQeo~45dP4GD=64y4{3^)`hK}`2M=k9y~LVMlcArRBY|Lpc~kI{xE48K+oij z&*>Ia9m_+nY>)P|TARxdi4U>YAPd^SV$OQqW7{NqU5Z8(Xv)basD>K| zHpH+uckD?Ar?EQN$bz9=;d8c#jSlVB52wFV?UAEUWi!hm^Pd|-?F!s|$RDrHiU27$ zG;0%yN`gQjk_C#sI^+6i3Yep{NfjRa0QSD!Pkj}_ML^214aPusD_H>NKl^0+ zeXB))=+Omz$`rNGj1YLPNV)>=9Xnvtr$aNds;V8gAAhCu$8HDTaA!A&Lc3N){D1}M z;Mu$zykf8IsxlwK!@4ORAJ4~^U<(7euJ}K`gGDiljy>$rM#`}PkT(j?PAl5<8A^sf zSW|)cgLtp4*gxY&qM?x1;QM1^Y-Bmj)pf;u8quZ^Mu0|AeX;E)bhYUeGt-}^Uwu&| z4H#IZkb*(UJAP~C^I(=(U zB%LD%!-kC*3k4XA=bU4|PELbZ#G!<6t`Up1xMJrR#0I%9T*lue8nn+iYOaBJ^S{o_00)GG-(fqEK>a>0CFz_{U__>DPU=zy>lrjV{2qDH8+e3R*UOY(4^y|PSkT3q!58i{ z7Bb#xiEfq7F3vM|e^1vv30k7ZAXXBh6krG z@)H`n7rI8VkH1WFo^_F|)Ja(+U?e4ii21<9o&{IiJ+uNbI4;omn%pjgM!*2$xam|X z`&DSoZ7oL_f8q$=yO_m-IIBM0&j5ANl3BbvO5Pol761TkVbcVj^bcAeaBA}vXuR}5 zXt9u+2ZNFgQ8atsO$CZcd@}Fa6J?e1&21eNjGp`nlBQO6lX==!uE0DGnzLOFajKQN$>I_}E$x&g zH)Gvd1F`fC|N=NmX{9o~z&t zrs#a!LKc4Dt4KIZYHdn@5t^cz4n9}MClaM$syQE74)A~*cXbv{B`S{Dh|Wu zE4ytZ&`~CL4^0;SRmlDQ^@OiNOwcs4+|lgx`DL3NkVrV94f|wgRhrl&k*4nu`&G9U ziC8uFrs+TfSq6t*KpzmYOXP}2n;c21B$LJa(ZeFWAoU?$r!Q}-4^v%d&uN_ zgU*6TldwBHMQm-cu>8%?5CwLt;~#KyuZk5T!sGb(4gEG zbGapQcGx{eEZOW&U_pke5G-!#7-k~WrS%FM)7QQ;&0|@j)NmH?o0>I|k@p3NGK9MR&(+QTQ^5oC?zR&nLD zqXn^hfvl1UHTzbB)#2k=K`phAo0c8M-0sa2$RM7)sOLctyit0j9#hi?{v-2Jf`2!# z7sj!bjH5em@aTxq7}_vc1s6b8-K5w6-Pg`_0%E=-B)%dZippKTAPjiUMRU(1i>(Do zTf#cT=nDlU0xO1)l0||tNC!Eyz~=$dNTpz$?jBTyTWVyn+&5;qqm1JCBxoeQEtOlt z&PiIKAb_Y1&wu`;^P1ySM5d8p@YBMJ3l~I2pzT7ekUoC(fvq&fLrE$LCIVPR@48SJ z&;zd|^zDwOs+i|?Z~p)>T%t+?6}Ensdl7%IJug8XD10)nh4YG{va>tTZkQb2Xw}yQ ziW&@_Y5Yfr4LFNww%vcty26i1+;fvhu6Y_P3Fdf;$X!`y8(EoyZ43#eJu|xi(Ich^ zHf4857*_J)BG+^6vwr*nPq6x(0P@{JqnRC2I^E@MB$g*5jFHy;=<2}|NzqLHBf&Z< zl?qrgl4w!-l{|MBt&8Hez^aLqqOrVfMcCCE&D{`39W-x@L8<(*6d`g^MF7JT+;eBS zuyI@xkZ32_EYmu&I*{9JZJ~9GtG;>ntp;cl!|ig$Xvr?_ab%6)b+eA=ziJ5+c$mCl zX^~Ks2;~rkQD*br^LNkFKztX6^1Mp;pW-A^vie)g0JYE+jM$-dn#Z|kSiaTp<>ZVu z_Zyj*fa*nz4wrR(MFCVGORN!-kK{tme2=#daKyK-E${C<&XxOBE?0Hb?*l zxgL><=C~kN#*|7jLjGjU6h^o0kJ8jA@P0_FRr8@4Nh3fDNjkF)%m)Q{1TU~W_s>!_ zS_xvC&R9G;tFc;UP*kmqUG>QJ$>=Z=X&#Hj7i&V>nSuPIoMw#^o;y~84-y%fgi39< z%6z-ncF=Bnk}^Tb#)3;UQ%Gf4;tu?pBSxLK!~jK^0{xs{24B24XDr>u1>W)Dxpo6@hteOWN%Sg84Y2dx3xT zqSi(NRJdY*a3bT~M@STtS5V{b4hAZ@Awz~o+W{wrHnQ}}Y~ z*6%>l0y-PboDL7$>}m|?@>44$v;iQ!k?ap5@(0fvC`cr7uXKS)wkOr;{+a3DzJj*! z5E4rg0|iiVfH~>~{EoUSCTQX<2~s0s80=sM2(d#WHC5j|bXcfo4yH*!U^gO<`5rqT zr?*ShjRbKrNU@|VK;A$+4}WUDoORZq6Rfa-BxOh$EVqGO@z?r&D30q9^8}?y0gIRX zyaV%NC%;a#89Ys1NQt(Sx0|tFI6XduXF;Nb4NY5vf8%APVh`zdM;&x(F*_q)&YN0@ zP^1!Tf(ONF#)3vNDv0G{U=p>GYO5GE&~`mE1-Ft6h%A8BSHZkvrao`mRzW0bCSvH- zv1m!rZy$VVLS~O)Qqr+4`9KS2wti2(pro1i30{c5N*hqsWPPi+{)#;UIJX9g2dU`Y zfW1CzfuE+LRD$J=L&gW?^BAsdoOQ=NdwYYU27%FhfhN*HC2H?IxH#@d*0K~ERgP6s zXxhjHkGaA5JZKnrh>csrl^F_(Z(tb6{{WTWILI25RYi7GaFK?fs^FcV{+;vl&UJy! z>xapi0WE|GZ;qBuG6&R?&}hwSq!3KZ%bm=35nSV*I*;^djV@;_&c&nLjzN10xW`)L zpSF2AAjDRSyZ%-nDIJa&1Jj(2yminsGP5&Cp;1N_vsNo<1B+klqE?Z^8%7&(^i`BB z)Gq9fI#*$%E|T{Kba54u0rc$ytpPw$8PD5Tp$TD#d(XQUNT789ga6i&;kYx0h&KjbI_H1Jc3|Vo+dN{ChWBfjX#Qt{nyn=Bkx^+-wUT9W%qH=RstX?k_iX+2rjboF>;juQ6vH~M;y=}{`bCegoeCH+RL~xb%l;Y*|juio|bY=Y9mPYO}Qc=Lbs=JS|-+r z&(Mrwv5eR@j*@u1OUEjxZ^Vgauy8rIQY>Gd}NTTOC(IF&q$z(Ax<{eJwDxUS*OO^nhBUBx9Sc~@|eyDzO_JE_q>4_ zq`o3Q4t&u%yEA!!GGfWPVnFI^>+`CPk_Mi2*&?}6U(VhE7&J}wC*p}eSR=?hG!e(* zV%qC$%E|={@nn_Y{{Ys5X<3m|a~If`GI^P9P5>UPlbYaGfI}RzNgSX4Sm@RHhU_^8 zmyCPzXkT3tl)h(|{4BDU^%aCCq=0dotXb-D^g1x~tg6lwN`nI_&DZ9m*0~qgrgfS# z8v;apM8HY786(@f%(moXHb5Bm#|K#&c}mi6J}edVv1}4K9Ga>GRdR4_n;<+tit}V! zke#VS#U2|B-P^bJJb0>`5A!bzxw|F_DVu0k}e*XX^h9`=2fd2puFNAR` zwJJ?18`z%1r#{)i&1&M{IyZ@#B+a`(5wFfXrnokhYqK0VYe36<^7d6nH2VO7+w6TJ`aVyI%;M<%FJf)9U zP-tR_&4bWr)ERt9FE5>(1LUZ+U`POw(~ASKtrgM5;lGD7IszeO+{+kNT-nJZHU;uX z&>43be~6U<2FXJEijT}Qc5!}@N77DfKtshRiofAmokMP8otd%-sx(2sJXgq|--USI zGvW7;eP|x?2&*@Y5^yWxuTf$$q|-cc659~6jn)qwN< z0R;3N3C1zgS{V3={J7!q9xWkBo|v58(g* zK>O(iMo8KrDu(qrR4vE=fB-kZ;{O1)t8v~Qc~(d8jWBJcc1b{3=ooM_n&$(ytO6vU zR(L5vEMqKk)n_D&um*olbgH{$Ab7QyhYAMYCxPxV25jbl_UBM#PY`bh=7QB?MN&v! zltIT|oPBIq>5@`Y!mNb5#$8t|F7ZN+It$=e(@GFQwL}wmc8oQZ-o$=h4zv#&zJ0m|Vjl`rMAOQBUZe~T z(k$0J8vNPzpl?AJca zjY9xek#=|;I0p0;5#mTuCk;n=W~KmgeT8~?@ALs1(c(_m+a-{It*CK!0jmS1Fg}-~ zQ?5R;%OV)TCt){iHw^K}H=Om)6lfzcyy@bjiWg{@ml2aguJ3LD&`BCHqIC*ls$VkO z^sAsck;b(KE50OBk*fgQ7}u!-IlPcX(6iX!XjYOYNhFOM&1Nkct>j-9_dnkBZZmk~ zed{516fGQ+x{pG5JpJ@2Nd6@irjiibq`($zVz79@9lCL&JQ87Ph=G-}yjp^6UOghZ z^yBp=(WVg+A!&CnsMy48bH$#&ae4spM(m_Y7BIFNKtTei41F)2{A$G+C2tQ7#;Z?M zrCP>8tJ(nRe^IT9@rK#tD0htsswaOpM)=>sl)-NP-70WJUy(IDc1Pf1kZx ziwkT&oJjjl+ZIKW_q-4X>5W*^1a&Mos3BI43gDdf2Oqii8q^)@cz+PE^&TtIEOTEs zjZjh?qsZ)8BisFjn$#6W};E-WY<<38Sz?Z`bZP-QBD+r<-f zuFXM?f8VFmT7hqhKm{`2=1{dp>aPHI=z40<=9A5DFvJ|I*kZ%eTxU4v9^77apP|MX zu1MtDn`dGRbO(;NivIu=2Y7W3ONc^9bG|nwiNNELgY0Xa8Lgy5SZI=-f==#D{W<>L z*fKHgSkgB}nwT^C!RG7Q@7we@pio=Mzs%0oYfRbc{eGGaJi#PyBF?S3L8}9r-~pb$ zzNHj8$ry1u+p)5#dx7nYS6`EzU@tAnG0I)XDjByH6-3r*uaDFWlQrHQ+0@G%Dg_Tx zgU3$2uN?mXQXOv;&YQ^eg1(YPP&Q6@=cmSqQJD${k|nHPQITL~xw`F++y;e9vO7AE z4KdgwCa?!me_GHs-~2n3g{hjINCd7u;qHz`!yMQn`T zMr?}4dg#hQKk+cD&1eG|}*2A))u zP9rQ5_sBp1Ru3KVL-xsrtjiI1Nk16@RSeYId9DRuVDriN3VcM5a?TiwDhXf;ab~Y1 z?Y?=&g83>W3kR4ZPf6a{28{t&99Yz;NyMf6vEqo_0!Tce#?!#TA4@;BvstYSGBoVV z7*>3t0)ZR0f$UGv_3A)~)56S&KjXqxEL?aB22VqI&pc=6K%$LcZ{W{|c6g)QtOWxh zrM@eQAlEqVNODe*?-Bq)s4bj=Mb&)QHOEeY4%L=O%y^CKC^EnkU}LBt=a#>TS+7Tk z4170|!BjO0i8h1OgPi1$GgdjhI(-F-2i!a%Q@J+EB$tc}00MvY;O4pKS*cW_yll?o zJcsa2=OZjSbtcVw_tZwxc!hbRo5WbSjQ|e^kZSnP6-4#DQPD>qh7S;bEkZDP6>E4F zY@Rb+vEPjmQR~C3D)t&HU^-X_o`;^;$3is<-@$-oEh%lgM(Eu(uC-{1W_Vxl zyh7|{B^?l;3;zHu#2N<2IOo0SHjl!1cqCRORWr35?F5i49l5&pybjs{4BI4)=17@s zOF0K|1mf~R>OQ|+7_LGhnIf739g8f98rT-sb=%eYjY@T^X>^CxQV9+Qdjq639qEwR{dhp}^@{GU#D~cK#Y!7&9ol z1ReB8Y%M7lpSFQWfBAl6__O8yV#zJ_$Q)$R7mjG=v=yUwfk%fD0V`WCharIMznI@r z2SY~q8V(Qq9$Um=%Ce6$c_VFLHVtvW;*K;I#k?^`8!Mv?#ffr4?&<*G)shJJ$j~Wg zSysGHhBtd=+{0*V=aNq#@I~iA-YRLS&!AMHpUy3YJQ|@#3^DCSxdR`QA{g3H7+jc@ zi6r_*Ui{w`@^l>pQcR{V5fo1U0GPsCG0Hjb+ zKo4Vi;EUr`U|jG3^GukAch~Z*1*!(eZ*Fu2 zq-TNTMnK!hkyc!h>L+UxkE#ArduS)|6L?rAFu_c~04)#<4tE>lKS9Vhpe-q8^Nf*$ zB!g*EN!kg;-PM89uQht1EE`kJflDCMK6&@-!54MDClo0xk;b$15&tQGDM@KyBl6ZBdW_Du5w<_PHSU3lY zzkY{Gr0G0DImGDA<$@VY5-9R|5kOvleNpF%9Wub9CssQ?lvUGvoUKNdxWEdCu5R7n&#BwJemIihUf z&=u2JBSRdNg;Y|HH!ddy~Z_GBluw~pM&9os1q>!Pxh zM$KkUkpIW`aII$vD|j*m3X#!yS=%)UKUN85|(L~~X^$1I*3#WcPyA^2rX zmTWIIipEB3`qqGlSY-YbDm6qFDOyV?lryV-zGmX42i2nfi zV;XK0-izNufxxf-0Jqp^3y9eoCR=%HXzHVaN#u3K9R0LvB(oCfJnCGS&D9z_FzI~; zZ=D)u<|v%OE$vkyR1vv`NV>`Cee7d849Ip1;n#6ykJO}cNCvB(Z@=xWLEaWfQOuJ) zdO#@B0;a|QH-mMPRjn)porJzrF5X&^`Ri~8uh;G`snMvYX7L0n1P3G2h9IAQc>&rpKf$lpLE_Bp>`ouidKwR&OkUgKkrQjY-EOI z5+>#h!PpuUO`mSOd)A6Ez}~On%HBhIHxr-ADCZ|dgXVaM(W`8XS7{35kTXEyyYWEi z(yXcCq`4hXDFlbENWiiWZ@=4HfJ$Iyba8G_6i_g4fGFgP`qAl*atqMLE{4+_n?mmd5nu2I@OR6=RAB^uda>3mLlpc2I5J7 zR@y&dSpECwMP{-2RPZS~h#*F!bnnu+{dGj0!Bv_7PEEI$WS+l50q6DBpqq>D^J7&2 z7G>X?t}<_>@zdW*Dg!8EAU42yndn^-2el5q+Q?B9l7BKI8yg0LbBvFS5%v0j^hX?! zz9b|mP{a!)_TxVtz7C>P59LaXu?Ji9vo2Wm8NojvZU&44`Hvup*nos@Cm{xGn)o>B zb=N_tVrfR!W*`iV@tVbCp5GlvYLXEW#Q}^sQlzlj0pyDw{{T zG)9R8a=_bURS&p@JuPx<3n!d)v!g8~hBTroYdeDjd%sdxVzGM71wuz0O%hnzLK9iY zJ&#Z6tf8c`$i^87U5dU^*>R?(XxiN#gszS<>p9v|^e`M0YOUE*EJh(Lj**#oM!?QDZljB?YlF{FOk^`G9wTcu!UG$&Bd$7h7#`f{G=sz>b8Lwv zT#|*IthY3A$hJSGq7ovcMGP)R(v9f7ok`nSBL4u|)>&wQVU71Q0uZxpqH5?24li%c zq70O{aGz-KmO*1;K)ro-&rmL16@mUzI-r=B)q(+R!QI7A! z*|n;ueqd+-E9;=qJUH5Stw_xgsA$DTzD;ID;J8Z3iRC@HR{{Vd%`t^?y;o(bJ3(goXtq4BU zSL3yv-r99V@M9A>ZI<-ywGky2OCwtr1+2+ft)h)6DTH;lu4^VpxGe z2p3@S!j6F8Ybixu0;A4gV^ea*NvOu^1lX(+-Sc?l=*vhvPU%RO!YXZ2OEMNUKvnz! z!Rig${RIz4Q-q$^&m{2I5BWa;E)5um`?#Lpmjg;wOlOX&rZOVpK-W zVW^LiYntdPt43*fW{MfMcxNiYOGwGfWE^d~APzI^Ph8?Fs>K)Z@yeTy=9*yPNnS8P zHAK+q_tr#cOL&3iBCAX-p(+3cMVdi#Ktewhfcbj-Y5V6V2hIS^Oc|io%8gQ&*BRSs7|Rp`4ST$>Dh>qO4IH@fkCL zWP$$xB6fm)dvIJh{!lE9RXR|diK?rc~!TpRU#jc6D=LPY*ls?3~{i+KQ6PHKo9e%D5$FD;@Q zygXq%yb!|+fPGoxHPX7~=+gLD%1R_p4tK62a0zP9O6R6<17?o^nmGK4KZtjXux4~B zc8^UHM}u`l{B;@*kzqwo;7D-Cd}W0adBz5CIU@&DV)8PGk`fh)9jm>!07z?~Mh*pg z=myUbB##vEvD}Ih)R48*0NtzK`o^OO-^!Uo#=fY-mm=5;KCIX$>)(uCqVT1jXOa9) z{O+V?8)&T?YUx?|uY;v$;EOa#>UjVFY)*hRkUHRF{{X|+r0_H|s>k9tNgI%3Mq3gQ?BD+YZ;@5yn7l2mWu&@&f^?`d2eW_mwarO!{3@{tqQC6zppr~l8oQP&jgVpgJ;!b91HjtN44{fKvTm*47;88qYz1x zauVC9S*tm`^y50zYBQ90a;heuY_2o2AOnk`o9ows#x_Rn1gGWl(~XxW09LMnq>g^aE-Wd8u9odoeO6tcUJ3abL0$u`%D{qFl} zs=Aj}ic?O-iBlyh!0M-<3y*zmu_7N3n`MzV7aNO{P5}hqVDaCb1~Sj$ByTgtv~(CU zhBRBJAo6SNpc}WXQB)QLdk6mjipEH@j(c5bDUWM~Br>3-5`j#?jtJ)cueZL9z?L+4 z!LKX?pc6ZX^}*^n(O9pCS1hrXVr^cV191A){B-(gG&3s0vKXA5z;0o^Na@Xcb*^)* zz-1GdU5o?pq+n%ZfntcyBL4u$>8hZKQikyn(zJ`UPy9&W8lWq2{XO((O9v&3pbKn^ z8_^AUtHHrP(?qPAKjCEad@v+#E9qd{jRK(bKe^D0;uK5be5Ncyl4X0w1>>*l*G8DF zsq;iEcAr{^`dAbzk_GY8u7jbM#)e?=(tt@3sH4)mk$^b%tX{PhVc#SGG*;WK)Pe~n zhe45K>qG$Q<`!lAG`)cT05K-O_UXl(Sm#FB77{ug!)K*f1CTm_Uf1o;f(DF**tNO6 zAd!$kzk_vw&&G=B+3|76SzGy3SF0drj=$GI092Q6l*rd{im}K&YuE#iq0wMUWAglk zlF@fFk_p{-AmDYseO7`?6OT4uTVc(Twg<@O>+h|Cce?NK6MC!GXrD>x@1A}>;6Dl_ zvmsR_Lk9&&;Npe{+v+q8BLtSe#oOvCv=|=v&(ChW=&_3!nnM(hl|g|*4R#~-@1s#d zl^f-dt$Is<0m6cI?f2u~@2afAZ;cF26tEs&q}g9{*PRA3DQ^&DuggWY-PPVZkWwjI_Q~LM&2%2xFwNb76Gbz5X2V)y z=#B*+Z39STR}i=+iKQGH7mCLnvJL(al> z)gA!B?~ZkmTr4co8}%p^SG#qvCXY;X_Z$sIYlL!M)3B8^{$-uFTwg)W{+Jd+Um-{n z$fVz-M#Oa({($xaK~bey9aL@sh>$1tZfxi52SHk7xNsS8F-?chFJc-4w|?SP}ZHfGeOL-v0dKMr+adYf!Z? zNe`K0kwf{1+w49>a19Rhj_qs!u@Kjj&MT-qbN4DlWMUMv`C&^UUF|dg%^Jxf`sm3k z{{RmQFeL)mEUoD^$FTbTwsk5jW&B$gUrD{O6c#c8qItf5rRxJ|1n&O;!%Gm12^VrQ zirqwaqtonrXc|rFDIVmL%p-2VNg&ZA3lu&70M3X@DiuxgD{dD|;O6gwaqvEKqcj)8 zqbc!lx2&*4E!L~K9kNGT>B$;PDQHK9^SrfCcR8|sB$~5bSGOMg27vEiJUXhr(8M9U zu>$+@0X5s>K%*i#c06(UYy!t4?IZb(S?iv7v#eGrY%|8v&*Fk4js>;?eqcrpNzIdt z8@)tAvY<%46fyXODcozNW4P(YM>-8wq(ZCVl#ro;1a`0JPum9a31(Qyy`{XtYRt3& z03L3EuhX94Dny8#znManc1R0KsZB%;)pvKFZ=B~^Lh!@NsC@ABglt77l+d$g?(Bn_)Y$Kl@nYM0BEGD`cBa!aTQEBozdTvsKhzx$HG7D9|KOJIN_x z3Y1YA+F%+WAED`vG#dDMil*(TV%!}a%q*5fLGg$T2Q(oHKYqxKX z`pp(MbwMYWA*Zw`#QC4gk-+2Rj`%u^)0f3>lz3%%u=5;ija#tt95NBHGc;57Fb#0vW+h7o9u=m zv0QOIOcj(pbArDax&(4~urx|8o(WgXk~9nqVy=p&>Li7) zd|q^9yx1b}_cV^j)k@02aom~%u{`76$Ug@E0K@vcFj*B5RyHn9+vov5UZ<_%v=_px z(hKm_nc@O|V+FFObkK3H+E4QKNhr)Q0 z!OxXOfuc_!WSo*H{qzOr9v)DLp&1;RCkB`ct^mh1?VJ!rh5$s$(#ax{9MNU4R1eHD zdjUp>tp}sS`NzbQ{2SEjXhbbm@yHfOI0xIg(WxFu&hoP$lpVzyKQh>`yiu@u_QzpX zTqf|p!}x&|n@J3IGccwHKh2&`UZ<_-qa;Z)`GRpMAcMK7fIN_T^%d>`x&uIj)1ZG5 zCes==*#Z?LQ4}nmhQ~Uv34J6<8kc4pQ_DB`gBIj;-QSA`ooEz=&=iJki+R}?rw3>y zYa9#=oSQktYC$r1bTuaFh{(98C?p@CIX=MqXwWK5vN!PUv_{0&Lcj6B&M|#HPJ^RV zC1+UJ{!|Ye0MU>Qt}f0A;?L=zv%>0yMDKg*Rv|#=woh|M7k>H-A(&D;W$dgu9sJMzgxHbS!o4*RG<*5yjypsN(P;v$!fqLlzV{`=5T; zIxae23H&TgG>k}9^_C>rHPf&)L+2S6xfHzUw*-y1Boc05JxW&{4tdA_0E+k+daUK% zuRn(c$zMT6b=o;1&6CLM&(HvXLbh5(QL|wzs!q|s{{WD{H;-)As=$&+;)UFWI|&=q z`mX3-ZrC4c$!Nx}<5|NJYbQRuy#IApOrBGzng5Nr4KM+hAtys<`Hd&UqTKViuYUDhjcYNosH?(BKT; zHSvzyZRTe_Q*4+YF?LC|QfiH{7BD&P4tt#fZx6AeAVl734W+UO7DyQVEc5par(faO z{6U}BTej9s5-Z-huh8-Ww9$emNCi;~SSn62i?5st>!Wd;ftA(KX<4X9@6=#*0CYH` z`+}qbD7Yu_5kYsZ*M8sAJb|DQA|r)O?Mhb4g#a1_Mk_qxj&-;XhXq-t1Y4@@ML<)f zEtAGq=Oa~ONTft+MP&TZuu8xtff=#>d+6K=kvuvwlI7W!m7gHs(6OA~8RJH8t`bYM z%Vek~NF3J{iXR%(sx28;+zY8J7`1@As{^0$^wyRG!~-XZRKt^I z$uvcB4?jNt02(yU%!_&=luH?)x47_fGm&P!yW}FoJm1ac1vw`rLA-<1Q2FB;3cF94 z;od+~AX3+CpKCmOpQ&8ZG*JkHt76OTt-XEk1dHj|=+qUCLn3&0iB_t@gX(^6@t@Zx zRx2iH9YCLIw0IkZngaO)^{?}=8H8;daYnSnepefVRo(Q?gS@@*)FD{ocn7b1{2R~o z&`&bqGEEw^o^SsEqa@kjoO6$+I-Aj8O7RHGNT86(cDF-zKqnXU>!VSbWQ_q3F=D2P z0OK{(l0V1Bs=5MI8h;EGP$;(9L<+uo3iuzsfJUK}eA(M*VmYEg015}cAMSMonV-oF z6_MOF?_NV6j-%=MhsKm^;g#cwM6$>zvk`a5JYuolx#OK=AR<{=8TTEalFCkTkAA;@ zjRkKF9AtWd+UBSAv>9<6V3t2 z1lX=f{+c7C^W>Z>Q@Whk;>Q%HrDONdYYL(Sk=0d6G2M#h?#~DPUvi-_V?6EVr{a~U&z3iho^5$S5I-zKKe3kGAkHN zRKXhDDEy-rlSd!EgQD19_;qPK&F9rb4!9s>@$-1?qA!PeOhWuSS(nUI7-m10KSR$p ze!34rI#-w&I4lXXW~dT4qIvysLk4Mo58*sYsZh-UL}s0Hp@6f@gDU-O{mmHbNiFE~ZoGRE_YIRgGq(~T0e zW{f#NzzHkz$Fz|~`;ngh-G+%8mw?aa7sI$SZCl)EJN$mAAX)ClWcI-d92sBY88b?c9B z<+16a+^{^0#}rT2f%sXKsbrLgun9qakwf5tTx%?ei6eGWiyUPOHtTD%Tm``w&Q5r{ z)>&y3kKxNBZOTye?F4QF(vTE)+w6Jj8hCB;c%tdDDM`pBjtvX?7W)I5&>`YpNY+PU z0YXR*c>|pG#Sz~fbOtEADcq2T^8hNbm&IOK@nezCUZCEALS!<>;bx7PrR<_c%fX;4 zfqjS9QI@IUH*IMzem5y0vB99(taC(N`{~o8BY9*l^|mUtShIJE?l~36pgQKIXkC2f zjLQ?zB_d!#ic$fp=Kz`?*HIKo8ZjI(g4^qHP;E#D)5tY+J&#>cv@#-xQq;>CWL37T zo<;MKk}r;QtblgJ48cpdrjG!T`Dk4MU>=wsT|%|+@+X$jM8JsDQo3MS10?VUdA>U8 zGQ>Q#!bw@4tt6Xk9oIu{(_DSI?P2JOPd#KF8Yz6XQ$XafBRu1i!N)c4P@Rt18RG?1 zC`KR6p4ILLUUAo0uxYYEADYaqBT(EUW(S;%(C?1mcc_*GB_Z(%G9vmTCNPY02QabcXm;D&4GMZPzHbz;^L6T18fOuqB>9ubL#gr0jzR$ z0R9~$lt~N#6x?n3!J*LD?nPm59FX)to*E$WiLcTOYYW>rqD|g?s|TD729F#|3pQJR z6_fd_ts7Err_|W?C5htT9t_H!VVld0CgXvS03c+yJYH{#sxx695K>bNGsz^Y7-|Yb z-rvpG8m|2P(uqyuV>Mo1hE_pIP@BEqQArsgaRcMm*d8V2j2=ZtCy z3?|WI@d%(}%Du;+6c1dBJm&`N29GRW97DBMB|t^U3W5Vs2dO-R!Lioz7FeTbr1D6X zJ43ECL_beAyq&_B7;mbj(Z!vEcZGt1c~9p zk0JLvjl-=i;?4eCcE$2AbXvB$0!54te?3paEnt`Gjors<5rVw>Q?!lU~+q0P3pA zG`?weO~q;7eU)Lx;BYGyU9p}4sRn-)BxJ_GY*lNNJz!k`Lg3IJKTQ>sYaHcaJ{**1 zV!j}-Jr4&16gf55f^-AJw~1&_N+T}My%F2eruO9j0QEIj)cj~Q9wrb`pnp+d%9L+` zfJr1|HhywRq7|FN_`-|gBOYp!yO}{WPk;Fyfae6@@kgDMkXX~#u05Plx&(qYkO4h_ zJu#@U-XRzGhM0QQP%|Q^Et{c76~|tn^cu1>z_;-!Qb^)8U8KZ^7q+^Z?ak!a){d6{ z0ODk5qFH5AOvngg00bMV1D;19p86>?@w}o{Sr`Hfgftrm)Og+eyw^WXQIut#1wknC z)CDWliom=a-g@Hkz&AJw+ihFKD|x_ektH}>6KCLOu6=;jf=Xpo4-yrLe>-NV4{<;r zO?v_FrB-V4yMGMKByUm?wt)i0oa3+09@>Ea01ELWhBwG2q!zg%?ymjp8qa(Rtd%2J ziHydev9KMe9QtSq2m4kvsIaD=&2aI?sD+3L8QW|B055!ftG5H|H}G*bM@a*#$52`)hV{*%5C4o63uNWL11dMN&bkYdR zpU$z3q#6~?a!DNV-&&19XLU`|tsR6ifL8EF*8Te&3f7uuvMtRQ@ZveIYOzyFIk9#x z9CoVeG#R2uz9Ary5yJv^Nk`_1_8jM@&Vi&6q5>I1C+FTJNuds7y}3DJ_T6lrj1mH ziz2FmmPHF9_~)-3E9zDJB3J4geNzse1M6j+!(ECY6Jr z*+r;#;&RXK*7G&=LLf&W#M;havFM#NoV~^_s8;e!Z{TRx3GC!T?cLRbpPj z`V0blVyjycb}JpmT8RePg$@l7k$&eFpv}S?6L?Tm07CBrtpjGUj-3Z1f*LzL$F?>B z7YeDkfqVcubI&5QR&t2kFpG;-^4&)3JoU-P?W1rWX-fWc=^mD570yq;0~MZ~wMJ~{ zVJ)!6aLNgwFCRhAZ9$vH%^#Z`k+k8>ZLj8|caDB}8r%u?zlur7%MuW>*-$812CVb# z_R@%vl1$r6u*m9fjyelE$l4OfZ_EJkKn}m!q#7ZqT7@2*{{Wo_MrBfGMN+N`k4;dn zm(!27pnFIjTykyQ8Q2LHjm=-cC+(Zjiqb^2Fb$+D0NYMD=nq~rLNWPd$n3~LYu-5| zSR7gB?tZ!mikqbV9>k^h5KjxuU(&vs3bwNk!)zU>7}uv1JM`n;v#e3OC}&2DO3KbL z+}1e$g6mN#kY-{b+(MyEwOg}zyT@GD(?&st_W+Pk0KrZ{H($%ry62Cb2EJ6HIOT+g zN+ZjRiU6F~(EYSRj!0yNgleU3#^dNW-?dTs<3NL*;r{@GrfsXciX>msucdyuGfWX3 zN<}jTac%}d!8h0Xo|UOlL{lpP8Wk*-su-R{X9uD8!TRe6k+AaRK_hS5_=9#-ipBd7 zK7f4aHA3Rd5tWWY7$(cXHVup89@)_=fsp{0!pXDE6wEPVum%PD*S9r9%xs{-T3FD6 zgJ#Af)@*`nj)MAV(ke#a!xrEyw&f>1IIC=Sto7@nQiTgDrpSRJf#FzCy8GYtBZDT4 zSh71vP_E`!@+$+aj!#?1W2{j8wv9{19Sn#_-op%Y&JAaw=K0hdH$q#(xM^9FaA3?p z=~NCc9QMY6n7lj*w&((E$Uw9I04oNG;`>&AgW;=EajmRSkhHkkr# zst2e8Iq!HKvzpCphh&j>Iim%m{EEcj*&`f`tsK`EfCNBK$lNpGykC z^#1_0ph!3PFDfu=cnu>iREsn$)q)O2I$(eZDSWmP7j|kJ(f3$uynE!Dq2C$`$9~p% zOIw#R6)HF&d;`<14xEswXk$?s z__%|V0SE{-8Ed)09OJduUNvB58Bs}&Qr>Ac&eR!6pg`J8rS+_Tq;_?V~lB2z)=7V^@U_t(kbDcK|QcEcU$e zIn+kmX7J>~^st2`;f#T_{{Y60TcH4SuJ@`Co+p&av5haFFeGlz>G}#B;-zQlqi(Me zA_$cyATn7eEG?|_ckXQVI>>$&dhrF}@vOu~T4i<~ucmqi=eX2lq46l5AIplKL-`e{ zhT8`C=BkYj1@W2)W$>W6Rm~Q6d$3l4pg%ku;y}Auc5R<}%g%z4cjFk#E7V|FXp685LN~XrMfy!Z6>%@Z0$?8h{pjlB@ zyS_Niec-V8j~6&9{{Z}UG^=(PaX&{Mf)CUGRDnphIc!s*t>L7qn3z+*suG{J1wnXc=`QYsdrjO*fpwA+T(VY_V#AOVg=0sjCI zpsum7F$UNrjH@a$ZAbR@p;*O`DAkbGU8i(QDzI1E>KjXrD;OE)| z3em_|79xf&sB!iB3xg0+c_r}C#Iefq7c2#-tdZZJwm!OmOdbh*>Ec+_y{_|N0i#vL z`a$O>wlzbT#L`7Li4?mE4gwdIuh>eqKl|^=~*VNSkb??VhdMnT3 zBb8+n%8aT2G1?L=lb>A<0mcpoYS34RJaKrad_uFht&%ZNz_2w(>t5ospfUJ>@Q7uN zRjSx5KnuFuqpgCV3|=%6S-eXdb&T&SvOgw>%N*x8&VQu`(;RCzr_`W_7lX}M86bVd zoazH7hLe4rszT(d&_h+tisV?wZ1JN~G7(%dcwqqy+=2~AY*yajoQ$5siq@fZ&SiBT zDHx(k+o@b_qE9zj1bp+3bybYjDU5l=T3^gRnXm{HNjSc}&2%CwLR2}H0)kMxVG7r| zLo${puT1sUmNP39s#L{MjD{;l>w)T_j*Z^yrj0oRvZ}nbW78uqAP&E;J$el4!ZX;b zF=mT%Q8#-tfw!T&-T>yZG__ID88#qAGbL?DECV0rp?BB{q?Rz6%>Xi1e^5;&E$|a-Qly7@1n+D zDjAj-e6LEeV$4M^11C7Vkb82%(72lt6 zpaInQLjsVBUYr*e$2~x@FRwZ5Y;HFKQwR;U0R?wN)tl?@*79+T=T$;Yg++%cW=AbV ziw21v`8E6S1As`Rjl^;+NB}i3il7MRAE&W4(Irv@)5lS@0>QmBPkR2K*Hd~AH;f8E+*Bf99m2>b^K`G) zt5gXfL;$0OGBNczC72QhYXIcf=kKkK-x{e|PTi+zWe3xo-!^{Y&rYVHd8$@jk}9k1 zVp_c<@_juzeFlojRznw^8j_LamaT|f5;1|1jy`U*O0ubq+GdbCpe2_e2KKCQM?W1a zMU4EzB+aq|yovxYQP|q!};b&S&^ed zxRxh(T$&vejDO4PtwnP9f}S3sVywds2>>nKXX-h@9dW9$lM@07kgX61V3tTCxg)q0 zSHm4thIq(T9I=Rm~zhA;CBo(Fvf9z>$UE27_}&Ma5haz4Y26+aR7!84cN>QyRA z)&&9IkJ~}a#(8|NAeD{34V+deU|n5f+n$-xrx>0c+nLwPIU-Y$$8Pxd_8e*}Im=9q zB#gv23c%gp702)Wb)ZLwg%KGe1OlM|=m{e>dC%Xrf|3*P!WVOUlu^z|6a{1S&;Vv& zWASgdck-ydy!He9-cE}dmI*S&A(dqd_;mNO_+0b#@1s#JU_y&Q{{SM!#d2)$DE_$B zQT(w4g_#Mk7j01Pe*HR~1fogwvnWGsMnz;+ZtS1y!2@E2wpN&rF|TFa0tRZubI-Tm zKq5(3@L4>~)=6Lp;~Dt=-x#AsU5HVu845_wNW~9fpKSsU8V_7Z0;cHNuDKl5k%Rhu zAYpfpE;1CWfL{LqFuuq9ewi^wLbAo=sdbRn^NT~D^VdA+jb~8p{3V8zBr=2_!jj=gHZNuM z9S%BkpRTeXX=RXv+^20UWP_e)^}#&Qtn|i=R4&qNhH0D!M*PIJHH?bw+l=Tmw*(tT zAlBZ1*rF?s@-b$~6dmZY00OQ_Q+r108TO%%YtU&J^3+8#GF}1ee1LEN0L6~u?n>a$ zvPi+4AZmyM$=gShTpWK)>Q-6@nnfPGfJV_wB)o=Wo|Hl3;Bk~f#u0KeRBEML%m--Q z={CQ=>8KnH;rzJWm9~@VLVYBT1p;W<$j8m{N~;lKtouVPQL)YN55;_eqa^@|WDc|$ zJs@xCeCDqr&)&JwsMEqZo}%&?g#-|9*21%27yUTVD8P5bSh;0apbD~(Ksfl#{QR96 zZWnnEB88@aNw-?yk?nOB_fzz#ke!p`h)5$DqCsy+J zPzpf&z}72~@GNjN9R3~3`EZ*h>1LGUCnC>1PtbJGXdPpkNh9$x5*uTa&szP62D)~w zN|m%MlBU_|e++K}IO*EO=DOcqWt8(Dd$LF$@ebJ10fIRPgJD27&)*Ri6?Osx5VfMx zD+BCnBwt>=IM64Ld?^f1>yOeTQGQ?}Jo^Fm_!{LOuEGectg)IYTH`gC}iDT0Pg6MaY-L&yv4@?7=vy)vI z^wwz6pk&@-iR^|xsH(`_Ygh035vZ0d2@&#-hYspkl>{BQH?@?L_x}LfRhGV7uy}Qj zSW3GnJ0_#Dm=9{}+uJ6!1>GWfZ!E`i4>=_xwm|yeTtoMZOU zf|3zj5=QN~#t7|4+=zu40#sz2Mp&~Xs&@vZZUF}W05)@))WICOBxneg%Cf(xdK56{ zw_C?eOcHm7R%w<~GlHbNY6B?)7D>esd9lY@xHN-*h%tW>?Dj&S*|fS)$rnelv1b`L zIu7wG;imCEL{7zt3$ivl+bV3>!K<-d`e+h684roy`HKZcZHv4g%5ZoC*cxs*A;IB+ zl{`$_WRGQ^T5?S_F->AdrRFCC7m;k0oiH5{@;9F&$uY*-@%o|zY2x_~Iui3g1`1VxH4 z;c7`Y4A{F<&DXVl+AAVVo++VsSmxSPAbJXUYaK<|$vGYL7`TZaaFssO6SZifUOyjNP$sU5ygN_oUd9inX| zLIaby9#4LtjDm1%)$xn$^2i%XX~ncVCf?@NX!{X+!H&lfajs~pS^UdsK>-e$|a1*S;z>) zmd%6nUF_CDIw-$|s_@<&ytQdPFUxXnhagZU{rl((h>*09#Oed>y~orJB2I4fYj~aCjVEg2=PW zE!!7aS$4dG(stuLdB1ucuo5HTH~9)EAuTd4Mk@PrWM9+UMx!qg-l3)y8jz@VkIj#2p;mrA z;<`DJ-5uCo| zIF%jNUk?t}S0#=&MsEPuBNg}e(PBJuLjV8;W?PY?ZNLyf`-=DJ(>gTBI&4-FZd%;T zrpmTxAHQ1b^$0e3;!+4U42;EyIj{+{qNd{{DD4_m-O0B0QDKm_R2BBoc`ToF{w=6z2WXP!S0|Z&T z_3NM@fgzdNnAr8^n)#vAw>%DPYhd_~4=G_Q_;wQ8 z9Cq)E1NGKuJKd!*dCGUMsHrtr$GsE!_0$?~48$J}yF+ef1Q0Kg_2Z{MT|ul{?L>k# z8+Q_%oNx*2U$?f5(`XRLLlI6tIXNQn#~2nnb~mFbBD#+;?_`9K$_-XBDEBp<_|PcP zRXt4^^o{$##orsO_4xZ}ADtRTQhcZZ$v&V-$4`6t`f5?otY%%n0>o}aTNJ%41JHeb zb%Cde@=|l+B5280&H9{!dGFkRx1%){C6N{*8(1do>ZoD}m$D{k zr#8$tDJ1S|zW)F|*!IzoWROVn%DZw{*}A&CoPWPvVxdN^vxp*9+LWO}V6Puue?eU8 z2F6Im2oM{)E&w~s$IOi_g{ zNumel$ol>CSkrKZVv1-n^}S_@;{%JXr$Vcz034l)Ffr5hsyH3AW}zd=5V8WK zQlV?I4djp1(7@JeG-%bNRx^H0qC>D`?IwXZIq8a`J8DtJIN?TfpHJn;C;&DAJ+qG0 z>~#mCcsso|!2)rGq?_G4I zQTYU_!*B(hd0+wnH9-9dHJjEe6-25bu?o2$m0>|>ApqTT!Rk9#Sb&8*G@%QtZF6ox zCPRHbK_k8WbRK}_C|AR=^))w^Kb3FPoOT^@PH!Y=Gj9_rN42~&FrZpSQJWXdk@WA| zLBE&cCLpdHusf8|1Q0Shk_Ye8LD5MJjpnb1blvEiYE=vd2RG9`>^@9nqOrqkr|c{j~D{hM%oo@-GW9g^Uw_$ zY)og&iByI2EAb;Gc&5h+axbaAnu?J4V4%U_O)@wkq`@Yx>c<3q`__z92FY=WCXE$ZFdNWq00aX-i?7zl zOVY$wMsYGlBGXu9GBTR$p7*r#!B6Adk*=iu}9&&sUd`VUR}&%+d;F|hB}V*&U6HY@hB1rwr?S7Gq_)R zyCR6XC#P&dq6P~ro(ejnly$WYbz5%g!59Akw@yHCQz|coosrVE?RB!nn&@OOu-^RN zO$6T?ZFoH_gfSdh+&~71yB%+kM|%xCONH?34~Tbob`WF>xODpS@!KbYS>skRsdSAM zUAD&Uuu;j!LQRqScfA>~7ztoAM+%pq8G?#@o3nsNx4}L1K|&YRvDiWl6&9mt^-$<8 z&TpX_m^OpN9}yGD1H=mfNF3*>E9v(A#qp_wSiIj0;RL0&%wC4^V}L(mMGm!*n`eUw zeI`U$72LHp_X|fJ*{+AB=Jf(dJVd@JL-?d8$|ragyEx{>{W<#SgS=ElWb;;N9EucJ z14AHW4vY=<=y6O3#I#EwhEEhwSo|>9Qb!f_s^W*vmoUj-I)bcff#R`tP6rlEXGO;>k@$5nj}pj00#&Lk zZLv#?8#(R9jYLlo<-}PdE~uOLM7NxRbIoVmS-x~uXf97RlHJDjc@R?H@`6Xj4}O{j z;wOpN&EVuehSnoQ{#>3;EM#-VbH;*y3hbg8JR*Y|9n9gqIHAF_WVc?NXamXOrH(Mt zorOUW-EL7vhg<>gl@>Fg&S^YEW=E8{O|0RgkC9@+oEpX1#(3vcaM~geGTWgZQyP7; z04Z@>ZyD=noN6p{K>>{a01bP?EvlgA%UQ9t|)XIp1nosRb2Rygq182wSuuBw*Fii$SsSqm=C!76qCHz3kolnz-v(A@Wi$HG#HsxD^-5@G8Ko>(9A(&Uf45Jh0@U;0Cs1 z(2{qPF-0>w5Ws*MfV%I&CdKDEG|pBkKZgWbsb4KY^ic;O^dBdntwCgs z1nOimDT&k*b-lKm;BLLw-y_`Wt2q`g4;5^)C@fTgwdh_d``EAfano9h3FL#rn~j-c zD_dg#3)*?UXc3Nn0MLwlLirMiyh0cANn>Lq5qnNM-%OFtt4ZfY94N9a?gMze$Gu;- zesl0N1S6%v6hQ8b2NBJHF7s88F8iNsXe`SdjNTl0flLPV#aBaEtbz9$0vO8>mMJ7I zqS=dNa$gFm3OtHK5XB?5( zkAbbWuEsSU7@f|Rak?`+y!SRJZFM(bD-&E@}eryGwiL2b+Gjp&<_2o^|(46tvQe_ zoyEjTv`OTP`%we1_@rX)WsXIh!{$eJ!3X6QPB1~qJRWpz8$G*(Lc62_)`@Izd-INm zJm{65lABp09#Wyh9Plzp&jeTY#)CipIPnbgM;wd-(vWB8hhF9%4DVR_M^!BRzh{2$9l>rU; zxde6Z`+R5#GD!yO%GTCn*EVyTudvW#VJ(yoM+bEr3cqX58Z`+^$gEtIb^`_?FBjhz zUw^KRBCnI-_9N7VvQYdF@%8IkqZvyxJW!R~4tD};xyMiRYQR&&sqq_M#J8mgB#I#4 z2C@(R>qDiCiJjytTZK}bSQXFz0A6dU>~suA4DL$+%tDV&YKBe!0KIjZIwz7ad{CIk ztSXcc6qCTbeSQ7)2B-f3k0P*&RirzbfbMwjp1nV?B85j(E^D zGKFO*NinjEd<^7u0`GzU03N*vvUq{!++juSBvw1_u~&hQkEVjhB!rn*`9;ksR<$O- z&OSZC(S?Q5-GL=^an6FNtC7$|7c4h-AAY?14s>R=hs|%riA@N{sX)jz%?|yE{WK?u zASPAuCbkjk1XkK77wH2Bo9H>{R=XjO!z4=O_i-Kr0(qbgFE{XXX0wirjWp^`;rZ2t zox;uLf$N*#dmT!Rreu{{#Cgvfs}@kmSwX$mbUnqKV_Bj)qQMld*t$)`f-DZ5_#LrT zs2eD63dMmVZI@NY1X$~RFne~XNYL`Jf^@&7z4DDY>sdA=SFHX0k#^99o~f~ z2_$6o$>SG9itC~~!XOCJ)B3k;bp#XBjNPfe0q5I5d^9T0zD1FND@-dmqhuZd%?#u2 z8-jtsfwlu|R7#;qpaHu702rzm)TvHK^N;ayVpy=s6s=_0&TMBj(^z54BSZx03r1WT zR&Akr3!&FPe`?TZlOQ9^jJZ}Nh+s;AXQ9uq_ZjCw+a!#vYRVns^3g~mYV(th)m;GN zLAWr)&*9}FMha8Z*nSjxj}|Wi{{V5I$WJ=EOX55$X4#u{kSc|H-ILb?usS7ez6bF# zw}+Vdg)h=SFJ8P=aHmlmB9MRZ*zDRbb5S7keGelB>|UjU!z52JF-qW3GI`0x19y49 zq3_UZESwvjD3N1im5XeYF(mO^90QDdbr}H?2s~3f-cL1N^^>TIWQJc0DKfbPo#9ctx*Lv@gIpyH*2`q@M;^y&Qr4_T@tN~`P z1d6Z-HL8tROx_f#t4O|~YRvssu%rRkj)Y@6&474$l2hi!j#;-iowNbSVgVzJ@p!wS zYgtNd6i37sm&BGX+X*p{XaYe1(Cplvz37>4%{gK>vPXi_7c3B1JwATKV~e7gq)B6C z3{jfgSSJ}4KqTcyx46cbI#yMRaU^CGcC?Yu+KtvmM|L>Arx?^1#KsfM@*@R{+K`~` zBRjVP={;N>GnpZOos;+nWLi0pq8wT2uZLIjWZcOiV8SrFXxSD|B=i({=77*RpdsC*9X)M_sDE@0GQ=zRG5$`X0?gf zf=Y}NSIy*`>qowb%u4aeD~}Jgw%W0)VP?q~ZrD6@BTzXdNQ3$bk;4^yi@UN*9Gd`9 z=8b4NL=8NW30hB3!hz`oE!A`sy?=401gFEwJD#5hRAM&48-MwX zZzD9SK{F7xNy!4q+xdPuv7mk-o5Re%f&q#)-baWfmnYMY%ac|+eRNTH!W4on>>>UYkPgj5|AFw0hd@qNH#RO5UFRf;> zdAc`V!|%x#ppb>}P34a;q5w|>1`cInDhsc)e;t%P3hLnOOcC zQkE-Vfq=Xl>3uJrl!|98ij0MbZN*p{YrY0(6UpgSi>*Z{;+w|!aG|D?)otd1)Etld z?MJO~0C5no!o9FZHa)slt5AiQ&xkS&iyG}L^~f0Y9Ou{$y>vRy#H$Uy zIzmE`_<@I~^D!9p5;@=>Zo1N=N#R5(6en{@Th-pjerxCF9rcxBxI^Nd7FgLq1oQ-Y zvsc0C)b-;)=2+&9rIHC!PfMm%sM9$XHSozY$7D4+>k&E5e zn_Xy05u3ubp>R}H;IPk5F8#WmZ$*${^2D+%OHq;lc9)Fgjw`1pMHZF)F!`bF-HVhImb_) zfTl6CtgICc76zOGXbZ0SKK4PgdI>3i6KoZ{=;>{M;?03auSz{ewHkpho~pCS5La?R zIbf%N0KUWb?|Rci=Xpt#MpSES;B!<+>wpe^4P*;0Ru4ba>PA2+i_g8A=l9TRvLr?P zJS(^hMPLb10ikuA0B?czy%s!-{v*SOX#`|dxW0K%KAHKtyy($PVv>15iPf2HnTFdv zc>Ko4TG2qnKt3JbqfkNGNvvm_b6C}YMC$Vgjwg&)3fFWF036;&J;z;Y0|@hcG+r5& zI&w;~RzKoR)^FdZN~2aOfg}wtiHL4+5r)#6a6zM79=|7pqfFJEB1AqM6_8`hOR<1B z;A4~6aiU(amEthJnH4!C?Rz&_{%%KHXCp#mP>tdky)j;QDY8E`-`rr{jWT7Gt}hU* z=+PAqdq6oS86@$Ko|+7NGsg-yh-sL}RD?hBwdhB|vyPl=QDM4%5m@#e#f4A=-EvS7M+vI6(d&jTQ6u8~0{n5aWr zie#R&0sjDV&omIi`{QW9AUPgdl0ZE%W37ApXGI2)woHyGS+^C4f>$?+KKI9b=S7P# z3>kbogS>hQoNei2lXvm=vsy#u2lJ*<%fHe`q_NEqac7UAJ7#I8%`yf-AE{Wan-^Fkx7)q@)fOzbAD9#z0uEJ20GgrD@%PYUzGvUG z17p#&+5Xr2>cPz0L54WRkZ92K-QyieuhUuuU~;V@Nxgsn0Ff%d;;nmEKLhF-Du!}d zfJ!5ZHFe(k2kp=uN-1@agpxHs{-|Vi&q@IM{{T&7bd1uL@dIiSj7e)ClgK#tzS@J( zrCpLiDcq`fdk4O2Cm-)pR7Y279H=EwD&OV|gkggVZNu|l1QX6jW1}rs9-YP|+yfko zT#Lv1p4rh2cDw%o@*M5rh7M1+PKP~7_zqQNFEc<{N%RzJrQP?u9@+f?EMOx7%FMVn z*GpC}vGmvP#c0iG=D-PEfr&-h%m~?LfWPL)?0M;$g$ydrS?m>TxF)(13Hx!5dTS^! zPdp07Gx?Z$LmLAY0PWcH>sO%GFpzjr2bWt`$pXUJ$3b9%dT5t~qDbTrc!1Pn2K=B@ z6M4sK71G85=S1UH@e!ELN0!2=!8=cXjGj3A0#`>7^BMe=q?{=)ji@%}#s??APpK(O zFOv!Is3UB(Mxc6bsYgor?0Lb`vavkO+kA!#l0i8DfO?UO>DySM!?k31=8}-VJC13v zNcxlVKJaK~jxr#Q*`om6l5w<~=~QZnyU=kBBS@%LKT5Kw7^99l**HCU(VEsrWj;#4 zu2Dzjyj^3tyYHUIMpkbW^snOGl}qo8kIzL;NaWY-dgui@#)(SAZ2+;MU>eWb{&X5E zM&K)8A@mj`?yhT|fF7e#rETG#$}Fx4I47H+1_36^bh{b%&alI%fXO7MXt@!07G*ye z&s_Abc+e*zL@_dj0YPN+k}Aaz4@$c^2kW3QA_fu`HbFuN;QDXg$Rzg_*yJ^ZB+8KL zLpJw~!K__i=I;3K+O!-QClw??jIJ$0n@~;FX8Awjup5cYvXBjA+dO33XXm%ZY?5^u zqVoO`c++*$Iu|rUWH72d2Y#UEI#JC(@UgTJz5f6TK@7`I%B8yeo@=Icnw1bMz*Zq5 z$QW&n7jE7Us1xbtuJsY>@g5)$<9T9)xf_2dz&nT6wk&*V!O+Z%7tE5)I9Tk87Jn}` zGw;&_I#z3?PdZirf-lQe32#DyZPh^Sqto=%R^AcbFAnJQ6;h&tum>Xd8ulLdqd18( z_=5ic#4~{#6#_AbW?_{iR~YsOQ3J?SaU|)r6@^9;ffRW5^z^gO=I9zh;yg5`%6OTX z39Y`P#Q}~9Bc+l#>s1w2aURb!Zb7+J25R`#5h0xz z%MvRwAS`qVeWY%y%L>O#6MSL>Rw(B4%eK!gy)l3`Qh~H%Bv&S=uNG{EXT_{aA(O_m zyF(b!s{{~nj2@JF5uE5Yidp4x8Sx1)=)1^g3yhpzLHNf!03~0+i6j0km72t|7Th`; z+&Yo-gH_xpW$*y3aOA|NYPB&tK{=pof#0?}hN0PFlf!`k0glfsiXM?eIT;{-r36N*NgVhxF#*Es_bL(13j;*IXRuLlLKtxD!!%7>L>99+C~4AlN-f1A=>v z7a7eTh?+;1RdkVJb|xtOO2?Z7-a$DXea410+Y5Pnlh%mA8)*PmHh@j$hDa26%~4qi zULiY50x3|tU3zB(@J>e1`YwMr@e-q)P331BGjT(Xj9JmJuIXB$c&@GXw!{;9}b`ew%P=k@SkE=f2 zK7rEAk+VF~7mIbMM4&Cn8$dnijQ;>l22!z2s~oDQWthqQ*N#7w-E|y+syV#38>jyO z#;z=_F)D7eeSkI3=rsou7WF^9wtTQOHR7tL&n)ji6<48R4dD~?E6mDi<&IEVwb}>f3OkQEpFZgD6yP1&Q=jCY~aja(f!iV-8s14gask#>Ps zM*c`Ap8oa<0o5I(X`@m6N9JN0&~3o#YR?`1&~*MHP=**LF3jiDK?8B(k05ercIkDh zqKo2-T!|Q4EX!hvAbjS*KHO_c&+wv^zlqB4^!joEIQhXpq3eMiBl&WV4G)K9C;?ke zs#iD9G_{eAx~(#obkaM?DP7766##H(fOr`{Kr^6ne-clV2o9>FZsZly1E==xGy}xW z&;?%<2@JuK5ORR80P)+O)2L%lv15i_8CP`^{HC$eg;4qJps~pt#$96@6~7IU0TwTw z-k*bGj+(0I_d&WN9t{d00B}73WDeGB*S579jP}H;?4s6-ZAAbnzJ%Bv@z)sVRZ>=G z^ho(t9))9!5kQf}0fEW-XfuUSD#`)KD#q-8Dfl)n`W$t@3Q=;NC(9ujiEZQ@0C8iF z>OJ&oLGu~L=1VTYq}-#^XQAzP`u$A_oR(*484*nu1YOwxo;y|j0MH4RQk1ZO<7p~V z>>e<9I3I4>uw^W*6i*C6!bH~+lVH~GP4am-zL?g)e=0~>B|scD(po^F2qTgOHc7`g z(OYI~vMuHM zV@X?box7}#K_9JTclOrD3=#O06#7J|Kvj-&`uE0zH-;!fLmM1nigv*mIqmXK#R8PH z3Sm@JQGw-0NYg1nVR+5}eqojh%rVn>Xs@Q3thWItG-bUwXf&ZX-C!y5xU@-$15NdOlXv(7~+p)QaQZ zSfPpE@g$bPAXOo7pW&Fp$m(jL}en@ACEjpBfFkIgU9ul~7X(&BX#w zCz15+j+zFj=(`@l579;6{DXeA)`!8(24KqGT6kdAo3^p4z#vyYwz8EZlf%r{VFjoM zlEWwGn(5GEMp}!Ec~VBIrB#C-1z)ynuRT72%M{Z_8a56iZXHU4V(>>9&)-BpFV67H zBwGgx$sYpv74KE?@u1|6ZGgytdC5VJqA(MxD9@crjm>hg) zuu7}Qe8pJy$XNuj?EqkLnjLSC*b#41S$73Rwr3-b_ju5G@*jZMY;706gRCodtoBVs8x_sT+!sj4>D|0C)H8dJSVQ z;wLK>{{Tp^uD3*IzDfFGzIB?-UDLmrABTXcPy-@`HZpkj1Rs0vtg=M2%+KMesX+sG z6uj5GRW*1dA^M#@b>H^t0{r)1?PA=z>L8 zt-+8hkZRAQ@OUThRqh(gvMu6PQRV`Cr9y0SE4j1BOXO&cOL(ber;wwag_#Y};9ocv zJ9G8X0p>F#U`nA}hi%DQO_~-4Ip?-}>ols+qDJcqnRgCaHYBkZXOKt+@yA=|S!K*a zcyfGHl(>%x>nzF@7}diwDSzU6`^8;7c3O| zeKZc!Ln6pOzZy|l=7(ueO2PnggOgX<`qy4H5}$~R@EQ@~Haw2D?|ZBRMAtw8`sC2$ zm_{(m91zHCF4>&1p!Q1;4@`Vyb9b!q3RE!|*+FELO%R*0f0&GP?an#9QDKGS0z&Qy zh=pXaTTR~3IUTxQh#n=HRxKNsk8M$7z#^J}y1*YDb(;>hmFRyAqLd0Wz~3L35^S8{ zj8NlI9W#gcMxrQ;Ozz?^ z$h6G6)U99BBb<(gx&cX}ZH?w5ouDSkwuBg~?^wq^o4i(_o-Rk+JVs1T>TCe$-m4rO zV(#mKUf|-6809bG9!Dj^GmPz89-m1!Sj`&xXfujIHupXuRFlIvE=7@fHPnx<*7(*}>=_CO_cjM$|L8q32;YL-ABJGg@P~$6B1)SZU z#?Kl9;dXd`6C1*#Zs0)xxBRji#~#26KRO1Eu!S+XI~*4bHl4X3o5wZBP`U%+&;r}y zBg~5<&7)utMd#QOdV`>c#7rZVrrhAFkfD}?erxyObBq9V1kNH>og>=7ZH$n1j)IRD z$>#XT8Uj=Jpq?D~HVhl^+h+uNO8SYs^{xll8$#;N?HpkW5)maCvQ?Cjc>}MudeCPc z<`T&;5~GdF7$HTCyo_XX#T&`SgI^CiLn$DEv4~O^u{i(>2Kp0X`6OryD2+^8_YM1f z5_(AQ(1VlkdCwGQ;spL^SQa&D7a*~V|WslM7QCo{+4wnGsEc{5Ao zuHj%{@(9Vn9P`&wDo9c(KZx-PjHStrLbbcnZr5*KGhEhdI#+n-i^)?g8{;i(=08>N z2?N;U{{U~)(n_o37^a9hTMKX0SO5Xnf$vz=9lhX?v&cgs2i8gJc17Mhkw%HJomFPb z42iNNjSEIV0ggHTUb*gZeK^)eO}xnR&R#l{xp7ansAjmXXlI;t&~uXUIDm!<4FOD~ z0D2GwW{!9U?44>fj%0-liAK+vZ){Eo=aY5MwkwTPbn;IB0FNK601J@Rz$vS{`&SyR zMoj7m3`mo9;k7R&w+vS#XWV;GD!WS3)NdSdgkiBk+)fVM4nINPu7f!Qs*0slq;NgEwdvW$_zH0xK%KJ5v#6^Pa!2T?crX{Qm$D@dFu=NK#5uDI*;XpKN_4=`ZlipSRT+lw08ZU@A8re%qS z^#f@~BF1|4QaC-IU;Hx1CxCTPDa;aF4@ha^=Ga(sfB9B}g4DvI@Xbb-UI(UtOL~7l$ zjtC&#jC2|O^h9ZkM9{p%oyJYB39JEJ@t>zonlv&b^b9uQA{A)WwOv=qJZL2FLhyeL z>Q!@og$;lWusGtYo-32Z5tarK#FU_V8M?U_WLJE9=C!D}>Aehv4j3B&fGRH+e4n>I z+O0tz90V@PT$sow`GCQzydE>6yz&n{jF9AQq6oiDjOQ11jRly|RZs%2~=fat_Z7JkLP{{$4tReXF0+^c^Nxq^cKaAnpWY0aZiX<3^M;1_L(Y5U4w$HIH%g z@Nd4g6_{Yfak-g!c+aGE9~t(?*IF6)mT-TG=nAtCXpG)L9DVNdpi!hzlKw{Z4Y}Ix zi2}f|F`sU}+6>~S3`r};rBv~C&40f2qQO2L<16A8BvHD?;4SYp{{UX~qiY*@a=ut* z1QC+Lf!u1z;Qs)*&}STr0SV$fIHg?eP*`MHzSrB0QIwERD%heAs0(J>j&gC&Ken|6 zq?piR(a;Ds*|CbN>CGPJ+f+63)%=jYlp9C{dPWKOJ3-IAXgLUxSxUAYakn52Y@T@> z_WI~K6^oWY&Op0wRf2jBzV+YRSfit5icuV-us7-=hAZTJ{W;J*?8reOa-~pF1oQwN z`h_`Vnkf{dMXIQYYd3#$^P?1tdCZ_)X2#{RxhDg^eCUZD*rW1%O_~RG(fLj&lh6Ho zXdH2mH*3nIy_F&A+uV2N>c)du`+s8?`{3USHrpQqD6J#{ME1GE-+tOc@p9c=#qT@t-d zJW;C%V`&CU*~zh+0~dlls{3fj&ooEFubtt7ic+PTtk}UP+}{=V)@jiy0&QkztQ8h7 z1L$+x9euTwYY|DkaJckCi>mz%~=&=VJKl3 z-S|WKg0Q}Nl5GC~wV@S^vP0#76+nj(-K7|gg#P*x7wh3Ls_Gm&Hn&F z-000xBoXacwkSmco*NsYqtYh$_WUNex%U~u5$oh5XS)qvJaMF-aZQLmS zS~hBl$-WPLK}eZ`N}E(V6TQAbvG2!Ty>CIbz{PKI+aaj>n%B4}^L_0`CR$RY9 zn(L8V8#;*Z4pYI39)&Cvk}qkh_RRzRZpMOwVvx%6yDM!eRyN|z*ud;EKH3dl7z~5> z(|cEJ!4w8LG=3_xV)~5-JTfNz&QQw4Bxp&j9D55VANwDD29FeSgFI;a(1IP5izlyf zp0(3alxCS?1~xuaSRk=bDA;PDz&ztBPJ+VBVG-}$y{r_z0i(qWzTLRavWvD?ka%-9 zsExxo>yk<0@9JA8ak3J0e4^FW-{V)4-A>myj@iUP5sJC(43o247O=t%?b z#a4)`0YmFkA}a&AP=X02ijn<00oz2!Z zHDnHJkjNBZXuM4z}zdhT=eazm1OZNDV68&MHGs=G>z9i4;i9< zXy}zkm*kkN%lQKAi~ zpen4JzM11dW}0T1VD&$i8I%wfx+x1_SjeJB2Rvvwl275;C5}Ol}0V7WM?=7{g~Lz5u8`4rOBt7>?#LFa(XHQNNLi^B=G;`aU5S+lv;(vnP ztr7|hs>A>RIL`_(?sK5RDPA~)Ehq^VT1}J~k8zxe{WFa~njN8%CI0}%03MG^?a9UZ zxcT*cbZZ&I=E=M~Q%fST3?y2{(hoO)Pw(`yD`}#Qi^C4%u>vY=+(7_!ybO_jP3Egw zF_c~=SD(virYFl~1z25J%8pvj>psUyuRAE2Wm8gv7$xus=koXB&p2I4qt!2o$C==~ zI?%c=l27vu$DE2JbR(%c(y^PyGQ<)@j8FtBt?ghy$Xhj&*YyWRn2`vK7^4rg&@WU? z0fT)GZx_MI&}g8_s^Mgh3$QZ&a#-CHi^#ywYPuRDDNGAGt4M{}zYK-CTEc^T9Ar=x z_sWloL`#-H%WMclTq2da_TtU;`{)M8@ewKsS8B5WhzZ@3)PsF`W17{)!jr@Y@K-YI z-1Q%rJv{clqW%RQn$qYn+@TTTP}C7%Boc2Ts4oWV+~-4}^1_}76qwOgSs%`9ALVTE z?T*}?R*|CfV|k`!{6yWgP1#d)Fe>m(V?bFQqm9hl7D(FmH-%t2y5DB*bpee4f%7qx3qsKCqN_A*1ZD`T=V$Q;=pPp(d?ub3i=)i&<108_a| zjiRgpc5{mRXgkiDNY$V$3bxczzM8xfoKQbWq$h|;lUC_O4D zize%l`|5)#M<`_S!nh$&61%M9j=A^kjy0ephEo`vDW&u%WU@u#vqzE#z|~xIK(s&& z&a7;bI~uInJ;&2Vrx`lO=bsGIRRT%63tZi1{>QoJM5eJ*7LrDcZQX{eTch7R*z9y9 zX7ZTPS~f(t46PVDb8DPl4GR0`Mwv!DOTyB^)gU6A)(+k{8Ln|gyNw4V@x$rx@gSo@ z&K8I3mdHP?gR2GFsregvF`%wj*Pq_W?N_a+vGFk>kIj&~OSH8GyTQJO-#0R7xoPku(I%pWa$rY^-()&iWiG4IDcY|Sya%X*X@DapSH6_xdR^#&$kp6jhZ>{W52cP4YsRB7%`_s0M-wx z{{VB}wxHyB9TImGK%iAcF~0m7&(1TWG}Wd=9wHVyl?KHJ09I@sm>qZ@VbSmQ&uaeJ~93?E{DztlA?5Kk+~ zzfkmTuvY7@H;;POD37{GOwS-+Er}y}TLkhbe@xNTW}oo~_?MB3F5y;`L9u!I_Pm3g z5j-Oj)Se-W56oKz>-EnXBW<8Q*kiUI_}q=OY})3ly?guMJHwb`M|lABl1|0^!1Ni% z^I&_|Q=o9g>JZI7)3}hTYL_|f*q{5+n;D=~k-XsBwvfQO0#A^~P5 ziN)uGUj$zmIx|Hg+L3sKimi+O8;1*lN86ArdwgiipoLmS@a-AcK`k3F!3|Vw=N0wF zv0&N;i_I~yeW+T=U&~yMII8XOjX}>MpA3MqsR6cT%Gk0of^vDIjE=!$c+yWSpUME- z6m1Gh{O-=cyx()qpe&V(|*A{6HB# zqJX!UF;s8h>ouC58a>-0Nn94Kz_lHugVwWGo=x$cWs@FaNZw=;Dj*C22WNh260xf%|hC|T{JeZfkrDY9z=Ba?&BeqqjoSRPn>8@y%M zDuoK%I*@*ApP@Z(K~O`zswsTMj@XmAfuKtR#fF10npx^P8-k{r(KI0(eZ3nT?fT5J&2(0N*%KUiH?-CIK`049yWyxNksC z#%lnZ0CGZ{f5!BJuZLGtAd=aLjI+o}^|Cu+k39z(VjLk$$2eyj!M1s9cR!Z{f!p7( zm?}*thDKJ&8@+4!h!js4x+d)6t0s=1?+#}~J|Dw@6RXn>c4T6+WF7_QHK@)uM%^kb zP>icEcQ!(U`A1%B>EA?2rbr}>MrhS(WT<;b=bR!v}!-xbUc!pS6KFi1}7W(RQq9Et}u)20qDK_F?M zh$!%+v~iY+jH1zO=77i~gPeMC-$ARwV+$e!AYefJL%f?6ip_ppQLfqv0?p!9FEUD1 z1z1NI1UA()N&LJY^o;@VyJ3rZp{o{SD4{_$j`v*j#rpSy@x{g$Cv3;^nOQ!bFV%{W(qkj`QF20l| zS~p;vawr=Y(C{&;5J`+9#KH)ZXr|+DBc?2y#dhaG!e1^S7l&uO9o0sGvcjm)=Ev5$ zfR98v^*$S9ot38!ASzl|fsT)Q?E5pq~7Fh5HslZxmGy z$j72ULn#433^DCMf<@4+Rbwiwkza~8C^m>tv5`r~U$%N@omm8z#JBNo()zChY=j@n zoN{R6pcFgasL#TzUT2ZDk&w|6XEZLpNxb*d;6tSwRQ#JAPfK7&XscFg=d6Fo=??D=duHYFP!6KPA~VK*$&s zoa$9`OS(3VOM(`FF z9OwhO%i$0JO{;(7TLT%RLWSROF9)3lW@JYKj?zMh-O!O>4!HU4)aW1ZaoW6cA(e&! zJCwFKcgflwyapq(YFwdwYG&W#fse7n>%) zKF9VnGb%fIL&Jx|B7k~|$9!X({M|GK5uxy`d^pREP0lCfJmZVYi?-?{rQ70HD-_@)HY32xY&^>9*$>_OH-% z(WVg%v9T-`TNa>R4ABR}yuPT}Q9vPiDsjbDIXyY|(1K@x#yr<3c9tw$ zl5hDy;Ny#~KDsoLoyz-Ddq%Y*2B1xM9>VLb4}AlcQ#nK7)sbUA%B%&OpfD6%Au#O|OUfw%*l4!9p9 zcMo#y$2mJ)26dv z)+K388BW1K1Y!xu$>%lx*0L%I2qZW~3}JAdT)L0)p5=)ndsPoD)EG z7pRq`eiK6+)J{D{=$s0p?0R#?j38?j1gLFD2y#?n{{Sya869(dbObaZ6nRy+Z4$N# zAc4Uoayt8CK;V%JZY9`?Ce(9RL}RzpIO9R6c-emiEo6{_riik0kN1Jju}4W1%)!;S zH2|(NT?PgPV~VTJqE>~xI+X_e(4&&L2b0{BS-bJHa+Fe*6x2#{}pM zlCqKLUBLR7&??PmkB*t^&1j9si1TAC3JDE`Cb>M04fV!P#(@ST2_lG#yLNBPyn+pO zzp(lls=lV%Bih;XR1sr}yo$bh-rBnwl@cbE#rTNjV8pR+EaXwTCcFDr9d(pxw_tjl zd7Jl8LO>OYt}%=F?llBb8N?Aj;k#=NcM2ruoDtXc(5*dQSw0x3*t=GTBoKOF8~SAE z%CwQOdEs2K8y9E?cRrF1C~^Dfu-YiZh(f;4Giv~D?1M(nIXBy(HKC0E0EI=7rc$go zHsW#5UA4t~b@}=yMiMrL@PChB!C;W zo}Ep0 zx76c3@vPQsPd{@pS&x`lvpa-ePyANFsx^wm>LAGzJhMlzZj28wG6rRLJK&{nC+2__22%dmNbQ2J)M1lQEwqcyLGm1R-l1g6WAzko@xw-_AbrGd^gK8ODR zA}|@Cjd(7^<&<_bMc|6NH}g`&s?f^BByq4}impaNoL)yg&3CIjYbZm@E{oz|jD$cW z+ZnQRU-yojU1&7$@ys{wh>tach|#?)2SeQLp@G*{QKy{Dz=5*JB?E1$QCE}2a!xeH zRVIXhd^Jb9QmYd<-N-#hPh-eD)}s9{1viwwQG^xA5<1gH#EKsl2W!5#vSA}Ua0%+E zg}B?)*|T&qM??B#fKo{0FZ?8BZh((CMVjW07zLAZSF2vahfK;zrPFa zb#y2r@Xq81b_~?pG8(bi&>1~%)P1x}X&;mTVc~?Vgj-lUx?;~z2ixaNMDXLpLkf6_ z%x=Ke)?z;r_T3848Tt9vaeP?!iP6iUaff#da4Xgg(Y%|!r;<*hV`!R4;w})`j4)(T zSX)0MHJs<-hB8kPD>PAbkH~O;uzLAnKpn~f-8P0 z$R4AP2+789c+h#{R}qDhEVyMWTe10ef_nk|z35&tHZm#k3>i{Qj_U0~j|2?$Ba=X5 zzMzwj{zLCE*&B+x3l?g#pS@SMgGi%>QY4?$qX?|D03;geXW!$lsLZ<08IoTYaiiM$ zw;iJKTocdfs4MuPDxVIlin6ZN*lYzP@JAQ|jURkxK}x{Tn4%>_r)Xqd+ph+TFJa$| zo|-5#Z$cuK(#Z~`Js^zZbqfGv{{XLC4Gd)dBg+dBfn)TQH~H5%$N-Gl{-;KUKM)}y z-ZlonLnOSla4($m@7Fr8Xwx%=cw*ROkl3@IQL~X%lb`*%ajhr7lfy{D(eB5o$jAoA zEyx%d9Nk@M#lteD)P-Rsil|o%{{WY$TEO@3ea;GyuwAmk8a74}FjN-2Snct7;9zJo z@h{^6SaV?HkXg49No7B9coq)?jZoXgO7RqyS4JY0sEWYI$e?KUA38MwnnwWG*&VW0TjGhqnnCF#I=%t_0EiY1{{S}?N2OM%&L)x}{{YC2(aCZiRU5H& z*Pni9X{zUM5BRAR?9w!ZvjQ{5GuVudbK3O=L8CK|3XQX44@ndVqmm8)y7|0S=rx)t zq(^0ET1~0BdD=x1O&YKbj>oyyq-z=Yj}XixmDHYKkD3X~G$YRZg2XkLMb@slxtt^i;d*-4+A()84R>w*hKbxWZ z6QGhbz8}iy$ju zUGPPFR^xv54{FeJkgBoCAVcPZeps@9u@YLzqy$R_U?C**Y( ztwy6C4zc)>vWm-WMHz0KSRZOVPZ-rzUFJYt*^FtsaB=1lV1U+YxF-8o$X^e=S|ywD z2sUNkL=$WP6gpS>D?yw801jJclHj6+C9^}IuGPkRp870vO2HTxk}z1i$j--g(4$`D zb)%z9WILW%(oi-EAULKOpbyFET{-7PIZ#X)npH0B1E?af1$!J{(XZq)l(cPEu$ER9 zK_v0iV(<6pHMla8IOVwBe42c?Cuqj+ewFpR)fJ&xMNJ)*U_tVU0DocH`i?Yi1QMj^ zuaZeEXD0FqJQ59@^uC%DBpxCd)V#{8K;U7(&0@2RVzb+mBP2#f@+m<9Rp^SvT@QhI z>(FzfP+mudR7r_%E-(s^0VDUUj{J|E6k++1_{hcV-BJ={K`lqF{&fmgV*~M z3l&e!HzNxhvMZcbo_)AKKqOAh=EmzFCf92HaeQ<^WWfh z&~kqaB({$`@JTCVV>!zPPKTn-%0*0AF$w5UEv>Q=X@Mv*YpljxNb_shxREEuk9Cpd782xk^2|P#PyGctW z5I{bVas`|obQuLQGk}&Jy=_-yf_nA)Wdu_qZfY)1v3paK9X8LMS)5Lk3QZNI5DRL>ZTvxa0@2rX8!Yp6Iu|#5ouk!$J z_4v>0s5FX@UyxS-ddERrU{_<$It}G`fC&_fVTRQWN;+NFYvV>JDoo@%NLDErHr5tR zb6581ch@6CUo1;1yUvXHERnueuDToeKi@%HWQAec8*6PvW0KTOjyW~&`)C%&-eX22 ztDUsOoEyA;!mhQNHkIFTWq(U4DnkGW2FN`B05Lw@`fDg{5LO|4Qd-#ucHX=Ty`W>a zeG-gJVwIw6Yo@*2(HQp}XZ7i#9Bk_{%y*ScZQO3lV>QRC>z`l<=#TLWxXFHGXtY0< zsU7(1?f}qe;lGG8Jn9&r^Hz_gPq_M6?Of=T$CV^jwJ264WOTb66IlEEkC0?qC})tc zokV5nX^p7l3LxZh+dVakix?(FNa9hxUDQ|-M;FEP$-dX$P&PgqNy^ATV_}MqSElcb zfn%JEeZxp*Ul7P%M`T#++mLqkusP3e_18vCVU}{r2*z1uUsif&9Z0kD&WWldc194T z1}Z5rSjYp9u;ZqUpoq>Rk)>s!yDdaj0tbHN`;PiCTDnes)uoY>t`@Xh|?tQM=Hdx3*kgUcc^Y^k({G&c|~uN(%DGJ4F&Re&-+)SJK9etwZ72 z6)hb`V{{UZ|X0u9o@*s)B!kIlout|dI}jT1 zw?vxc*Fm6z_&+eo9J}c3{HM~YERF|l0yA!n(k~VO1n%5Tu*DBa!SB>od9n-4Sb(@T zQf+T6Pz0a288|(xi_~Veba^5OiRMNl8_iySEh(;lPf+59g9%<)d_nOmR@;f%;2XSO zPA-jKd^CUi=?}LQs*)5HO8QMTX!-P{HYR4mjiMrZb+2NZEqPwE74h zT7|Lz104q-et_1Z{B10Lzv961ffXc8Sw8ZiJgB3)wE=V zp^lwwcF{0d;er;CqGDr}gD`K)c_0hHInTdb5h@GH!hPezu_3GRV?UTL=ApRfo+|ov z0iZ{UR1rwgA#071I$&RZr=2-)49epL4E!tek77RTZrRgX_Ry|#q_V(i)hTrGt0jUN*^?d31-LqX!YjC zZuq0CqtPnG8Xv$eHnE^U+70A^imJyaj+l#prDRd$!u5PGU@1mui#1}b8w8uZ3|PHFiTPhCbOFtf7-QC zBXHgsr0~k?8j{Lb4Z(QigU`Nbo+^o^Zk`%Pe-R*MLm}M0UeYYt76<~33;o8R1I}lS z6_o=_8h~w}WDB!jPIL6obIlZz2&F>k+wcYmTh4H9x>3NzRcb0mW3-pV!?j{d*(kcI z^x4NXgZm9ta;h`B9~0#i8;b80?VBVHmMqubL+H7hV^bSZEBNU!9Z@Cl8wvSwC`yj=3O@Z;cuV(pNrAbP?9?XXLv0 zgV=+R7(MId<`4YU(` z5E|$ae*E%kv=x9g;rB?zkw6zirf-WEUpIl*QAQ^z5D!$Og820*>teXZag`nMp&Me! zY)Y?|+yHCXb~&!6j`gEV<+}?gXRue-jL_%5Tz2X-S4g5w-XJ#JfO)1PZMOQ>EY;q5 zKH3b`5mlj?^5YN9WL?qp^M3d3qJuw|8!C8pb`5knU~_?Am)v*h#(*r7Jc0Z=djc3W zfGcq0Jud$Mu{8=v!%0-zY_%Z(sIm6DJ#5~!B8#t-s*Zgq0zDj)U{C`lv7Y|`8qktL zVpVrRwdnw`0lX7m@AV<)Sj37`W7$vu+q4S7tFDZDaiHH6S7ilK9Muc#Gmbd-_t9e@ z!C54m3PCE{DE6zxSg-ogsLodgP0^`f9-9qg2FKV|Kgg;ARUwH&Jho8ENVCvlsC50h zXe_&0RxOz87J0z~;N$f=*yc%{mLQo$1r(?jI4AYN`R|~}sxkEdB=s^DB9wH#_x9`F zfSBfu14@*{4_Q)6_ge>>70(|{2Fc|J&z~cy6qnVGN7(byx@a_Heep*OtLbJ^7aecE zzaIQngBbRMZps(}s-1=}k%E6**0Dz0TtwTWAO$Lg$YXX#YwO2f*Fhy!SsVssB>Kj{ z7z`S&zdzqFZ40|ew6Z;8bpkjenygp*gQGRe;nrpV`Go?q`d2$e{7|d<5u+|JgM&eN zV%*?R=qT4+0&=W;)C^a4;0>EL4FEa6ek^D;K5O`pBP5v=1tzdI)=2Be-%^OC2^AGq zlsVtEN%dg+0&J6xI2|>b8%*`)!Wps%3b(vq_Tx5dxxGeew(tBX%tCHpYZbcjLhG;B z-$XKs`-;j714DaSpy_zQ$&bgLi4b`2d@!Pg5ri}2TNk^?`-qJOg)bZ18o9E|7q4>B_kwj7i z2)Uzu0s8$qfmNYeNYO{R`OeVD;*grbJdU<`pgH44Yd=h(TrPIf1CV(m>s86g_SS4e zc8SWwXD%>`oX|8)0zQMM-&qbR(m2?{uX~i-ZgK}sdS3^p(?Pc6@ezof25cwc09x;$ z_M&m0Z0MKJh%2(fps>!+DCBh~13cgFRiilX3?x=99C7b9eCh#33bT0}o8iaH_=c`7AIu)P#;I zm!?HyHSdF#nv!+<3P)JqBiVwEWWQZXaJfxvPmAI1#x)M zE2f*nv&K?1K3jqbQR!TIk33(~jYMA#l1!jZj>OC96~)!D1YqOyW2QQ3hm9qTr4hG@ z4dtT`DP>T1ivW^;m!40(YFL&Mxs81JLlj~}CzF;0j1k+O#2OqNql|-LV*qH}(M7Td zwKxN{9yzX^K{ts*u_i{`&AIj^Cfu$>ZlxaJc|qKXEs^XscieBF8wcIiZ7%6B?`JjinuA*rcf* zoZ5;zvCm=L3eghcUk|nteC6F{o?#ykD}sVLRulgO_W>mW%mMV-Am8{}OY#;C6(GBEQd5rZb( z>di^d1D>Mqp$FShD6ED^JjI;ZkTVBvPTr#fryyPZG{n^sB%{od+5o{$=OUZa#pD55 z;P>NG0)km158@>W9E5ISMW{9EBQ20cpGut zgpK5G8I%FEuFIp6D4Vm8eXQyjGI)s=WOVT|7IaXq&IQrPs-QA4?eU^zFA)(_wOs9X z8(gR)#-R1TtqQ#iK@7qqj`xkKP)1d(j)wYO8>#}m^f9Dzcr=6YQ+KE&I~)>nKsW9= z7H)@K7aGiAmT2StFas2XHu@ZpMraUh_2(w_aCw%NR##^;eo;yMqK?}H*g5Dp&pKdi zuMdWD+f`U?jZx1g#pID@`QQ%KT42w`1uVh0{%T?7@^OVVKwnRa;}-*tS)wJ6iI7GV zlPdzFX|Q=9o|I32det$Se+?;FUm`^Z8Ktr!yC2ZxEAZt|R(GHoKc6ahZ05IbV?jS-8ZDiyO$L_0eGFgA-k^SEZP zIVQDKgptP>^88YXqGOQ`%b|9NLysV^u~YI^+0_frtJ^6xb9nKQYOni@%@*wKdP+=XAF8IJ@j@=LZKP`{*x>k9XiC zLV~X43xn=go}adgF{pF=FPuUjQx{N0I20s11#@?Oj){RUh-u2a0FaCh;hJ8xRcD-aqgpIw;e#@b)WzC`zYE24NA>y9 zN=l7VY1}G;Jhc*7QH#6oFOF+LRas&FAV<9&wyJ}BO^kbV`MR@M+)`Ey(C>4gjwA+dxPXMSGa4;hlyz3nTA%yyu-2Y0l`HBZ<0EtQ!@;71yt0 zqQN9ihA7v}kZvXOb=&m@`2Dq7Ne`J2Q9FWwjK^%a@7{-SbBorX#oZ*3AfA=IJ2wp7 z8#(9t{OW{BiXT%KUF3^V@Nj*F^%@B~LabZGf~&l5Z!7`^y$~;fgHY6n?!NT((32@QI-2ry8RflulkLmNEb3&jUo3<7X zKs+c0fydhP5-&JPQKBl<=m^{lV2u3VYtTTz1-MbRkZM27Jwt)VUVZcwL$*~4rKEBR zPDVPN-0{u_#)C!@iG5*ma8}j2^t^We0CSo(2xkf+jrr=g(3}Cs71!eRkWDxr52k`C{84!?33x)&eIryQ$`j`oV`8%CP z=@b`dx~_WJyBGDX294psP>SJ_*jXSoQ1{RM4!Q+sB~@9Guh0NcxT+)DA8&p%8zFhd zuoZafM^U&6`8cDjQ4vUMC|#(8Z!;O--S)iWug0PSMJbnT6v~EzhRC7~0m&cN z^)k`aOjV{kYPTK0=I@%~tL%OB3P(qjBRTTeEdZv6OV3U?z!jo2mM;)v-4BOG4PsXe zIIB72b+6kx2Mp1xd8Y-ODMlv;ADZ#orZJ*ZS(M5Z&@-{Jpo$HP0A#OR@@wm(E|Gk& z7^yM_1yqm91%OS89X|Q%c%w#|Zwm^`Bxt2n6SjrskN5lg>LB=(f?&uc1JmhX$1BMK zzixh-4H@6WGpoo!CukB5Uz~y09Xe>wR$EkMi^BtJfX0pB4D;>&*%7aw8hAl8*b1P= zS;7s#nmFW)lZxiFRapeh8$~LqBoj&i28B@^00`jwe3`C@O%j;=XM@8~Wm8+aSLw*0 zKDr}!0tIL1Z2cb~LaON%I<302Udcj2igo+-Nym_=$rM92_aUizg*OAYc4`+62+WPo@)P z2z6iPBxboHuaAnXXd(j?1TqFbbr;>#o}?UId-nMaV{b9m2;(%%ypqI)J;iWt@H?J* zhd_hDppIV^Oc)PBP!+~D(I&|IcfCYM49ZmsMYM)R-BdC^lzK(y z1YfZGf;rSfc_V3~R%9c2B>>#Q$mY%uLQn2=4I9KSibdNaCcw441G{&q*clX0*x*q* zqd7>JHt!5Ftb{P8s_BAHJo^r7RU1t3rr!=JV={uu2|K$J-t$<^U$&(jCPao~=aSoj zwFciH0mcdA=yeBpS$v`DMpl(}7E1sV$p)}84QUZ4vPg2~~))79||6;uMd~OmG0^ulLl! z(nb7GXxz!Y!VwpD@e*Vf>eQ%+v+Z{V?@I~XNgsXRY40G0k52k&0yHix7Sp`8&x8Z1yd0LjFI|- zV2q4sBLf%)t5XLFr7&*V{MP566k94=d9GHgCwic)i9KG*MNhM|Dw1(XQg z3WlN5$vaJ&7APLL8Y@T~MKFp~B2Y;_k_h)$o`>V9tZFN~M4m1m2s}f{<`~sU zdM6tm8U%-zL`yXnBjFMz3cOU-%X8`pC=s3;%M$;p> z2h}4SgJ5Lda7}OrUw{hpcy%6oK`4{*`tbh%HOS)b&l(67WMcBhgzYJXrm{y*w@h)) zfWs`ZyBK^=mRHrgX6pbDpo^;mkFK>EgXO?Z_niV28(mzAGzNMM^yzy8OB;! zJn}(SYPJ~}Kh0x4;~n%^Or^~%Ahi%c;f;EU_s!qFeT}n{H}KGGkpKo@0cHNk9Ev-^;B?LLlb(USv}im;Pa!EWD$P!+ zBPY1coc%lAf`;?gbV>&8+bS@-xUMMR*vB=USfMnLJBd&i+=Ny}!|*!YXWO_M*q&s= z#WNXEl|qs>ZX|Pxy6yBGG-^6&Rw>Xk5w!Y}wuQ1Wb;aWz-850zAn__yRH#s!S&0gF z3qK?i&u+FXGLhwxO(@N&UThJ8f-5Bd0JWl|(?Uv6Qlac@QN}3WeCIf^dCr5ju!cog zB_y?>Dn;k7dN*gKXw(GX8ibZT!PF~~IUQQB-|y2_Dn=cD3ldjJ4T4RNrU1e3&ULYd z=Gd^6C4+iVvwR!LJwASU&~!dviJcrQWvqa~NEO!x$Q*Ig>Kw}!V{j3iDJRV60LK(h z`$Ir?D4T0S+ex)kZJRbL@6IxMaB2?La#f;JAQk|O9n?tR4~{;$=CqA+kqgMEcA?;X z4QKvbbD#~pA}QRZMQs#ss6EeH`6oKm8HQzpaoT{BXLbqZ{xjHeIO#%3yxNtc3M$C6 zO-A~C`N293BL4v7$VpCP3In;Lf!7pHIqq~Af`i1i*zG*Mw~FU=^PZ#Y^w2Rqzm?)y zy((y^$QPUg?s)$I8UpcN^%0OmFES9!YZq6F#p2F_nHp2IBqbKWEHZkU9lyUClx&ft zQ3)C#3sGW0t|$xRr_%azGAD=eGfN2zzYCUAg}%8wS8V7ukN91T0tMRKF|p4#`h9f* zk^caSEkB7N3B88s_vCb}XGSWgnH#3nmZ*}fpjA}^S-ky^wutD=ijHM1DMnSI<06Q< z9q;ESn!N+ECMz6vtO2HMgG5=QN8g`o&?f}IWO)e&PeCUnl zq<&agJz->#ND8$_JdEU5KHaz?i5(*q6(ioq55cpWtXIZ^KzBCgW%C4NE&$p9JwH)L zk)Uw}J{0eSl5kOv0*@7eo|w^$X&YaeB9)fPh64Rnz$dT#e!S;WoO3Zo+R`@0QMnz3 zEiYk@e2k4@5neQKsOBoSbxbk97|AE8{{Xy$hJ!RtyOrXnJFS||XndRF-$bNhS9D<< zr;kq4TTS-(&G!3~i?SmdM3Jz)tjad6AGdRO9dLA0HzZ8H7;a#8o#uwxyRd4p*0}i4 zrmq2pI6OnH-!K#*6dETY&28h4>7xr87+G)BcUqk8Est(`-PhjrEF6srEQTCx6sqTM zn19^&=Cy#OL1)j?ysVp@jhzZk!zd+0Y-UkpnLS+@{egT_S~uq=k^I2~^x30Wgg zO;gd?fpkYbFh{HD@@AgsBvBk2&^vAj8*5qpbDaAcu}4Nj#Ku~1RwWD+Vlu#`19-^- z$*;9zK;wVnW(B-3BeAWofHQVU$3FGbL0KAYvU!B575HG|n>Bve{{ZXt&}f6taTD!R zw1qY)bNQ-?AOU2K4>#O#b(UObjbTp?fDo^hiEo-D z1CxMxJn}drL98!7mV8u6>SYB%Q?~0Mi?NE&eulIY#`uYvqn(uO<8ZvtnYYX1N}+5zPU3mkGYpDQe;jep0CoPN2g&}}PB4)~&WG|ZPa^HxBw zZ(;WAN*Ig9vIdiMbXGOGP(dUM$<3blylNqo5WEPI5ggZ)P+JF!Bd8<4U-*p;P~**$ z#KGa50UGYEoB>&*jOV93YFX-Dv-47Dhl-v+LHxwEwkomz0NDMy9BU}v9}qu?kkYtj!l%8MD#`2^6nhGp?4J?I!RHtRG99Nm$H0`9wu)b|AOJ}nY2HB>Sx zZGpsul1>RV*#6kS%@raE;jUQ8SF))p)32w3J?MOlb<;seU83@+DRAtoxPV4(k8FD! zkE276#KO|Y6i&d>?or5~GkCFq-1@l2S_pX$jc1BKPQrrN*cZBh0|$0KzSp3uDH1eZ zA|{nW{{SfjjE)HdscO8N`st&j@Ws|h+8BbXAVp-{1&>L*Sm*_wbkIn7L6|F~DoNUN zU}UxMGAh0K&}|t=yfAQ7k(pU2^s25!V(x{L&kYBj7V#g#znvb%DmS|jmK&{BO&YE~ znxoU<<&EQiE+C;^m7-I$=D@CRf$)Bs0V5v~8%_TJ<_)+OG`n|fKbt+e3ikNb5mm#Z zs`^5bLGc^H)orc?az{_hJ7}^3#@-GWlWLN#yBbo))LM+1?mfBU^juc+4~srhq78~l zmD~_lBNy8}Y+Y!g=^ya!%1dr>=mP0THcteCK0Z3?;aK>HRzDJ18q=H-3O0IRp7d*; zM^+7DH9L5Z3isu?QbgIiql5ndspiIN#)dr7Y~G{97hIyMR?|v*o-7i7>>U+-1SH!_ znIuqGc(pmPf&myl`M;P0w95#8!!bA_fTD)Y-fyo%*Fc^22L2*atWb^2P5@KEsx~Z9 z9lPsNDIj$4<~d+NE72h5a+?Du->3%fRZvKZjU+N~>Z|4`QDFZ7L$rK!&`Jp)odsP7 zt7;(t03P+8{SK<*FA~cWZSfHR>p&F06$lFy0+o#cTmTINcl|V1L`*YzMMX4JV<3Xp z&U$lv{`dgv5oMG@xOK}&qzk-c;Ddd0kDx~@GC1X{#$}10Ho<=J- z&HaX?YDP%uKbRqp)V`QS7Y6&+_M=(nT4;P!kt=SRM|B6)A`mF@8or0>KAHqfFulUN zjjryffCU>Pp|XCLqfU-lpTr~D0=PnYT>vNngFt-VgEJaTR$DA~fI*;Z z)t|0@!=5w+T_>4flf(?6qAtRo+}WTFpZnYq<1HYbNXQnYNMNCXCbBpHUMlQg%@R)# ze7NFJSwmwRRl1yFhd*KtYewP;8KFKYW>D?`-MLLQaYvjGE8pKj(eV;Zy`xzfyu1*i z`2zm{`u6Gi9T^ti2xX1;`fGV|6kZMmlb^S~jYcLoWD1ed9$nmruWXzQbMwxMPaM07 z_;iRd+}l>hY>vHtdUeod@D=egGWcdDfd+t50L@j3=l0IEBDunDhs!L;*Sa-oq7DW0 z=i8|3tq?rcnc8ThLP~%DVd^8G>M>^=QPH+r)F+ttV0xq4cX9s!XZvSCQcuKrl~-=i zsLolhiaGDc(1Y$7uvB9lk8D)!ZKBuM-Z{tnfMt9-N(qz{jF#H#w#IO41mGH>qWA(v zDhig7b^`AwOpN^i_W9Aaeqx0W;z34M+IEmg@1EB~oL033ZMWu3qC*l)Tp^BABDv1v8w*dy1Ok{@-0tSHrWW)&k#l zN?0d6_W1WY3+FAa=!&Y)W;PccuIh*w`Ojcdq-e~mH~_V+17!Z=i@bHv24NdmZQDg| zU*{sudJ3`rdWDImoG1X$ZN#e_fCh71XZmP4QOWXM?jlt~?%Fou{kgx_+dzm30aT!N z`qY8Rvyw7KEB(f3()R_0vA`nt-_spFbq1=-krI?t{M{6q!S_9R{q+QKJyc{9yC87F zf$NJS{o_Vz2Tu)wDROISF`@+?fLA>|{xoE!o>^EyGa{Z$Y@_hInGjmC?y$lTc{EQ?rhSjF)@TgU zN(z@}wi}Fs^I7Si>vvbEhRo7&VE*IuSScrTjUQWLrlVUI!yR2OmEgD|U8v5=Nm! z)IcQAILJ8m1m^LhG~D>6LE>hGR^xq}mv+S$S-Ks&^T!$?M#}`XLNsJjU2#X){@=OQ zY`|oL@ao2E%q4dZ%sXSDA0Fpf78Z%5W_6a`0cMPr3ycxijA!3Godbv~qIjPY0S)Rj zqKBv*xW)1I9|V=cQ{}Tm02>9M^3SA!L}Q!B-#qBUMLr?JGe)IUQdkyFeIRwn?~l+2 zR(!ZCa45>E31eK~=EmWIa(;9R!%B_jc_EC0X4C{63*=(6XW;$9L+PJ)hKO8f1CpS( z6gvL^xaS&(+IkR#otPAiei$SGMT}!S=b`!5Yc)>k2=MU036FRlp@2cKee-_T*lHsn zE5g);cB!{ikMgh{$NvCZ$2iSsJsbSCW@&bc+}%TU1d&G<{^vk|ks~aU!V3!ksUrCY zKH~%5+aObGZHz^*DP5!x0kPK>MH{cT8VY5Qc%e?nTn+AQ1qR8z-yYl@2dFHFp&4a* zS0tm09MB+(;<5T@m6Q`cIR_m2SQQn_sK(2MpatOL^4H%N*0m8G zV^KB)#SfCCeEE~7@ zeZ*`b6)21xwclZ1C!GvAgfnA}0nvB0jF(Qw{nl1pU@BLpW0eXm9K8M^J* z=(x^gl0@GZi2SDamc>vY8sg{+{-o$*An6p0o)R}{4HB%Swu(62c+F?t@0}NkB-2ee z@bb=CmYtPXaOctnC=87Jax^|RXOT*{kP!QQF84!@YZNPtajS`pd^lacb2Bh1ZBb9< ztQ_Qwe!SyF#~BH^5&(}X4<}$yMl*QhJa#-@is+_AM2R=KSsIP{$sn2})=9s=TD?Ff zJ|bsW(1a#KN`{?#axb9B&r1MkBtgwE^5l_P_j!z=*-0lCWQ!d!!LF53ITm=4J(pzWpzt^D_PfA$#%rzZzhLU}x_`QS=Ts3Me~Q6n{rKc~6TSqSBj zZG{{H%SUyRKomxOhtkF9I#9#JY>+pZW=7pZZJRVtr=F+us{wpVB(iV3fnlS?0nm;x z4OzZ=XFw)`Ms_ny>;h~ouX{d4=8g#c??IdRe;XW|yhc<24&0SE=qotE@7Fh=QcJ!3 z#&t%KN15ya#pIDj$4}E$NW8`qG4V-mkGw>{?e@srbJN?dHK^1Fnly0E;i54D;ZIKZ z$Q=6ts;s7sC@69cH@IU%dvWwEV; zR%Ql53X^rzgWCPIrFqgx7^vO~lp$D*wiuu4bKg~Cru0VyXFqdE z8Wiyl3Pz4;t(ydbdR|D$7uOxM5{g8-5z09>War#bCewPEEn3d3s1`-EG+gH@q_yH)r}O12$1-B!7Nmt zO`97{wmClE(_0yd6<7uYZc+lU$0Liya65k543H_iAX0)5V%wktgT_T@HI`(GJ@P(O zfKKc-EE7c8=QaJb87GJy92<_v+q5wNE)D@7A4=(?P-T`mJSvg1b(K4SC6=sT9sdAL z8c!0xip&*PVxKXABRS)oW3Tnq8JQRWsBDY%9Aknx@A1j5+CWyo^ALI!$tZE0_2>5E zzP1XgFNez*wj~5BYDd&(nxXg5cF3e-AY3smlZ71aG%Qf8W2JGRq5POUwsla(z;XFb zNzY$=1Dy8I7L$8BOzPAv+WoLc9jmWniqLAm`4&Sa;`g?cjB)!8p4`yTVHCsoiF`aV z-MO(x(gDR?QT_B9>~@HSE45VZ0lh-+A8W3e&_J8i0XF$4G;Bq6tMye&p!94B&4E^-j`Fit`9;$x)grD7}OgrtYH)`-GIo-af%tgemmBQP9o~< zG-{izLhZA<$@HJ6@7A7QyKhDsYzAUVPl#&f{B_5+IT zpyfvjHb|gW)Em83?gvUg-`F)UG7@8uyNJUTUQ-4j% zjwov*r5;qJC2g+9V#&AFyQOiD*Z0wj)QEuN%SRx)d3d8_Q5JFiel!)A%T0#8L^Co1 zHya~716{qeM$x%Se>vD-?z+v7V|Sm|>J{RSDFjmZWh2a7l>ENzJ7wIIcBkP?RQxbTX#J*zn1&Z447Hvr#ZvFlSvv?EvkGRK3pxT||1e)p6tPBoE zU1bx=Gw&$w#RuYV{LF6l`*3m7KTy&%42!V(_S+4eD?P<=njq*YV-q_9PnzVMV#%y^ zt_bT{=~^-Mpf4<;!I0YxqKs<&B1qzv zIS_H>n^F%V#%_h*d+WiP;;9{(Vr4=+y{&hUXk+HO@z+wL)IWv}$9oq$wvKGk?kbJ` zy3H0N43Q^>j!!iZl0zUDKxA>d2R_%RDl&T(sA)-Xe0eL`G zkQ#G#PHMX6x#)A$8L>~6v-#1c(p2s(k~d|2HP=5)8Dnj^O2T5CT`Dp3jF1g;)8_OV zLIjZ%M|axl&%R3!WZ4}6urhtVp}ItdFD;?6)DF>&)keAwL7~UfKt%p0$PszPfaC?X z!&n^&B91-z8kH%s3Cg>8c8rT^U;w+~vUwo!&uwLrUC}nxF^M-VRr=UtbqeOq_M_}| z5gBBKVl5bi5UvzQRzdG$B%YYiQ#`1pfY{z<ZV0s(_kzX~_L8qok4~PwH6oz0N zgWS;u^Y6jX7}?etQYBhJ_-qNP$zW@fW3RaP&?XXyx52Sf(YfSOm;jS!-F!|D^*?dzG8EZ?*vFg8Z^sboGH0wuQ0^}IUo`wk-J1sHbElA(Na$pV>tP}Ff}YuH%A-oOz$d5IRMbXKBM&>*&-x}z9e{Q zAx2^7+7)bK_Y=~;#~IXDc&S51{#wZ-vVY`_fdmWPXQ$=9IIug|X(IZz%M{4OF)CrA z0jvT&$34hAlcA0hI-v6tayVv;i%`R9&vJR^o=3RNaR-3?C;{1}PC)ng!-0wt_gSYj(bmK!1yEKlBUP3=I zlqICbJJlNOM(gXMV@TZ@!z;9m!0#_!k?IEhsCDjeGos@Nr7ziNha>k91htd7h!-85ZlT?Se7Ao1Gt7an>2Y|#~JQ5 zM@cjV8H|;=tnLJkY@bodIXO7LgQ=34P0BJ+9( zcD$<0w08iC?macuv0QQg0IhoqBFHk!D9A}S`Db=2xD-9kI&{xE(?Vh=#JWJ+v7S8#BV@m0TEsiv2yZeM8&hwhc(4IAc*SoD?gmU83@O z_5$zi$2v5Uk|h&t^4O12TikbghIsBz&V$PLBB+&9cx*_jHmNpNjr><^=sFPtM^P#z zGLXjoVBM3~wgzkC8-rj*z!<9+!#Qf*iYK|}C)nz%&%f||m6VlB{4Kx>2j0dujGSk# zjZPD8oyVA}BmuuG*$g?r_9F9&(9n_mvFe+Rs*F%(un8v}P51iNjD*Z-Jn6y0u?Zj` z9>)iqn>sYj%#Mc{X5AT37!p62)>q{8H=?Kj{w~rAsr76McE-Ni24fvZ|G_L5k462VH24#LeZHULuBt`Eh^%&rU(UzdAJq43Q%= zl8_N_9>swUab)Y|PIW=Vn;uHgxvK!JyA2}o9`TnCp z&gg}nSz{$HIOE(|tKeAve!0+ymcN&1Y=~_88pk~cdKxtx$pXvgdBWARv{3|dNFMdn zSRi)Rq*f>>0St;(!vGb#_wR$(`EjiQ=4|mT9_5W=AfaU;anD=9AHIQkQtUe?{D7l4 zU^a>)0_a``_RvV9T6FWjFt9=ayFZ$_9lpYbiwDhQ2n66Z&8cLY>4JVwKifv5KjKPE zV)H`)c9y?L9Fu)d`|YZsIWi5fL-?)vw^0Vo^VIM?$@Ur!lFOK-OKg@4C}EoS_8)(3 zY62EOR2AL5OGd1sz^Vd=UVpE(9KkEfmDNw=jm`l%76n&I`ke<9R`BldmQ@T1WJ<7l z^U}Lw{%ksB8yOLO0OXj-v+vs%*E$N};+uIu0c&Otk$^j2LGOP}26y4%Mt3DQEiez0 z)cf@y(CTyvoHoW&9R*b|EO7ab0bmt{`s@He`rlkp_|R5=E>jGV zmq1h^lle!a(VmB1Pnhj_&8qEwGb>wwD z>qG|#3&z`kADlQ`FM6x64gUbAK+yPhlFOA*gHCHF2i4P`>7dd4M1_Ncx{h27RRezD z{-fJciopm3NC;3i$1M=p_dI7E2D3sy2|gpl8zPi#1CvxqCl}M;d!0sUNKw3FEJ&m+ zus|r9>DsxmW1SJxMH={Rv8ZB(%ZIwMbDnv~{{XE6S)_8ZycN_Ps68gl*!IQ$0BsSZ zNAS_hJ13T*Xqz>7#{$3pT?I(YeiAud9aX^LNFdb$PC9k#Tpbd@k~!vjjYw8QWmNi4 z998fZz51HHOBq<@Q6Stmst{FHj@)%LZi#GzSRM70ShoiV$`y$u^SEZOpd+?UpmYbA z{--2ZQl^7m4td7w`Ml)lHDM5%Sfh1kA()WfqI-f3V#i+HuSCX@MnG0|2LRCj0F{x~ zCi7i-oe~k2H!P-GW}>2~leYP;{W{=x(L=;fBzAoA^hj$vNk8%fzH^b+zKL3tZx9(g zfWc1RG5-KC8R?qM3-$xwMqFhs?L1o-%qPr3NU^vMKDpDJ4=?yCa`bq zeQQ|?RP_ESXyix0Af4TY4^O|}L1Btt5o%pRfC&LWRs)hdbtC@HgG8IpP5%J?m0pBJ ziLehKU1N&tkThnb-dwl*KGbN4VH<#Qpqe0KspBGsjJg6mTCbJiX;s*k81&XS&T-S5 ztpjBbP$#WygHk9Ua!rGQ((n(qbQUP$^VyjnXa+_v9?&lAUs3aU2eHs4W?2I$vQ>jP z1Rchd@C98QoYkIdQxgr59ZX8~xz6CrxC3KvIOnH9`sW$MK_1DTKMm#r>J$qt@xiYB z{{VeNYA1psB8GtS=!+bX1`lu6f$yN9+(clJShBz6UAY@Zek%U}#wZM%79FkP6?Y(3 z3Y)Bz{M1LMlg4w+=qxT`lX@$acL0wt4b~`KWC{e`XR**I<&VS6T5@oJ?#pgcFE`EE zAP;^lXd9p{BvXcO<{%o}F_CAJN1M^9pAyq70Uuz);fJNR2 zA001K40ADf>0?zPs5eP$sU){s0|e&->k#01S}_-wwW#gc39Ys4Gm>-M&>6%*X7KVm z#LTSOV$^@-dA@AfuYab2!0js{B!y#oG6j!z`zvg5TwmDttpgz-8>3ts{{Zy1!=})F zNUQ37sNEbORFL?OAjqMqO2|T|TL9nQ`X6l*6_dlG1W3kjEG~hnW7GG(+79zck&!$* zSx}>BHktg_iXiZKpfm*e9$Xb#~@JWr5#c$#GVkx10f5&c7i}T03F@0H-X33 zM03yNc!u)CY_d9mxvU%7XdXs-S9;>WDOsDszm;iFovcqIkyTm43$AcIi-_Ja!9FHS z6r_*=8-P2Bt~ob!PdL?4o(WAeNxvHxngmy;B-N9BzO*$oL~!$s&g$yy%mUCP)t%Lw z$-AzdbR9T?Fho-`0tJ@Gs_~L60YiiRPN2?4^)?tTFKmq4lLV;fNC)rnpo{!DZ$3{7 zLZ~1S9at?y`fjR-tmm31K&NjKg>fbghJQjysO0S1RQaB8o!MF^S?MU;yCI z2E`uvzCOCRxaj0a(WjC8!nB!c3Ne$9o9%rl4N#?(yibm1iLY(Cs|;=&8z0z%b)f=u zM)1Zj3aUgzTLmgfEJiyJNzeW2t_scLWuYM~Ms}H5im9?k7mKd-W3GydsIdu5K(Cf9 z8oeglEq%i<&vBsXVQ4%gZ9I4=H^j~~pWAbS9F*2u;Ng38c4zlVqduC27PdR(9Vi1){A{A$RuI$#k(?m~8tPXg}-g@KNG zC_2_Pi1VYfL_ES|P*gST{J1zb&t8Q4YO422Ui4)c%KrgXN6Hivkm-_x6&x{ z+n$;4tq6R%Pmvsm%YLMglB8cb9q+mMtr~)*Jkv8JDvvVSK*Mpdj@_}_<3$ilkjd%+ z3bx^Apu4^(5=U%x(E;S}<8a;(7CYS-0Bn!joA&9U5n0wbBuLZ=9007KU$x)((Wgy5 z#`45P2FfCh6M=pHoM31KkL1SC%D|Ov*3u9*?FRn2A5qSAV!@T85!seQXsX*iHVTe& zn!RcWs^p2|g-9#~nk7a zO0yg=?RD&U&_EQ&A&E!lJ5>o7;N*UvxVzCs%Zp_mVy~!T{{Zy_kVZ)9{(v&gysV;H zj)kkK+gP)7Z>`rIc&!!$iX@GfWMB*2vY+M+(~8g69kp5sB(NfO3%CCO7qZwlT<5nM z)EuuXFPAG5{{Xd&3K+>9{!i~lZ6sj25Wp>x+iH!1KDhmFL1R~WBHkPd9)N2Wr#5-7 z>7eNfBA+NFWtkKjzCMFI^v}+V18OUu5fF&)C-Vw421orc0sLiByV;EH-muVINtIvOPeCOLpGo2$c1w)qQr>Me=8+jJ=BpKJS_2ThhPvzixxKvg%N{{Rmo_U9p*7D$mH z-yKJ``zbiCc_)mY-$8cB%)V59YhL2WYiPblZiDpcpyrJ1Sehv5pVCd0TfVtH$NA2J zO2Gt66o~4U2E+u_&>(ji$Fa~)&dl?>77uEz>J`$+&mBJa&_;OE(v(l;1fj4219pAC zzJpaziWL?|7$`~IeQTPoasD-%2Okbw(jAq=f0dfY8Ron7y+NpHSr#~3B>GsKli&94 zcsc~8nOwT(2Wwc!JY7a=;j9nHGWMF+j z`c3m>=eBy9<5;1?6UwC?6cu~OB!(U97J0MD`&2_xkj7ubIBziFK?H$!&)i=(ia61l z;vP0--46W8O(0tfb%Dj_*!AP72*>$l@e?WD!*ZcMpm<$_ z{r$j1^Ce>&8aqojno9ye$nF63V?2B46p{q+U9w`>%AxbD8mis8W&**eYt08wG(2xN;m(p+sD1*(9*QSj9Bx4XsLEse|r2N2~ zV;>0K_a^l!6T{qRJ1b{*lE>8Z8cVNT%I`k=pUF-RzWq&4Kk^tS)+M5#xY>@&{!sR zmDwS3uC|q&^yBI)Mlq{Ot>UAJoVL-zumkevpPqfk2F{4$kp5W1Zv+M_8s031p^`7C z=IfmRQ5>wwil@;y zrv#3Lk8A6lOA^Mh$ajAWB!agyCgG4X*04FxI3C)|CnV8J8qBTcGLi!+-F(pIjy99d zK>5^16ox}mv~CG09``?pMRR>PA6mY;1QB3DOiQ*JVA5INb~g1N$_H8_9B2?`2$lVgWPCo}a@|tJaN!jOVT1Yd4_M7LB24UQiIYq`LuV`d8mS zUMT1~9~69`l6h)fji8~oHbBU{kJH+;0vSMzM-PfzHM-{%ERwvHt0KGVVq;Rw(QJ|> zq#K`_;^uU8B^0}{1;UUC3On#< z0bCBcxVTKy$0o-JED)N|Y8o6zxmI>_Lx zk|FZe>?j1MAZF^aMgIU(p_-(D0X`L2d5uhzLXNeX<07%m*aV$bWd2*p=6FegWfr3+ z(M+JI>(KpcMJXg%Jy3t+FKr-j3BVSkG&%YV^w4pN9l~~-&yi$PAPMUP@ENQDkGJSU z7(hFMx}t?=Ef@qATC#d~7{*3|O(|awj!cP@J!h%&Ju=if0fnyo^3+tfGU74OZ{96#DGPMIh8lm46*kt#> zSz?#WZ~p)@gVb0lamz2sz!{_St>bvinM1dm9ismL`ocl502v?er@7ToP!c%hhyVel z*reX>^@EK60Qi119L~%PlQ!s>+>7N<{DO$S`Tf1L38acu4%0Dc*e=6GT-l&Lfc-`^ z26*9iYnF_EnEHSO^L%&sJt%0nJ|Y+z9f>gAnu!$phD8ki_s3if8pd8F(4tAvcO9+TYPUU}$spxS81ia^J9+y;9W>7&5+0khTuD+TMxRW*j z+*T`y`g(>xTF1^hYf>r}PYxI(BKcHfRREISphxLlENe>v{YA-0*Z>!6bgLEzQT-3s zMuuV*0M619r(%jDZZlQLTC^=uHj}*Fme9R?=5p(YV|*U~mBT=i~IzwsOgAJUSI+ zkb$__7wuX90CB4VmMG+_3dp{&Minwh01Eqa z`{>+Aq?2!!q+EiT@}QjOBc*@5YO5nA)(tpdpoZjC{{X+eodF?YnV2bX*moKG{-VBh zU<##tKml6t@0-pjfn7k)`Zb|^y|nTpM5fh*YrAN!{eCnY9ITYVO5frYwp<$~`;*eg z9S(sVo=^%4C@qj|8>;DpL<;>h9LM-*nS2~{M0O75B=ei;^fi<1pfalXc^Sh7*rl2_ zBN;uqjysQPq7%-Df>rmbIVxSaHI9|fVf~0TREVUY6d{ErWk?Osk76LEay9aKz{Y0Z)0hV7}W=0M$mECeL83BsY7`d5CW9|5GCH! zS!?P2IMxSDtt7|8_;xm#knS`nQ9hnK_vxC^nrb{Wa(VHvtSW`*P5N<)!MvRjSZ+;% zF&zK~%!~VsW9yv*0&g(Nh!7VC)Z=RofYo31(GVDl)G`7HB!Wur2JBUPe~y|385ibx zhiedbDF&9!o6UPs`smGQ;n5>7&W7muOznG#s{rSMPriB7sf`_^SyY(VxgJ@J3>*s| z`hjDgk$rPVo)dD!s~Ct9Lom8(Cj&KDAE?wvrXLoq;n5u~HfnYRscQDX`<|aV3*p)P zL?uLJx4SS*`iRM+V9*ER^PABd6^b-Ojh|@1QIArOx3}NmnMoy807(fd))FvHFv$YV zduO(IIyDUJi0uJ(5Krax1Jk}h-OzLO(5VRX?9CenIFJ$f*j!5rZ6tWlcCB9Vjc46LQe&d^5${ekxe ztBpagh4Bey1wrN(w2jvP0GHysRz952TS??&8R4=}f@+P6Jm%>0fudOAWu8^@C<`S? zj=3g{1M{5q>_{>~G)X+5NG1j^AJpeFl=u@`Jh-4Im|zK{z%= z9312Qy-Jl4VG$Y76TOF++YZ|Y+=17Q$2FSEDJ*RvDiV~R%+hgJv|@$+wfEFQFt>=m z6(5D%L2F`8!T`Jxa5x1 zRp;M)bBzX`TyGnBK&Xs4B~AuFv+OUW;2v}pq=UmU z6paf;!^}{=#1nUn)+ipi&=+&!NoeN(0LcFUoz~d(09FrQf!d9SL{rPD6KNviWLETG zfY>Mbs=DC&9Yn)fr=t@%iDLk4Ha8lg2RABKrzEB^q?COK7@+X`dfCmE~xtH~M#EQtcUd7qAv?EtXN;Ae3b4fd+Y;(+HMMbLKL)_Azd8<>uZNlCg})IaB;b(NNg!kVRn_2tf^YJEgJwV-b7=Q;lXAQ^N`vocewfWcexnqo2y9N#%Rux~mKG_g!&5VMlzGGAkD z2h(QjEm`L8KKc(t-Wb1$GPy+zguM^Q1zmzY@;LUv8VZ2EDAyS};Jwm|EeSOV*=s9F%MsE`UYEZ1wm9tr(PD#k=(~xykg2oqV-s4$2uxq%LmPI0KLW0B1cl z0-iar%M~gx5=dFD>}P50an#_Q7Xn#!m5LHS4U`oLyLdl;r#x1wr0AY2#F!!qHUJs+ zgSvqfF0Arsb-pwerSRrMENINzz$0%Bn>pw)&~iPr2gGiY*Tj{y1Js_9q#w*|9>X5g zdC+rIjr>!1h}UawM^am8?MCrp^ck5T@f0K7X3B?M#ksI((a8FD&=Kiv%o}SrtwS=J z&8=d|#w!=cCqZR}5f!13qky51!BlUX$OgT^$4)c}Z$@b4ec+DOz zEdB@!usH3-_12_nLSGXg@bQ`AxYU8RR2D`kmdVYIoxQbGd^;H; z5s-kpGX-*?Nf{)Ab zFZKZBXcUamF;xw;f*L=38o=y1B;fPF(PU=~a*_=2kjS(M?mFN6O^pEGO-#3*ipfV%r0 zmCkzJgBg+~1}NMpWBlL+tK%n|{=M{ESp;%M`@kMpYokP28Lqgp1~|}3d{RYC5d_9Y z;y?h
      6kBD-j@n}aRx-hjEaJlV}z$nT#0ajQLOO9Vo*E$&<4Z9xTk*UfQ5-&&9W z8df2k`Zk2vFEv(czI*YiImA9_MqS5XBsmsMj2@O~Xd+1??Tyr;9oAFST;DwVUlsaj zFYyjyQqmHoi(v^M(KIRH25I-=Z)O6?Wet?3I%M{)z#=tzZ2B@E7$;gk|snN;?n+vBf4rhtuDw4%5zm-6I*8~K8KMa%fKNStVW5ig z7W_xv%2{bf7#_XPBG2!j={CQJ^G}IY0NFd*tR8R&_dPk#DAU5ULeAx(=rl!-e%y2) zPEKe_zHhE&q!c|wn?36NkK3-GbkY*>%S6U^fYt_bFQtXfgHz(1jfkbURh5ieRT54t z_4m(f)MliSH0))a*xJ!W&!nCWjCA)Mv!gCDs*=&l!0>-41Fqp*9&7Zx=n^bNk+zip zgS3NJ^U&4vz#{m)2Oko~K^pIE=J$dM+4<*__q^yfjew)(#-{+yw`jATD>Z-DS)*hS zig9CU^hy^E>G-m4^Pk&U8BOKJh{9r_)RJg!JXO;3j)w8070==VPcfA43J5Ad&TNy{ z{_&vQU<%~zQlY=`l>m|~pQpF|XpV_OIdxdbnWFmO8J{{W_RXB;CZ*1#4ZVfk)(y2YEm4UdfoQ3P1aH;H#7 zZo?BqgYDbr^wFlC8^y~JRWo_4< z7xJU#zM6uQ8U~&_W_2E7k51!|a!EIL+vhi+k2E{Po=PNvb64u*RrNi8eHpDHY2&6W zBM*QQE2XY3`g2*VXGEspn48ai%OE=xQ3E4A`i?%`h~pEWuMX@0P)C-7W17n6l0m%P z*IfaEB$^SAMyH;q=3W}>Zz-be><{%@t# z>nyB0PzdFcM+o=;D-w&%5HFAOpxQZ*6qVp+B-oK!tk|+w?L*vs0JPD&{{ZqMTamD# zK?uj^J#UIS0`K^8d2$CVNtFuKH33#gx+jbb`was`jYyVgY;D;nRrG_AX8ANPo}hD} zkxem;%+yF`u%O#8$id0R4_v`N97HaiGZ$h?*pi!UT#( zYdQX6a4l}SaTNkRb7V~N9L-zSwY&Q$VkZ>ZJ3kN$S3RUbyOnpQbiE+ zJUW83Hkul=~+*vZB* z$5E+?m>?&J@rx`o=XJH4BLD&~n!&7KdyO!}lBM#;h^3KKI8>k%lj$}+fjIW#tV0rb zb%lIH5h~tTL;~87aB7WLTw}hfv1BldjJECg^B-{FQ3E^^c^SP0lXR`;`6RSpmJOQ+ zxN7Jx=jOE$vv`MRk^+P%4CRle*Lw}XWD6EEpS_!lgDG}Ro-+WC!$nc)bHK+rCpXW= zm|(;t1TwQoRG%h7D0yUHfxxZZekf^%B&Wj7Iq@?})SSPQcm#JiS| zl_ig`{D^De^QOKF?@Zw_c{!` zN0wng1iMuZ}RE(`V5vrWILn<<|4sT0)h$R&t17U-xZ*- z?uIpmTWc}DQyddO9CB!kfoGsZzkM{(40w$_gV zL1d3pWQ>eswyLur#S6JZP^}}WHaA+FcI4gm#&8*w^O3wnvleB$3QGEx<r}`ii{< z(U_1xlAwqxoy0a;hg+e*8T#Hd8SOx#oCZ)RbW>Glka@m`y>p_oiF_%HtO(A;UeRMD z5>G$x+eW00@bkPRBofHQm=|_xqg}Jf8Rr@*Lh%*y7!yPQs&K$`tkAKV@AnL&@W8n- z<A>dxPb1?-qzQaWI0IlTqLjv%unsZ6tovxwnJ0{aE6Hrc zltKpE6h(fQjGi%CGj5}<)osjJ%0DQv&1Spjt#S7f4Dou@?jWcJHZQd9917?SpRa8i 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%0A{Ym91bzBo0PY5K?L*UCVOyhsUe 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 Z>!9fiH1y$jU9zTVRb*9>ll$mD|Jn0M(Ru&? diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 6deea07465..ec9bc2a298 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -10,20 +10,20 @@ SPDX-License-Identifier: AGPL-3.0-only

    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

    -
    +
    -
    +
    -
    +
    @@ -56,21 +59,21 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    +
    -
    +
    -
    +
    @@ -86,7 +89,7 @@ SPDX-License-Identifier: AGPL-3.0-only
    @@ -116,25 +119,25 @@ SPDX-License-Identifier: AGPL-3.0-only
    - - - - - + + + + +
    - - - - - + + + + +
    - - - - - + + + + +
    @@ -190,7 +193,7 @@ const isMyTurn = computed(() => { }); const canHora = computed(() => { - return Mahjong.Utils.getHoraSets(engine.value.myHandTiles).length > 0; + return Mahjong.Common.getHoraSets(engine.value.myHandTiles).length > 0; }); const selectableTiles = ref(null); @@ -201,7 +204,7 @@ const kanSerifHouses = reactive>({ e: fals const tsumoSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); /* -console.log(Mahjong.Utils.getTilesForRiichi([ +console.log(Mahjong.Common.getTilesForRiichi([ 'm1', 'm2', 'm2', @@ -219,7 +222,7 @@ console.log(Mahjong.Utils.getTilesForRiichi([ ])); */ /* -console.log(Mahjong.Utils.getHoraSets([ +console.log(Mahjong.Common.getHoraSets([ 'm3', 'm3', 'm4', @@ -298,8 +301,8 @@ function riichi() { if (!isMyTurn.value) return; riichiSelect = true; - selectableTiles.value = Mahjong.Utils.getTilesForRiichi(engine.value.myHandTiles); - console.log(Mahjong.Utils.getTilesForRiichi(engine.value.myHandTiles)); + selectableTiles.value = Mahjong.Common.getTilesForRiichi(engine.value.myHandTiles); + console.log(Mahjong.Common.getTilesForRiichi(engine.value.myHandTiles)); } function kakan() { @@ -403,10 +406,10 @@ function onStreamDahaiAndTsumo(log) { triggerRef(engine); window.setTimeout(() => { - engine.value.commit_tsumo(Mahjong.Utils.nextHouse(log.dahaiHouse), log.tsumoTile); + engine.value.commit_tsumo(Mahjong.Common.nextHouse(log.dahaiHouse), log.tsumoTile); triggerRef(engine); - if (Mahjong.Utils.nextHouse(log.dahaiHouse) === engine.value.myHouse) { + if (Mahjong.Common.nextHouse(log.dahaiHouse) === engine.value.myHouse) { iTsumoed.value = true; } }, 100); diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 52de43f39b..27c2276ad4 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -360,3 +360,249 @@ export function calcTsumoHoraPointDeltas(house: House, fans: number): Record { + const aIndex = TILE_TYPES.indexOf(a); + const bIndex = TILE_TYPES.indexOf(b); + return aIndex - bIndex; + }); + return tiles; +} + +export function nextHouse(house: House): House { + switch (house) { + case 'e': return 's'; + case 's': return 'w'; + case 'w': return 'n'; + case 'n': return 'e'; + default: throw new Error(`unrecognized house: ${house}`); + } +} + +export function prevHouse(house: House): House { + switch (house) { + case 'e': return 'n'; + case 's': return 'e'; + case 'w': return 's'; + case 'n': return 'w'; + default: throw new Error(`unrecognized house: ${house}`); + } +} + +type HoraSet = { + head: Tile; + mentsus: [Tile, Tile, Tile][]; +}; + +export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ + ['m1', 'm2', 'm3'], + ['m2', 'm3', 'm4'], + ['m3', 'm4', 'm5'], + ['m4', 'm5', 'm6'], + ['m5', 'm6', 'm7'], + ['m6', 'm7', 'm8'], + ['m7', 'm8', 'm9'], + ['p1', 'p2', 'p3'], + ['p2', 'p3', 'p4'], + ['p3', 'p4', 'p5'], + ['p4', 'p5', 'p6'], + ['p5', 'p6', 'p7'], + ['p6', 'p7', 'p8'], + ['p7', 'p8', 'p9'], + ['s1', 's2', 's3'], + ['s2', 's3', 's4'], + ['s3', 's4', 's5'], + ['s4', 's5', 's6'], + ['s5', 's6', 's7'], + ['s6', 's7', 's8'], + ['s7', 's8', 's9'], +]; + +const SHUNTU_PATTERN_IDS = [ + 'm123', + 'm234', + 'm345', + 'm456', + 'm567', + 'm678', + 'm789', + 'p123', + 'p234', + 'p345', + 'p456', + 'p567', + 'p678', + 'p789', + 's123', + 's234', + 's345', + 's456', + 's567', + 's678', + 's789', +] as const; + +/** + * アガリ形パターン一覧を取得 + * @param handTiles ポン、チー、カンした牌を含まない手牌 + * @returns + */ +export function getHoraSets(handTiles: Tile[]): HoraSet[] { + const horaSets: HoraSet[] = []; + + const headSet: Tile[] = []; + const countMap = new Map(); + for (const tile of handTiles) { + const count = (countMap.get(tile) ?? 0) + 1; + countMap.set(tile, count); + if (count === 2) { + headSet.push(tile); + } + } + + for (const head of headSet) { + const tempHandTiles = [...handTiles]; + tempHandTiles.splice(tempHandTiles.indexOf(head), 1); + tempHandTiles.splice(tempHandTiles.indexOf(head), 1); + + const kotsuTileSet: Tile[] = []; // インデックスアクセスしたいため配列だが実態はSet + for (const [t, c] of countMap.entries()) { + if (t === head) continue; // 同じ牌種は4枚しかないので、頭と同じ牌種は刻子になりえない + if (c >= 3) { + kotsuTileSet.push(t); + } + } + + let kotsuPatterns: Tile[][]; + if (kotsuTileSet.length === 0) { + kotsuPatterns = [ + [], + ]; + } else if (kotsuTileSet.length === 1) { + kotsuPatterns = [ + [], + [kotsuTileSet[0]], + ]; + } else if (kotsuTileSet.length === 2) { + kotsuPatterns = [ + [], + [kotsuTileSet[0]], + [kotsuTileSet[1]], + [kotsuTileSet[0], kotsuTileSet[1]], + ]; + } else if (kotsuTileSet.length === 3) { + kotsuPatterns = [ + [], + [kotsuTileSet[0]], + [kotsuTileSet[1]], + [kotsuTileSet[2]], + [kotsuTileSet[0], kotsuTileSet[1]], + [kotsuTileSet[0], kotsuTileSet[2]], + [kotsuTileSet[1], kotsuTileSet[2]], + [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[2]], + ]; + } else if (kotsuTileSet.length === 4) { + kotsuPatterns = [ + [], + [kotsuTileSet[0]], + [kotsuTileSet[1]], + [kotsuTileSet[2]], + [kotsuTileSet[3]], + [kotsuTileSet[0], kotsuTileSet[1]], + [kotsuTileSet[0], kotsuTileSet[2]], + [kotsuTileSet[0], kotsuTileSet[3]], + [kotsuTileSet[1], kotsuTileSet[2]], + [kotsuTileSet[1], kotsuTileSet[3]], + [kotsuTileSet[2], kotsuTileSet[3]], + [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[2]], + [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[3]], + [kotsuTileSet[0], kotsuTileSet[2], kotsuTileSet[3]], + [kotsuTileSet[1], kotsuTileSet[2], kotsuTileSet[3]], + [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[2], kotsuTileSet[3]], + ]; + } else { + throw new Error('arienai'); + } + + for (const kotsuPattern of kotsuPatterns) { + const tempHandTilesWithoutKotsu = [...tempHandTiles]; + for (const kotsuTile of kotsuPattern) { + tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); + tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); + tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); + } + + tempHandTilesWithoutKotsu.sort((a, b) => { + const aIndex = TILE_TYPES.indexOf(a); + const bIndex = TILE_TYPES.indexOf(b); + return aIndex - bIndex; + }); + + const tempHandTilesWithoutKotsuAndShuntsu: (Tile | null)[] = [...tempHandTilesWithoutKotsu]; + + const shuntsus: [Tile, Tile, Tile][] = []; + while (tempHandTilesWithoutKotsuAndShuntsu.length > 0) { + let isShuntu = false; + for (const shuntuPattern of SHUNTU_PATTERNS) { + if ( + tempHandTilesWithoutKotsuAndShuntsu[0] === shuntuPattern[0] && + tempHandTilesWithoutKotsuAndShuntsu.includes(shuntuPattern[1]) && + tempHandTilesWithoutKotsuAndShuntsu.includes(shuntuPattern[2]) + ) { + shuntsus.push(shuntuPattern); + tempHandTilesWithoutKotsuAndShuntsu.splice(0, 1); + tempHandTilesWithoutKotsuAndShuntsu.splice(tempHandTilesWithoutKotsuAndShuntsu.indexOf(shuntuPattern[1]), 1); + tempHandTilesWithoutKotsuAndShuntsu.splice(tempHandTilesWithoutKotsuAndShuntsu.indexOf(shuntuPattern[2]), 1); + isShuntu = true; + break; + } + } + + if (!isShuntu) tempHandTilesWithoutKotsuAndShuntsu.splice(0, 1); + } + + if (shuntsus.length * 3 === tempHandTilesWithoutKotsu.length) { // アガリ形 + horaSets.push({ + head, + mentsus: [...kotsuPattern.map(t => [t, t, t] as [Tile, Tile, Tile]), ...shuntsus], + }); + } + } + } + + return horaSets; +} + +/** + * アガリ牌リストを取得 + * @param handTiles ポン、チー、カンした牌を含まない手牌 + */ +export function getHoraTiles(handTiles: Tile[]): Tile[] { + return TILE_TYPES.filter(tile => { + const tempHandTiles = [...handTiles, tile]; + const horaSets = getHoraSets(tempHandTiles); + return horaSets.length > 0; + }); +} + +// TODO: 国士無双判定関数 + +// TODO: 七対子判定関数 + +export function getTilesForRiichi(handTiles: Tile[]): Tile[] { + return handTiles.filter(tile => { + const tempHandTiles = [...handTiles]; + tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); + const horaTiles = getHoraTiles(tempHandTiles); + return horaTiles.length > 0; + }); +} + +export function nextTileForDora(tile: Tile): Tile { + return NEXT_TILE_FOR_DORA_MAP[tile]; +} diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 8f331a1f3d..26707bfb65 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -6,7 +6,6 @@ import CRC32 from 'crc-32'; import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; import * as Common from './common.js'; -import * as Utils from './utils.js'; import { PlayerState } from './engine.player.js'; export type MasterState = { @@ -116,7 +115,7 @@ export class MasterGameEngine { } public get doras(): Tile[] { - return this.state.kingTiles.slice(0, this.state.activatedDorasCount).map(t => Utils.nextTileForDora(t)); + return this.state.kingTiles.slice(0, this.state.activatedDorasCount).map(t => Common.nextTileForDora(t)); } public static createInitialState(): MasterState { @@ -199,7 +198,7 @@ export class MasterGameEngine { // TODO: ポンされるなどして自分の河にない場合の考慮 if (this.state.hoTiles[house].includes(tile)) return false; - const horaSets = Utils.getHoraSets(this.state.handTiles[house].concat(tile)); + const horaSets = Common.getHoraSets(this.state.handTiles[house].concat(tile)); if (horaSets.length === 0) return false; // 完成形じゃない // TODO @@ -213,8 +212,12 @@ export class MasterGameEngine { return this.state.handTiles[house].filter(t => t === tile).length === 2; } - private canCii(house: House, tile: Tile): boolean { - // TODO + private canCii(caller: House, callee: House, tile: Tile): boolean { + if (callee !== Common.prevHouse(caller)) return false; + const hand = this.state.handTiles[caller]; + return Common.SHUNTU_PATTERNS.some(pattern => + pattern.includes(tile) && + pattern.filter(t => hand.includes(t)).length >= 2); } public getHouse(index: 1 | 2 | 3 | 4): House { @@ -266,7 +269,7 @@ export class MasterGameEngine { if (riichi) { const tempHandTiles = [...this.state.handTiles[house]]; tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); - if (Utils.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); + if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); if (this.state.points[house] < 1000) throw new Error('Not enough points'); } @@ -360,7 +363,7 @@ export class MasterGameEngine { }; } this.state.turn = null; - this.state.nextTurnAfterAsking = Utils.nextHouse(house); + this.state.nextTurnAfterAsking = Common.nextHouse(house); return { asking: true as const, canRonHouses: canRonHouses, @@ -370,7 +373,7 @@ export class MasterGameEngine { }; } - this.state.turn = Utils.nextHouse(house); + this.state.turn = Common.nextHouse(house); const tsumoTile = this.tsumo(); diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 971fe384b2..0f6d86b874 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -6,7 +6,6 @@ import CRC32 from 'crc-32'; import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; import * as Common from './common.js'; -import * as Utils from './utils.js'; export type PlayerState = { user1House: House; @@ -97,7 +96,7 @@ export class PlayerGameEngine { } public get doras(): Tile[] { - return this.state.doraIndicateTiles.map(t => Utils.nextTileForDora(t)); + return this.state.doraIndicateTiles.map(t => Common.nextTileForDora(t)); } public commit_tsumo(house: House, tile: Tile) { @@ -131,7 +130,7 @@ export class PlayerGameEngine { if (house === this.myHouse) { } else { - const canRon = Utils.getHoraSets(this.myHandTiles.concat(tile)).length > 0; + const canRon = Common.getHoraSets(this.myHandTiles.concat(tile)).length > 0; const canPon = this.myHandTiles.filter(t => t === tile).length === 2; // TODO: canCii @@ -243,7 +242,7 @@ export class PlayerGameEngine { if (this.state.riichis[this.myHouse]) return false; if (this.state.points[this.myHouse] < 1000) return false; if (!this.isMenzen) return false; - if (Utils.getTilesForRiichi(this.myHandTiles).length === 0) return false; + if (Common.getTilesForRiichi(this.myHandTiles).length === 0) return false; return true; } } diff --git a/packages/misskey-mahjong/src/index.ts b/packages/misskey-mahjong/src/index.ts index 305aa56750..2bf313eccf 100644 --- a/packages/misskey-mahjong/src/index.ts +++ b/packages/misskey-mahjong/src/index.ts @@ -5,7 +5,6 @@ export * as Serializer from './serializer.js'; export * as Common from './common.js'; -export * as Utils from './utils.js'; export { MasterGameEngine } from './engine.master.js'; export type { MasterState } from './engine.master.js'; diff --git a/packages/misskey-mahjong/src/serializer.ts b/packages/misskey-mahjong/src/serializer.ts index 6bf1417d28..12b249880d 100644 --- a/packages/misskey-mahjong/src/serializer.ts +++ b/packages/misskey-mahjong/src/serializer.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { Tile } from './engine.player.js'; +import { Tile } from './common.js'; export type Log = { time: number; diff --git a/packages/misskey-mahjong/src/utils.ts b/packages/misskey-mahjong/src/utils.ts deleted file mode 100644 index 5e356b06fd..0000000000 --- a/packages/misskey-mahjong/src/utils.ts +++ /dev/null @@ -1,248 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and other misskey contributors - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import { House, NEXT_TILE_FOR_DORA_MAP, TILE_TYPES, Tile } from './common.js'; - -export function isTile(tile: string): tile is Tile { - return TILE_TYPES.includes(tile as Tile); -} - -export function sortTiles(tiles: Tile[]): Tile[] { - tiles.sort((a, b) => { - const aIndex = TILE_TYPES.indexOf(a); - const bIndex = TILE_TYPES.indexOf(b); - return aIndex - bIndex; - }); - return tiles; -} - -export function nextHouse(house: House): House { - switch (house) { - case 'e': return 's'; - case 's': return 'w'; - case 'w': return 'n'; - case 'n': return 'e'; - default: throw new Error(`unrecognized house: ${house}`); - } -} - -export function prevHouse(house: House): House { - switch (house) { - case 'e': return 'n'; - case 's': return 'e'; - case 'w': return 's'; - case 'n': return 'w'; - default: throw new Error(`unrecognized house: ${house}`); - } -} - -type HoraSet = { - head: Tile; - mentsus: [Tile, Tile, Tile][]; -}; - -export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ - ['m1', 'm2', 'm3'], - ['m2', 'm3', 'm4'], - ['m3', 'm4', 'm5'], - ['m4', 'm5', 'm6'], - ['m5', 'm6', 'm7'], - ['m6', 'm7', 'm8'], - ['m7', 'm8', 'm9'], - ['p1', 'p2', 'p3'], - ['p2', 'p3', 'p4'], - ['p3', 'p4', 'p5'], - ['p4', 'p5', 'p6'], - ['p5', 'p6', 'p7'], - ['p6', 'p7', 'p8'], - ['p7', 'p8', 'p9'], - ['s1', 's2', 's3'], - ['s2', 's3', 's4'], - ['s3', 's4', 's5'], - ['s4', 's5', 's6'], - ['s5', 's6', 's7'], - ['s6', 's7', 's8'], - ['s7', 's8', 's9'], -]; - -const SHUNTU_PATTERN_IDS = [ - 'm123', - 'm234', - 'm345', - 'm456', - 'm567', - 'm678', - 'm789', - 'p123', - 'p234', - 'p345', - 'p456', - 'p567', - 'p678', - 'p789', - 's123', - 's234', - 's345', - 's456', - 's567', - 's678', - 's789', -] as const; - -/** - * アガリ形パターン一覧を取得 - * @param handTiles ポン、チー、カンした牌を含まない手牌 - * @returns - */ -export function getHoraSets(handTiles: Tile[]): HoraSet[] { - const horaSets: HoraSet[] = []; - - const headSet: Tile[] = []; - const countMap = new Map(); - for (const tile of handTiles) { - const count = (countMap.get(tile) ?? 0) + 1; - countMap.set(tile, count); - if (count === 2) { - headSet.push(tile); - } - } - - for (const head of headSet) { - const tempHandTiles = [...handTiles]; - tempHandTiles.splice(tempHandTiles.indexOf(head), 1); - tempHandTiles.splice(tempHandTiles.indexOf(head), 1); - - const kotsuTileSet: Tile[] = []; // インデックスアクセスしたいため配列だが実態はSet - for (const [t, c] of countMap.entries()) { - if (t === head) continue; // 同じ牌種は4枚しかないので、頭と同じ牌種は刻子になりえない - if (c >= 3) { - kotsuTileSet.push(t); - } - } - - let kotsuPatterns: Tile[][]; - if (kotsuTileSet.length === 0) { - kotsuPatterns = [ - [], - ]; - } else if (kotsuTileSet.length === 1) { - kotsuPatterns = [ - [], - [kotsuTileSet[0]], - ]; - } else if (kotsuTileSet.length === 2) { - kotsuPatterns = [ - [], - [kotsuTileSet[0]], - [kotsuTileSet[1]], - [kotsuTileSet[0], kotsuTileSet[1]], - ]; - } else if (kotsuTileSet.length === 3) { - kotsuPatterns = [ - [], - [kotsuTileSet[0]], - [kotsuTileSet[1]], - [kotsuTileSet[2]], - [kotsuTileSet[0], kotsuTileSet[1]], - [kotsuTileSet[0], kotsuTileSet[2]], - [kotsuTileSet[1], kotsuTileSet[2]], - [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[2]], - ]; - } else if (kotsuTileSet.length === 4) { - kotsuPatterns = [ - [], - [kotsuTileSet[0]], - [kotsuTileSet[1]], - [kotsuTileSet[2]], - [kotsuTileSet[3]], - [kotsuTileSet[0], kotsuTileSet[1]], - [kotsuTileSet[0], kotsuTileSet[2]], - [kotsuTileSet[0], kotsuTileSet[3]], - [kotsuTileSet[1], kotsuTileSet[2]], - [kotsuTileSet[1], kotsuTileSet[3]], - [kotsuTileSet[2], kotsuTileSet[3]], - [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[2]], - [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[3]], - [kotsuTileSet[0], kotsuTileSet[2], kotsuTileSet[3]], - [kotsuTileSet[1], kotsuTileSet[2], kotsuTileSet[3]], - [kotsuTileSet[0], kotsuTileSet[1], kotsuTileSet[2], kotsuTileSet[3]], - ]; - } else { - throw new Error('arienai'); - } - - for (const kotsuPattern of kotsuPatterns) { - const tempHandTilesWithoutKotsu = [...tempHandTiles]; - for (const kotsuTile of kotsuPattern) { - tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); - tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); - tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); - } - - tempHandTilesWithoutKotsu.sort((a, b) => { - const aIndex = TILE_TYPES.indexOf(a); - const bIndex = TILE_TYPES.indexOf(b); - return aIndex - bIndex; - }); - - const tempHandTilesWithoutKotsuAndShuntsu: (Tile | null)[] = [...tempHandTilesWithoutKotsu]; - - const shuntsus: [Tile, Tile, Tile][] = []; - while (tempHandTilesWithoutKotsuAndShuntsu.length > 0) { - let isShuntu = false; - for (const shuntuPattern of SHUNTU_PATTERNS) { - if ( - tempHandTilesWithoutKotsuAndShuntsu[0] === shuntuPattern[0] && - tempHandTilesWithoutKotsuAndShuntsu.includes(shuntuPattern[1]) && - tempHandTilesWithoutKotsuAndShuntsu.includes(shuntuPattern[2]) - ) { - shuntsus.push(shuntuPattern); - tempHandTilesWithoutKotsuAndShuntsu.splice(0, 1); - tempHandTilesWithoutKotsuAndShuntsu.splice(tempHandTilesWithoutKotsuAndShuntsu.indexOf(shuntuPattern[1]), 1); - tempHandTilesWithoutKotsuAndShuntsu.splice(tempHandTilesWithoutKotsuAndShuntsu.indexOf(shuntuPattern[2]), 1); - isShuntu = true; - break; - } - } - - if (!isShuntu) tempHandTilesWithoutKotsuAndShuntsu.splice(0, 1); - } - - if (shuntsus.length * 3 === tempHandTilesWithoutKotsu.length) { // アガリ形 - horaSets.push({ - head, - mentsus: [...kotsuPattern.map(t => [t, t, t] as [Tile, Tile, Tile]), ...shuntsus], - }); - } - } - } - - return horaSets; -} - -/** - * アガリ牌リストを取得 - * @param handTiles ポン、チー、カンした牌を含まない手牌 - */ -export function getHoraTiles(handTiles: Tile[]): Tile[] { - return TILE_TYPES.filter(tile => { - const tempHandTiles = [...handTiles, tile]; - const horaSets = getHoraSets(tempHandTiles); - return horaSets.length > 0; - }); -} - -export function getTilesForRiichi(handTiles: Tile[]): Tile[] { - return handTiles.filter(tile => { - const tempHandTiles = [...handTiles]; - tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); - const horaTiles = getHoraTiles(tempHandTiles); - return horaTiles.length > 0; - }); -} - -export function nextTileForDora(tile: Tile): Tile { - return NEXT_TILE_FOR_DORA_MAP[tile]; -} From 2dd886e2853b98dd69abb1f4ca1deacfbdf98595 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 3 Feb 2024 13:52:13 +0900 Subject: [PATCH 26/64] wip --- .../backend/src/core/GlobalEventService.ts | 2 + packages/backend/src/core/MahjongService.ts | 38 ++-- packages/frontend/assets/mahjong/riichi.png | Bin 0 -> 65518 bytes packages/frontend/assets/mahjong/ron.png | Bin 50428 -> 50519 bytes packages/frontend/assets/mahjong/tsumo.png | Bin 58370 -> 58368 bytes packages/frontend/src/pages/mahjong/huro.vue | 46 ++++ .../frontend/src/pages/mahjong/room.game.vue | 206 ++++++++++++++---- packages/misskey-mahjong/src/common.ts | 121 +++++----- packages/misskey-mahjong/src/engine.master.ts | 6 + packages/misskey-mahjong/src/engine.player.ts | 65 ++++-- 10 files changed, 351 insertions(+), 133 deletions(-) create mode 100644 packages/frontend/assets/mahjong/riichi.png create mode 100644 packages/frontend/src/pages/mahjong/huro.vue diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index 0fd9bf6bb0..a93dd5e274 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -215,11 +215,13 @@ export interface MahjongRoomEventTypes { dahai: { house: Mahjong.Common.House; tile: Mahjong.Common.Tile; + riichi: boolean; }; dahaiAndTsumo: { dahaiHouse: Mahjong.Common.House; dahaiTile: Mahjong.Common.Tile; tsumoTile: Mahjong.Common.Tile; + riichi: boolean; }; ponned: { caller: Mahjong.Common.House; diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 0120b36e8a..5903284b6e 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -26,7 +26,7 @@ import { ReversiGameEntityService } from './entities/ReversiGameEntityService.js import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; const INVITATION_TIMEOUT_MS = 1000 * 20; // 20sec -const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 5; // 5sec +const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 7; // 7sec const TURN_TIMEOUT_MS = 1000 * 30; // 30sec const NEXT_KYOKU_CONFIRMATION_TIMEOUT_MS = 1000 * 15; // 15sec @@ -318,7 +318,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { switch (res.type) { case 'tsumo': this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); - this.next(room, engine); + this.waitForTurn(room, res.turn, engine); break; case 'ponned': this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tile: res.tile }); @@ -349,23 +349,6 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } } - @bindThis - private async next(room: Room, engine: Mahjong.MasterGameEngine) { - const turn = engine.state.turn; - if (turn == null) throw new Error('turn is null'); - - const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); - - if (aiHouses.includes(turn)) { - // TODO: ちゃんと思考するようにする - setTimeout(() => { - this.dahai(room, engine, turn, engine.state.handTiles[turn].at(-1)); - }, 500); - } else { - this.waitForTurn(room, turn, engine); - } - } - @bindThis private async endKyoku(room: Room, engine: Mahjong.MasterGameEngine) { const confirmation: NextKyokuConfirmation = { @@ -469,11 +452,11 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } }, 1000); - this.globalEventService.publishMahjongRoomStream(room.id, 'dahai', { house: house, tile }); + this.globalEventService.publishMahjongRoomStream(room.id, 'dahai', { house: house, tile, riichi }); } else { - this.globalEventService.publishMahjongRoomStream(room.id, 'dahaiAndTsumo', { dahaiHouse: house, dahaiTile: tile, tsumoTile: res.tsumoTile }); + this.globalEventService.publishMahjongRoomStream(room.id, 'dahaiAndTsumo', { dahaiHouse: house, dahaiTile: tile, tsumoTile: res.tsumoTile, riichi }); - this.next(room, engine); + this.waitForTurn(room, res.next, engine); } } @@ -556,7 +539,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const res = engine.commit_tsumoHora(myHouse); - this.globalEventService.publishMahjongRoomStream(room.id, 'tsumoHora', { }); + this.globalEventService.publishMahjongRoomStream(room.id, 'tsumoHora', { house: myHouse, handTiles: res.handTiles, tsumoTile: res.tsumoTile }); } @bindThis @@ -624,6 +607,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { */ @bindThis private async waitForTurn(room: Room, house: Mahjong.Common.House, engine: Mahjong.MasterGameEngine) { + const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + if (engine.state.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り const handTiles = engine.state.handTiles[house]; @@ -636,6 +621,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } } + if (aiHouses.includes(house)) { + setTimeout(() => { + this.dahai(room, engine, house, engine.state.handTiles[house].at(-1)); + }, 500); + return; + } + const id = Math.random().toString(36).slice(2); console.log('waitForTurn', house, id); this.redisClient.sadd(`mahjong:gameTurnWaiting:${room.id}`, id); diff --git a/packages/frontend/assets/mahjong/riichi.png b/packages/frontend/assets/mahjong/riichi.png new file mode 100644 index 0000000000000000000000000000000000000000..2860f5dc655d45d64e94eed97df44d6a46b06acb GIT binary patch literal 65518 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/ron.png b/packages/frontend/assets/mahjong/ron.png index 6e1f889865e649e116fe535865b80e1ed4242e69..c508f81adbd9232f3a95f92c5abe508e96fb2f8d 100644 GIT binary patch literal 50519 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

    ogiIKEw%PVvF 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ⅇ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

  1. ^vOw&7b5ZoPi6e>MO!ImINT^R|7gkdtN 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 diff --git a/packages/frontend/src/pages/mahjong/huro.vue b/packages/frontend/src/pages/mahjong/huro.vue new file mode 100644 index 0000000000..1eaa5971f1 --- /dev/null +++ b/packages/frontend/src/pages/mahjong/huro.vue @@ -0,0 +1,46 @@ + + + + + + + diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index ec9bc2a298..c44b708685 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -56,6 +56,22 @@ SPDX-License-Identifier: AGPL-3.0-only

  2. +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    @@ -107,44 +123,66 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    -
    -
    - - - -
    -
    -
    -
    - - - - - + + + + + + + +
    - - - - - + + + + + + + +
    - - - - - + + + + + + + +
    - - - - - + + + + + + + +
    @@ -156,6 +194,18 @@ SPDX-License-Identifier: AGPL-3.0-only Riichi
    +
    +
    +
    +
    {{ house === 'e' ? i18n.ts._mahjong.east : house === 's' ? i18n.ts._mahjong.south : house === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }}
    +
    +
    {{ yaku.name }} ({{ yaku.fan }})
    +
    +
    {{ res.doraCount }} dora
    +
    {{ res.pointDeltas.e }} / {{ res.pointDeltas.s }} / {{ res.pointDeltas.w }} / {{ res.pointDeltas.n }}
    +
    +
    +
    @@ -164,6 +214,7 @@ import { computed, onActivated, onDeactivated, onMounted, onUnmounted, reactive, import * as Misskey from 'misskey-js'; import * as Mahjong from 'misskey-mahjong'; import XTile from './tile.vue'; +import XHuro from './huro.vue'; import MkButton from '@/components/MkButton.vue'; import MkFolder from '@/components/MkFolder.vue'; import MkSwitch from '@/components/MkSwitch.vue'; @@ -202,6 +253,7 @@ const ciiSerifHouses = reactive>({ e: fals const ponSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); const kanSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); const tsumoSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const riichiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); /* console.log(Mahjong.Common.getTilesForRiichi([ @@ -338,6 +390,19 @@ function skip() { const iTsumoed = ref(false); const kyokuEnded = ref(false); +const kyokuResults = ref; +} | null>>({ + e: null, + s: null, + w: null, + n: null, +}); function kyokuEnd() { kyokuEnded.value = true; @@ -359,9 +424,14 @@ function onStreamDahai(log) { // return; //} - engine.value.commit_dahai(log.house, log.tile); + engine.value.commit_dahai(log.house, log.tile, log.riichi); triggerRef(engine); + riichiSerifHouses[log.house] = log.riichi; + window.setTimeout(() => { + riichiSerifHouses[log.house] = false; + }, 2000); + myTurnTimerRmain.value = room.value.timeLimitForEachTurn; } @@ -402,9 +472,14 @@ function onStreamDahaiAndTsumo(log) { playbackRate: 1, }); - engine.value.commit_dahai(log.dahaiHouse, log.dahaiTile); + engine.value.commit_dahai(log.dahaiHouse, log.dahaiTile, log.riichi); triggerRef(engine); + riichiSerifHouses[log.dahaiHouse] = log.riichi; + window.setTimeout(() => { + riichiSerifHouses[log.dahaiHouse] = false; + }, 2000); + window.setTimeout(() => { engine.value.commit_tsumo(Mahjong.Common.nextHouse(log.dahaiHouse), log.tsumoTile); triggerRef(engine); @@ -431,9 +506,9 @@ function onStreamPonned(log) { engine.value.commit_pon(log.caller, log.callee); triggerRef(engine); - ponSerifHouses[log.house] = true; + ponSerifHouses[log.caller] = true; window.setTimeout(() => { - ponSerifHouses[log.house] = false; + ponSerifHouses[log.caller] = false; }, 2000); myTurnTimerRmain.value = room.value.timeLimitForEachTurn; @@ -442,21 +517,31 @@ function onStreamPonned(log) { function onStreamRonned(log) { console.log('onStreamRonned', log); - engine.value.commit_ronHora(log.callers, log.callee, log.handTiles); + const res = engine.value.commit_ronHora(log.callers, log.callee, log.handTiles); triggerRef(engine); + kyokuResults.value = res; + kyokuEnded.value = true; + for (const caller of log.callers) { ronSerifHouses[caller] = true; } + + console.log('ronned', res); } function onStreamTsumoHora(log) { console.log('onStreamTsumoHora', log); + const res = engine.value.commit_tsumoHora(log.house, log.handTiles, log.tsumoTile); + triggerRef(engine); + + kyokuResults.value[log.house] = res; + kyokuEnded.value = true; + tsumoSerifHouses[log.house] = true; - engine.value.commit_tsumoHora(); - triggerRef(engine); + console.log('tsumohora', res); } function restoreRoom(_room) { @@ -516,6 +601,18 @@ onUnmounted(() => { 100% { translate: -130px; } } +.transition_serif_enterActive, +.transition_serif_leaveActive { + transition: opacity 0.1s linear, scale 0.1s linear; +} +.transition_serif_enterFrom { + scale: 1.25; + opacity: 0; +} +.transition_serif_leaveTo { + opacity: 0; +} + .root { background: #3C7A43; background-image: url('/client-assets/mahjong/bg.jpg'); @@ -535,6 +632,22 @@ onUnmounted(() => { box-sizing: border-box; } +.kyokuResult { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1000; + width: 100%; + height: 100%; + max-width: 800px; + margin: auto; + box-sizing: border-box; + background: #0009; + color: #fff; +} + .centerPanel { position: absolute; top: 0; @@ -634,6 +747,24 @@ onUnmounted(() => { right: 80px; } +.huroTilesOfToimen { + position: absolute; + top: 0; + left: 80px; +} + +.huroTilesOfKamitya { + position: absolute; + top: 80px; + left: 0; +} + +.huroTilesOfSimotya { + position: absolute; + top: 80px; + right: 0; +} + .hoTilesContainer { position: absolute; top: 0; @@ -766,6 +897,7 @@ onUnmounted(() => { aspect-ratio: 0.7; transition: translate 0.1s ease; cursor: pointer; + overflow: clip; } .myTile:hover { translate: 0 -10px; diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 27c2276ad4..d696dea0fb 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -158,7 +158,7 @@ type EnvForCalcYaku = { house: House; /** - * 和了る人の手牌(副露した牌は含まない) + * 和了る人の手牌(副露牌および和了る際のツモ牌・ロン牌は含まない) */ handTiles: Tile[]; @@ -214,6 +214,12 @@ export const YAKU_DEFINITIONS = [{ calc: (state: EnvForCalcYaku) => { return state.riichi; }, +}, { + name: 'tsumo', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.tsumoTile != null; + }, }, { name: 'red', fan: 1, @@ -272,7 +278,7 @@ export const YAKU_DEFINITIONS = [{ calc: (state: EnvForCalcYaku) => { const yaochuTiles: Tile[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; return ( - (state.handTiles.filter(t => yaochuTiles.includes(t)).length === 0) && + (!state.handTiles.some(t => yaochuTiles.includes(t))) && (state.huros.filter(huro => huro.type === 'pon' ? yaochuTiles.includes(huro.tile) : huro.type === 'ankan' ? yaochuTiles.includes(huro.tile) : @@ -281,6 +287,27 @@ export const YAKU_DEFINITIONS = [{ false).length === 0) ); }, +}, { + name: 'pinfu', + fan: 1, + calc: (state: EnvForCalcYaku) => { + // 面前じゃないとダメ + if (state.huros.length !== 0) return false; + // 三元牌はダメ + if (state.handTiles.some(t => ['haku', 'hatsu', 'chun'].includes(t))) return false; + + // TODO: 両面待ちかどうか + + const horaSets = getHoraSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + return horaSets.some(horaSet => { + // 風牌判定(役牌でなければOK) + if (horaSet.head === state.seatWind) return false; + if (horaSet.head === state.fieldWind) return false; + + // 全て順子か? + if (horaSet.mentsus.some((mentsu) => mentsu[0] === mentsu[1])) return false; + }); + }, }]; export function fanToPoint(fan: number, isParent: boolean): number { @@ -423,29 +450,44 @@ export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ ['s7', 's8', 's9'], ]; -const SHUNTU_PATTERN_IDS = [ - 'm123', - 'm234', - 'm345', - 'm456', - 'm567', - 'm678', - 'm789', - 'p123', - 'p234', - 'p345', - 'p456', - 'p567', - 'p678', - 'p789', - 's123', - 's234', - 's345', - 's456', - 's567', - 's678', - 's789', -] as const; +export type KyokuResult = { + yakus: { name: string; fan: number; }[]; + doraCount: number; + pointDeltas: { e: number; s: number; w: number; n: number; }; +}; + +function extractShuntsus(tiles: Tile[]): [Tile, Tile, Tile][] { + const tempTiles = [...tiles]; + + tempTiles.sort((a, b) => { + const aIndex = TILE_TYPES.indexOf(a); + const bIndex = TILE_TYPES.indexOf(b); + return aIndex - bIndex; + }); + + const shuntsus: [Tile, Tile, Tile][] = []; + while (tempTiles.length > 0) { + let isShuntu = false; + for (const shuntuPattern of SHUNTU_PATTERNS) { + if ( + tempTiles[0] === shuntuPattern[0] && + tempTiles.includes(shuntuPattern[1]) && + tempTiles.includes(shuntuPattern[2]) + ) { + shuntsus.push(shuntuPattern); + tempTiles.splice(0, 1); + tempTiles.splice(tempTiles.indexOf(shuntuPattern[1]), 1); + tempTiles.splice(tempTiles.indexOf(shuntuPattern[2]), 1); + isShuntu = true; + break; + } + } + + if (!isShuntu) tempTiles.splice(0, 1); + } + + return shuntsus; +} /** * アガリ形パターン一覧を取得 @@ -537,34 +579,7 @@ export function getHoraSets(handTiles: Tile[]): HoraSet[] { tempHandTilesWithoutKotsu.splice(tempHandTilesWithoutKotsu.indexOf(kotsuTile), 1); } - tempHandTilesWithoutKotsu.sort((a, b) => { - const aIndex = TILE_TYPES.indexOf(a); - const bIndex = TILE_TYPES.indexOf(b); - return aIndex - bIndex; - }); - - const tempHandTilesWithoutKotsuAndShuntsu: (Tile | null)[] = [...tempHandTilesWithoutKotsu]; - - const shuntsus: [Tile, Tile, Tile][] = []; - while (tempHandTilesWithoutKotsuAndShuntsu.length > 0) { - let isShuntu = false; - for (const shuntuPattern of SHUNTU_PATTERNS) { - if ( - tempHandTilesWithoutKotsuAndShuntsu[0] === shuntuPattern[0] && - tempHandTilesWithoutKotsuAndShuntsu.includes(shuntuPattern[1]) && - tempHandTilesWithoutKotsuAndShuntsu.includes(shuntuPattern[2]) - ) { - shuntsus.push(shuntuPattern); - tempHandTilesWithoutKotsuAndShuntsu.splice(0, 1); - tempHandTilesWithoutKotsuAndShuntsu.splice(tempHandTilesWithoutKotsuAndShuntsu.indexOf(shuntuPattern[1]), 1); - tempHandTilesWithoutKotsuAndShuntsu.splice(tempHandTilesWithoutKotsuAndShuntsu.indexOf(shuntuPattern[2]), 1); - isShuntu = true; - break; - } - } - - if (!isShuntu) tempHandTilesWithoutKotsuAndShuntsu.splice(0, 1); - } + const shuntsus = extractShuntsus(tempHandTilesWithoutKotsu); if (shuntsus.length * 3 === tempHandTilesWithoutKotsu.length) { // アガリ形 horaSets.push({ diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 26707bfb65..452918bb08 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -380,6 +380,7 @@ export class MasterGameEngine { return { asking: false as const, tsumoTile: tsumoTile, + next: this.state.turn, }; } @@ -439,6 +440,11 @@ export class MasterGameEngine { console.log('yakus', house, yakus); this.endKyoku(); + + return { + handTiles: this.state.handTiles[house], + tsumoTile: this.state.handTiles[house].at(-1)!, + }; } public commit_resolveCallAndRonInterruption(answers: { diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 0f6d86b874..578555ffd4 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -64,6 +64,12 @@ export type PlayerState = { canRonTo: House | null; }; +export type KyokuResult = { + yakus: { name: string; fan: number; }[]; + doraCount: number; + pointDeltas: { e: number; s: number; w: number; n: number; }; +}; + export class PlayerGameEngine { /** * このエラーが発生したときはdesyncが疑われる @@ -145,10 +151,33 @@ export class PlayerGameEngine { if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); } - public commit_tsumoHora(house: House) { + public commit_tsumoHora(house: House, handTiles: Tile[], tsumoTile: Tile): KyokuResult { console.log('commit_tsumoHora', this.state.turn, house); - // TODO: ツモした人の手牌情報を貰う必要がある + const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ + house: house, + handTiles: handTiles, + huros: this.state.huros[house], + tsumoTile: tsumoTile, + ronTile: null, + riichi: this.state.riichis[house], + })); + const doraCount = Common.calcOwnedDoraCount(handTiles, this.state.huros[house], this.doras); + const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; + const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); + this.state.points.e += pointDeltas.e; + this.state.points.s += pointDeltas.s; + this.state.points.w += pointDeltas.w; + this.state.points.n += pointDeltas.n; + + return { + yakus: yakus.map(yaku => ({ + name: yaku.name, + fan: yaku.fan, + })), + doraCount, + pointDeltas, + }; } /** @@ -161,23 +190,16 @@ export class PlayerGameEngine { s: Tile[]; w: Tile[]; n: Tile[]; - }) { + }): Record { console.log('commit_ronHora', this.state.turn, callers, callee); this.state.canRonSource = null; - const yakusMap: Record = { - e: [] as { name: string; fan: number; }[], - s: [] as { name: string; fan: number; }[], - w: [] as { name: string; fan: number; }[], - n: [] as { name: string; fan: number; }[], - }; - - const doraCountsMap: Record = { - e: 0, - s: 0, - w: 0, - n: 0, + const resultMap: Record = { + e: { yakus: [], doraCount: 0, pointDeltas: { e: 0, s: 0, w: 0, n: 0 } }, + s: { yakus: [], doraCount: 0, pointDeltas: { e: 0, s: 0, w: 0, n: 0 } }, + w: { yakus: [], doraCount: 0, pointDeltas: { e: 0, s: 0, w: 0, n: 0 } }, + n: { yakus: [], doraCount: 0, pointDeltas: { e: 0, s: 0, w: 0, n: 0 } }, }; for (const house of callers) { @@ -194,14 +216,17 @@ export class PlayerGameEngine { const point = Common.fanToPoint(fans, house === 'e'); this.state.points[callee] -= point; this.state.points[house] += point; - yakusMap[house] = yakus.map(yaku => ({ name: yaku.name, fan: yaku.fan })); - doraCountsMap[house] = doraCount; - console.log('yakus', house, yakus); + resultMap[house].yakus = yakus.map(yaku => ({ name: yaku.name, fan: yaku.fan })); + resultMap[house].doraCount = doraCount; + resultMap[house].pointDeltas[callee] = -point; + resultMap[house].pointDeltas[house] = point; } return { - yakusMap, - doraCountsMap, + e: callers.includes('e') ? resultMap.e : null, + s: callers.includes('s') ? resultMap.s : null, + w: callers.includes('w') ? resultMap.w : null, + n: callers.includes('n') ? resultMap.n : null, }; } From 586a458c7ae44e47c290b4917a062a54ff062f35 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 3 Feb 2024 17:00:45 +0900 Subject: [PATCH 27/64] wip --- locales/index.d.ts | 210 ++++++++++++++++++ locales/ja-JP.yml | 53 +++++ .../backend/src/core/GlobalEventService.ts | 28 +-- packages/backend/src/core/MahjongService.ts | 14 +- .../frontend/assets/mahjong/putted-tile-3.png | Bin 5636 -> 5666 bytes .../frontend/assets/mahjong/putted-tile-4.png | Bin 5662 -> 5593 bytes .../frontend/assets/mahjong/putted-tile-5.png | Bin 5664 -> 5595 bytes packages/frontend/src/pages/mahjong/huro.vue | 4 +- .../frontend/src/pages/mahjong/room.game.vue | 122 +++++----- packages/frontend/src/pages/mahjong/tile.vue | 4 +- packages/misskey-mahjong/src/common.ts | 136 ++++++------ packages/misskey-mahjong/src/index.ts | 2 +- 12 files changed, 424 insertions(+), 149 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index caef204bf9..885b316634 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -9649,6 +9649,216 @@ export interface Locale extends ILocale { * 北 */ "north": string; + /** + * ドラ + */ + "dora": string; + /** + * 赤ドラ + */ + "redDora": string; + /** + * 飜 + */ + "fan": string; + "_yakus": { + /** + * 立直 + */ + "riichi": string; + /** + * 一発 + */ + "ippatsu": string; + /** + * 門前清自摸和 + */ + "tsumo": string; + /** + * 断么 + */ + "tanyao": string; + /** + * 平和 + */ + "pinfu": string; + /** + * 一盃口 + */ + "iipeko": string; + /** + * 東 + */ + "field-wind-e": string; + /** + * 南 + */ + "field-wind-s": string; + /** + * 東 + */ + "seat-wind-e": string; + /** + * 南 + */ + "seat-wind-s": string; + /** + * 西 + */ + "seat-wind-w": string; + /** + * 北 + */ + "seat-wind-n": string; + /** + * 白 + */ + "white": string; + /** + * 發 + */ + "green": string; + /** + * 中 + */ + "red": string; + /** + * 嶺上開花 + */ + "rinshan": string; + /** + * 搶槓 + */ + "chankan": string; + /** + * 海底摸月 + */ + "haitei": string; + /** + * 河底撈魚 + */ + "hotei": string; + /** + * 三色同順 + */ + "sanshoku-dojun": string; + /** + * 三色同刻 + */ + "sanshoku-doko": string; + /** + * 一気通貫 + */ + "ittsu": string; + /** + * 混全帯么九 + */ + "chanta": string; + /** + * 七対子 + */ + "chitoitsu": string; + /** + * 対々 + */ + "toitoi": string; + /** + * 三暗刻 + */ + "sananko": string; + /** + * 混老頭 + */ + "honroto": string; + /** + * 三槓子 + */ + "sankantsu": string; + /** + * 小三元 + */ + "shosangen": string; + /** + * ダブル立直 + */ + "double-riichi": string; + /** + * 混一色 + */ + "honitsu": string; + /** + * 清全帯么九 + */ + "junchan": string; + /** + * ニ盃口 + */ + "ryampeko": string; + /** + * 清一色 + */ + "chinitsu": string; + /** + * 国士無双 + */ + "kokushi": string; + /** + * 国士無双13面待ち + */ + "kokushi-13": string; + /** + * 四暗刻 + */ + "suanko": string; + /** + * 四暗刻単騎待ち + */ + "suanko-tanki": string; + /** + * 大三元 + */ + "daisangen": string; + /** + * 字一色 + */ + "tsuiso": string; + /** + * 小四喜 + */ + "shosushi": string; + /** + * 大四喜 + */ + "daisushi": string; + /** + * 緑一色 + */ + "ryuiso": string; + /** + * 清老頭 + */ + "chinroto": string; + /** + * 四槓子 + */ + "sukantsu": string; + /** + * 九蓮宝燈 + */ + "churen": string; + /** + * 純正九連宝灯 + */ + "pure-churen": string; + /** + * 天和 + */ + "tenho": string; + /** + * 地和 + */ + "chiho": string; + }; }; "_offlineScreen": { /** diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 3c740a83b6..8935bc9d7a 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2571,6 +2571,59 @@ _mahjong: south: "南" west: "西" north: "北" + dora: "ドラ" + redDora: "赤ドラ" + fan: "飜" + _yakus: + "riichi": "立直" + "ippatsu": "一発" + "tsumo": "門前清自摸和" + "tanyao": "断么" + "pinfu": "平和" + "iipeko": "一盃口" + "field-wind-e": "東" + "field-wind-s": "南" + "seat-wind-e": "東" + "seat-wind-s": "南" + "seat-wind-w": "西" + "seat-wind-n": "北" + "white": "白" + "green": "發" + "red": "中" + "rinshan": "嶺上開花" + "chankan": "搶槓" + "haitei": "海底摸月" + "hotei": "河底撈魚" + "sanshoku-dojun": "三色同順" + "sanshoku-doko": "三色同刻" + "ittsu": "一気通貫" + "chanta": "混全帯么九" + "chitoitsu": "七対子" + "toitoi": "対々" + "sananko": "三暗刻" + "honroto": "混老頭" + "sankantsu": "三槓子" + "shosangen": "小三元" + "double-riichi": "ダブル立直" + "honitsu": "混一色" + "junchan": "清全帯么九" + "ryampeko": "ニ盃口" + "chinitsu": "清一色" + "kokushi": "国士無双" + "kokushi-13": "国士無双13面待ち" + "suanko": "四暗刻" + "suanko-tanki": "四暗刻単騎待ち" + "daisangen": "大三元" + "tsuiso": "字一色" + "shosushi": "小四喜" + "daisushi": "大四喜" + "ryuiso": "緑一色" + "chinroto": "清老頭" + "sukantsu": "四槓子" + "churen": "九蓮宝燈" + "pure-churen": "純正九連宝灯" + "tenho": "天和" + "chiho": "地和" _offlineScreen: title: "オフライン - サーバーに接続できません" diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index a93dd5e274..243e13e6c5 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -209,30 +209,30 @@ export interface MahjongRoomEventTypes { room: Packed<'MahjongRoomDetailed'>; }; tsumo: { - house: Mahjong.Common.House; - tile: Mahjong.Common.Tile; + house: Mahjong.House; + tile: Mahjong.Tile; }; dahai: { - house: Mahjong.Common.House; - tile: Mahjong.Common.Tile; + house: Mahjong.House; + tile: Mahjong.Tile; riichi: boolean; }; dahaiAndTsumo: { - dahaiHouse: Mahjong.Common.House; - dahaiTile: Mahjong.Common.Tile; - tsumoTile: Mahjong.Common.Tile; + dahaiHouse: Mahjong.House; + dahaiTile: Mahjong.Tile; + tsumoTile: Mahjong.Tile; riichi: boolean; }; ponned: { - caller: Mahjong.Common.House; - callee: Mahjong.Common.House; - tile: Mahjong.Common.Tile; + caller: Mahjong.House; + callee: Mahjong.House; + tile: Mahjong.Tile; }; kanned: { - caller: Mahjong.Common.House; - callee: Mahjong.Common.House; - tile: Mahjong.Common.Tile; - rinsyan: Mahjong.Common.Tile; + caller: Mahjong.House; + callee: Mahjong.House; + tile: Mahjong.Tile; + rinsyan: Mahjong.Tile; }; ronned: { }; diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 5903284b6e..bd89ffcc11 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -77,11 +77,11 @@ type NextKyokuConfirmation = { user4: boolean; }; -function getUserIdOfHouse(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.Common.House): MiUser['id'] { +function getUserIdOfHouse(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.House): MiUser['id'] { return engine.state.user1House === house ? room.user1Id : engine.state.user2House === house ? room.user2Id : engine.state.user3House === house ? room.user3Id : room.user4Id; } -function getHouseOfUserId(room: Room, engine: Mahjong.MasterGameEngine, userId: MiUser['id']): Mahjong.Common.House { +function getHouseOfUserId(room: Room, engine: Mahjong.MasterGameEngine, userId: MiUser['id']): Mahjong.House { return userId === room.user1Id ? engine.state.user1House : userId === room.user2Id ? engine.state.user2House : userId === room.user3Id ? engine.state.user3House : engine.state.user4House; } @@ -310,7 +310,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { pon: answers.pon ?? false, cii: answers.cii ?? false, kan: answers.kan ?? false, - ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])] as Mahjong.Common.House[], + ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])] as Mahjong.House[], }); room.gameState = engine.state; await this.saveRoom(room); @@ -376,7 +376,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async dahai(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.Common.House, tile: Mahjong.Common.Tile, riichi = false) { + private async dahai(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.House, tile: Mahjong.Tile, riichi = false) { const res = engine.commit_dahai(house, tile, riichi); room.gameState = engine.state; await this.saveRoom(room); @@ -482,7 +482,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - if (!Mahjong.Common.isTile(tile)) return; + if (!Mahjong.isTile(tile)) return; const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = getHouseOfUserId(room, engine, user.id); @@ -606,13 +606,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { * @param engine */ @bindThis - private async waitForTurn(room: Room, house: Mahjong.Common.House, engine: Mahjong.MasterGameEngine) { + private async waitForTurn(room: Room, house: Mahjong.House, engine: Mahjong.MasterGameEngine) { const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); if (engine.state.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り const handTiles = engine.state.handTiles[house]; - const horaSets = Mahjong.Common.getHoraSets(handTiles); + const horaSets = Mahjong.getHoraSets(handTiles); if (horaSets.length === 0) { setTimeout(() => { this.dahai(room, engine, house, handTiles.at(-1)); diff --git a/packages/frontend/assets/mahjong/putted-tile-3.png b/packages/frontend/assets/mahjong/putted-tile-3.png index 085bb7bec5b5af921d20df4d6540b21caa8747e3..bda7a5468decc5e74b6956322ef7380de1f44b6b 100644 GIT binary patch delta 4099 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

    Tu1!*Dft z$6x$Kwt4zuw;I?>Hqd(sS2{;M-Pf9IC8SsX;UL%}Q%8Bh3{chWN6eXoRf3g4sp2Ao zsbJfv;NU%&VDrwj!0>d(IH+)KL<7vz7_m(HTsjkLF{_+$i(!syl*QCTGci{-lWfmB|0D39Mm9IJyhBC7fICRf2V^F zG}-*i3DLnGOD^5J>DJf~L5fD`ZhH8KMF*qz1camJrSw!yNFn%Qr5Jro6O!{f<3 zrz@MOjoG=`X(fjvw-y3eAHw%PUKfihy#xGwnB&6ACk`$0ATk32PS8UmGC!S`NL$ld IW3PMv1`Cs++W-In delta 4044 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 delta 4123 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 diff --git a/packages/frontend/assets/mahjong/putted-tile-5.png b/packages/frontend/assets/mahjong/putted-tile-5.png index 068be49d31743918a77311acffed7f6b85eaac5a..4d653573538897499d5b90a19198cc4d3a5b49a0 100644 GIT binary patch delta 3554 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 H`u+a_Ir&Wx delta 3610 zcmZ8kcTm&Yvk#yMqM%o#dW}9*q<7GuaIwGxr3nE71kg}~P;5x&i#T4c3Zf!aii!dz z^cbRn5Q_8;LMVn#A_)m4Ku95Z@&4XF@6GJanb|q#Y&*OAIa6Biw5!|14;ttg>AM>0 zL-b7`#^*DJ#nt|=1S2ki{QsL`_l8S3Hk^|Jfy5qVtnF0=2DGj?%Xe5x9#(tyfHNe_0NmUd(CqndwgY8 zUpXDRpwrUmuiVk&VXK^1-H;!yQ{eK9eb;B+-d~}m_F>nrrc>YL#o~MQtqxgU9#$kq zTecqPe6gSNn8;!IpLTx*Q%`SJvAyB3`7|$sCJloQ0Y~P8Hynh*?NL{ozsa;|(2vIP zZ7;bWj3#zn7;t=Qn=S2X*$ORrQ*<$TC~63I&69o7IHIL3()Rgk^OC|B%Vh(#Z7pce zTA5};p_PlgXT4o|;*z=i`+2Z2D+cm5l89|V#) zB4Xf(7$`4a2?UajwY_5H8lBIW0?PfD;2rA&EP8J*p}tzaPWz3*-gO)4kk2Z6Lqc5C z#`gTErngL+?Dkx7#^{Wmwnhtztr54J7K%(i*&Bp?+5ChUKoh!SC-B=ECm6Q9^^zS-f^&o^$t(T#$tOC^)mIaCk9k>!D_rsu;AG3o(-aZA zm}i-{Qc>MEt~!^UwOitN6c6qA{@vP)cs#e3VQya9v*i{C1dNZ*v0oJtg*+6?mwUfz zo;h3IU~+G))3bPRa`@F0;F=Q7NrX}5HieNH?Ug|hU7qSl`h?{kz14BF-9!rXJXx&_i+yW z=r(+EC{S$nat>JXdid+yKCZE_t?%*)6iVUp3DRxj;XCJCi8Jmv5)b23#eQEW}#2mmrerrN}+bfugAOdh3U?<2w{_E}gaJyEW{_#j9rSnw! zr^L1H+Upf=*DAEp?7f%D*pjyeq|**0A&=<}{iO5>g^$H2l!FuWhz)D^|iCtc$PXNMuMHHb>=kMk=H;ILH4-v)1C2YmQ8O(=8WHLEn z;Bu)0qoQUd&7ZjClJ`DZkZYN53iOy``SIHkz6q{2tLJr<&5?tTCvW;5OUkhES1{cz zxh8lyiqn?aI@w&#k!vi`BF_VH&?4wv3?cha@+6}UQt+ZqE{wi5*9wW>S*w@*(_%9_ z-BNIO`ls11zo<^#3}4G#myQKt;&N-n?3);Lb@hr_`!YVxp*x`9C=}BmzSgWIlUsY} z&6DZ}`<+lxoM7%XTr@3mqjMz+dKBumv|f9*FmscKt_r_zlDK#6S1#a7lcy5-iaHVM zeG!UzGr!iN8oVZ6;e56slzIU#@DzCQaS@mmha2Sg?(7S`dv%uJB9%K?kyTd*fqWrU zFc^$@A-r&##`M=v>{M{kslIG2tDN7X@y^-Qj*ZL!4cN)^9ljz;(0P1B!X;4)ah ztgQ`)$IQdCkzh~Q#Yh*g^T=%7&Aa_w<{dSH{W_JBqGIsW!J7XWImwW-SpV#pK*iIi z6KwF#-^a-7g;^9QDM6yq`rEys8{e>z7p@y{v>ns$b!GkjHfa(ppXCj z;=?)MD;RBZ@KLM@Wr=pJ7Fat{6wU9%Bd7MH9ZWh$^I1&|9_<6>vID)TYj$*lj7@_P z{XFj^|Ih^QTdCh>Lrlxt=S$v2IrPW1Db3U{@upS?iKfL?M7ws8O_8qfbXOQ0%gs}e z+k2)>XUrIobqh%B3<%8jHmCcioyUv31Vjf;C={y(VTih++H^T4oe*&)LGsq{4o^Z1 zX;g5Qc1Zu3VaFJJ*wX7)l?u+#y5&3KoU($S207f z8e$oL$>Bw;26z-poY1tpONRQ5eD8c0Lr_r#)x0nI0E-g)TBfvcW5Mj+nz55elO`$` zOc98s1m+~_#+z0-A|&3Sy4`65`Y34|@ewhs@z>ss1W9r%11ZQR!3Tbu|GgFhKHU~E z%!eBIMB2VC;r-$4Jo3m5EI-JnA4TjcyFx#qfM<52>s+nz?*3i2rC+OQ5 zr!rfaH00#W8ZRWzav$2TXuY)0_j9=&)S&T;D2`T-B~Ij{QRnhfnl@H@tRk>m*Ck=8 z&d}6nP*>>HHWcdd32Wt6g*nLeAVF=p>zhyAA6^<11--)QiSxT@ zk)%3lQK(+KPOMb*XoegYXPu79OgB#CptU|Df|vD1v2QZFQ8%EO80CNd{56`_NZMNQ z)f~8=W{pT=t-JjDY$2fDG2qnzCBUS!Cs<0mN?cNpPwEbV9SeoR`X%A8EY0p1DZj{) z)fi`a73w$Zg_`ySXA_kd7KDH6MPjz5RKOW+NCj@VW^UBxRqQE2ClRQ`G7pLtx>WX2 zEJg1>voPy&60|AATc0JDq9QA)av%k4&Y69TeyeQiT?|P4^}4%yYhUq)*Z}XblTO!V zrEjHbO2W4q`MvwmPcb9*BG1p3oOGJ$u66xZ4gO2Y`}p&>iCeY6$GJOY&3^jFHun(; zq9*dxD@tspdt{&hOpalh=$Rv!xb{vJHN+`IYU)S+=>5sYt$qFlzE&nIc%n#TP&?KM zQ%9x(0p{p3fO^fbtr{G3~v{1`pq7Ee$rk#Q?1l z7b@QpiMZ16-^5!E$Hh^))Qh~MKC1!&YT|#rW;QTNh|k-0!qv!z3@sO7F&~@lf7z=7 z8G)aT%$|IJY0Bjnv=Pk?{uiRppHg(xlmpw>Zbf?V$%}i#(feytQ0=OrN}6$AFP{)g z5t2mr3;X+*N5iDxCr!_Q3S*e@k<<#a_%m6YsB4shk&e>K0c-Q_ix77W;Mljs<;ZNj z2D{J494_5kXoNncJBsDQA92liME52}%ShP>Pm}}HhwfUZLaK_aD2FLD2IDh{5gdi% z$&tg^jiO;ZncxDxGjAHM$!&|93D}Kh<0hwf9Vivan2r9W12fBz{#Gll0(V=0XPH^!mCU4A?WG*9(^Z?{Q{1n8K1k` zh$l=JZO0PiR#)kMWCfo7o zjPuk*LJ?!12i?CSlkIadI))k~=2zgdc5@?69k4ewI1S%?DgL~#iu;ECk<$@V8Gm8y zoducQ_P-!X@Q}O}j!!$DAU6}0Z9vFgWtDJER#)KDDu{|#Mz3q!QoS!^uZ?G8fqPo=_Ap^U$z=D3CS5B7DLN3^+f1&l17o&hDNS%%N z@}b-O-aF@_L-mg(-V34{yTkuX(hA(!r8&;*DtNuH^h5L2=cA)B&Ky%U^6j)>9z$&s z^6+_!Nynn+)ICPngd5d9rDf$n61Kax+=o&hd(^KY^Zr%>)tkVNk|~u=6Jg^KJ-Hfj z4-sHoghB~USxYikVTl!;2U!E@EdJ*V^?!l!Z-}l8YNBv0i^7g*Yy&PPq8|mw_Nv2` J%1eI9{{t$vgn0k} diff --git a/packages/frontend/src/pages/mahjong/huro.vue b/packages/frontend/src/pages/mahjong/huro.vue index 1eaa5971f1..10923f23b4 100644 --- a/packages/frontend/src/pages/mahjong/huro.vue +++ b/packages/frontend/src/pages/mahjong/huro.vue @@ -34,9 +34,9 @@ import * as Mahjong from 'misskey-mahjong'; import XTile from './tile.vue'; const props = defineProps<{ - huro: Mahjong.Common.Huro; + huro: Mahjong.Huro; variation: string; - doras: Mahjong.Common.Tile[]; + doras: Mahjong.Tile[]; }>(); diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index c44b708685..75e8fd5bbc 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -10,20 +10,20 @@ SPDX-License-Identifier: AGPL-3.0-only

    - {{ Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Common.prevHouse(Mahjong.Common.prevHouse(engine.myHouse))] }} + {{ Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse))] }}
    - {{ Mahjong.Common.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Common.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Common.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Common.prevHouse(engine.myHouse)] }} + {{ Mahjong.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.prevHouse(engine.myHouse)] }}
    - {{ Mahjong.Common.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.Common.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.Common.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.Common.nextHouse(engine.myHouse)] }} + {{ Mahjong.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ engine.state.points[Mahjong.nextHouse(engine.myHouse)] }}
    @@ -39,33 +39,33 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    +
    -
    +
    -
    +
    - +
    - +
    - +
    @@ -75,21 +75,21 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    +
    -
    +
    -
    +
    @@ -105,7 +105,7 @@ SPDX-License-Identifier: AGPL-3.0-only
    @@ -131,12 +131,12 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    @@ -146,12 +146,12 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    @@ -161,12 +161,12 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    @@ -194,14 +194,14 @@ SPDX-License-Identifier: AGPL-3.0-only Riichi
    -
    +
    {{ house === 'e' ? i18n.ts._mahjong.east : house === 's' ? i18n.ts._mahjong.south : house === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }}
    -
    {{ yaku.name }} ({{ yaku.fan }})
    +
    {{ i18n.ts._mahjong._yakus[yaku.name] }} {{ yaku.fan }}{{ i18n.ts._mahjong.fan }}
    -
    {{ res.doraCount }} dora
    +
    {{ i18n.ts._mahjong.dora }} {{ res.doraCount }}{{ i18n.ts._mahjong.fan }}
    {{ res.pointDeltas.e }} / {{ res.pointDeltas.s }} / {{ res.pointDeltas.w }} / {{ res.pointDeltas.n }}
    @@ -244,19 +244,19 @@ const isMyTurn = computed(() => { }); const canHora = computed(() => { - return Mahjong.Common.getHoraSets(engine.value.myHandTiles).length > 0; + return Mahjong.getHoraSets(engine.value.myHandTiles).length > 0; }); -const selectableTiles = ref(null); -const ronSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); -const ciiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); -const ponSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); -const kanSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); -const tsumoSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); -const riichiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const selectableTiles = ref(null); +const ronSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const ciiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const ponSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const kanSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const tsumoSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); +const riichiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); /* -console.log(Mahjong.Common.getTilesForRiichi([ +console.log(Mahjong.getTilesForRiichi([ 'm1', 'm2', 'm2', @@ -274,7 +274,7 @@ console.log(Mahjong.Common.getTilesForRiichi([ ])); */ /* -console.log(Mahjong.Common.getHoraSets([ +console.log(Mahjong.getHoraSets([ 'm3', 'm3', 'm4', @@ -335,7 +335,7 @@ if (!props.room.isEnded) { let riichiSelect = false; -function chooseTile(tile: Mahjong.Common.Tile, ev: MouseEvent) { +function chooseTile(tile: Mahjong.Tile, ev: MouseEvent) { if (!isMyTurn.value) return; iTsumoed.value = false; @@ -353,8 +353,8 @@ function riichi() { if (!isMyTurn.value) return; riichiSelect = true; - selectableTiles.value = Mahjong.Common.getTilesForRiichi(engine.value.myHandTiles); - console.log(Mahjong.Common.getTilesForRiichi(engine.value.myHandTiles)); + selectableTiles.value = Mahjong.getTilesForRiichi(engine.value.myHandTiles); + console.log(Mahjong.getTilesForRiichi(engine.value.myHandTiles)); } function kakan() { @@ -389,14 +389,14 @@ function skip() { } const iTsumoed = ref(false); -const kyokuEnded = ref(false); -const kyokuResults = ref; + pointDeltas: Record; } | null>>({ e: null, s: null, @@ -405,7 +405,7 @@ const kyokuResults = ref { - engine.value.commit_tsumo(Mahjong.Common.nextHouse(log.dahaiHouse), log.tsumoTile); + engine.value.commit_tsumo(Mahjong.nextHouse(log.dahaiHouse), log.tsumoTile); triggerRef(engine); - if (Mahjong.Common.nextHouse(log.dahaiHouse) === engine.value.myHouse) { + if (Mahjong.nextHouse(log.dahaiHouse) === engine.value.myHouse) { iTsumoed.value = true; } }, 100); @@ -521,7 +521,10 @@ function onStreamRonned(log) { triggerRef(engine); kyokuResults.value = res; - kyokuEnded.value = true; + + window.setTimeout(() => { + showKyokuResults.value = true; + }, 1500); for (const caller of log.callers) { ronSerifHouses[caller] = true; @@ -537,7 +540,10 @@ function onStreamTsumoHora(log) { triggerRef(engine); kyokuResults.value[log.house] = res; - kyokuEnded.value = true; + + window.setTimeout(() => { + showKyokuResults.value = true; + }, 1500); tsumoSerifHouses[log.house] = true; diff --git a/packages/frontend/src/pages/mahjong/tile.vue b/packages/frontend/src/pages/mahjong/tile.vue index 1a18a0140f..bd9911eada 100644 --- a/packages/frontend/src/pages/mahjong/tile.vue +++ b/packages/frontend/src/pages/mahjong/tile.vue @@ -15,9 +15,9 @@ import { computed } from 'vue'; import * as Mahjong from 'misskey-mahjong'; const props = defineProps<{ - tile: Mahjong.Common.Tile; + tile: Mahjong.Tile; variation: string; - doras: Mahjong.Common.Tile[]; + doras: Mahjong.Tile[]; }>(); const isDora = computed(() => props.doras.includes(props.tile)); diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index d696dea0fb..c4b1f7b97a 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -101,59 +101,6 @@ export const NEXT_TILE_FOR_DORA_MAP: Record = { chun: 'haku', }; -export const yakuNames = [ - 'riichi', - 'ippatsu', - 'tsumo', - 'tanyao', - 'pinfu', - 'iipeko', - 'field-wind', - 'seat-wind', - 'white', - 'green', - 'red', - 'rinshan', - 'chankan', - 'haitei', - 'hotei', - 'sanshoku-dojun', - 'sanshoku-doko', - 'ittsu', - 'chanta', - 'chitoitsu', - 'toitoi', - 'sananko', - 'honroto', - 'sankantsu', - 'shosangen', - 'double-riichi', - 'honitsu', - 'junchan', - 'ryampeko', - 'chinitsu', - 'dora', - 'red-dora', -] as const; - -export const yakumanNames = [ - 'kokushi', - 'kokushi-13', - 'suanko', - 'suanko-tanki', - 'daisangen', - 'tsuiso', - 'shosushi', - 'daisushi', - 'ryuiso', - 'chinroto', - 'sukantsu', - 'churen', - 'pure-churen', - 'tenho', - 'chiho', -] as const; - type EnvForCalcYaku = { house: House; @@ -260,15 +207,80 @@ export const YAKU_DEFINITIONS = [{ ); }, }, { - name: 'seat-wind', + name: 'field-wind-e', fan: 1, calc: (state: EnvForCalcYaku) => { - return ( - (state.handTiles.filter(t => t === state.house).length >= 3) || + return state.fieldWind === 'e' && ( + (state.handTiles.filter(t => t === 'e').length >= 3) || (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === state.house : - huro.type === 'ankan' ? huro.tile === state.house : - huro.type === 'minkan' ? huro.tile === state.house : + huro.type === 'pon' ? huro.tile === 'e' : + huro.type === 'ankan' ? huro.tile === 'e' : + huro.type === 'minkan' ? huro.tile === 'e' : + false).length >= 3) + ); + }, +}, { + name: 'field-wind-s', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.fieldWind === 's' && ( + (state.handTiles.filter(t => t === 's').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 's' : + huro.type === 'ankan' ? huro.tile === 's' : + huro.type === 'minkan' ? huro.tile === 's' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-e', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.house === 'e' && ( + (state.handTiles.filter(t => t === 'e').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'e' : + huro.type === 'ankan' ? huro.tile === 'e' : + huro.type === 'minkan' ? huro.tile === 'e' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-s', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.house === 's' && ( + (state.handTiles.filter(t => t === 's').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 's' : + huro.type === 'ankan' ? huro.tile === 's' : + huro.type === 'minkan' ? huro.tile === 's' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-w', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.house === 'w' && ( + (state.handTiles.filter(t => t === 'w').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'w' : + huro.type === 'ankan' ? huro.tile === 'w' : + huro.type === 'minkan' ? huro.tile === 'w' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-n', + fan: 1, + calc: (state: EnvForCalcYaku) => { + return state.house === 'n' && ( + (state.handTiles.filter(t => t === 'n').length >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'n' : + huro.type === 'ankan' ? huro.tile === 'n' : + huro.type === 'minkan' ? huro.tile === 'n' : false).length >= 3) ); }, @@ -450,12 +462,6 @@ export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ ['s7', 's8', 's9'], ]; -export type KyokuResult = { - yakus: { name: string; fan: number; }[]; - doraCount: number; - pointDeltas: { e: number; s: number; w: number; n: number; }; -}; - function extractShuntsus(tiles: Tile[]): [Tile, Tile, Tile][] { const tempTiles = [...tiles]; diff --git a/packages/misskey-mahjong/src/index.ts b/packages/misskey-mahjong/src/index.ts index 2bf313eccf..7960984c48 100644 --- a/packages/misskey-mahjong/src/index.ts +++ b/packages/misskey-mahjong/src/index.ts @@ -4,7 +4,7 @@ */ export * as Serializer from './serializer.js'; -export * as Common from './common.js'; +export * from './common.js'; export { MasterGameEngine } from './engine.master.js'; export type { MasterState } from './engine.master.js'; From 00bf57d2432fe6dedd5ac05b0b58d4199adea41a Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 3 Feb 2024 18:02:00 +0900 Subject: [PATCH 28/64] wip --- packages/backend/src/core/MahjongService.ts | 80 +++++++++++++------ .../api/stream/channels/mahjong-room.ts | 32 ++++++++ .../frontend/src/pages/mahjong/room.game.vue | 67 ++++++++++++++-- packages/misskey-mahjong/src/engine.master.ts | 44 ++++------ packages/misskey-mahjong/src/engine.player.ts | 52 ++++++++---- 5 files changed, 203 insertions(+), 72 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index bd89ffcc11..8957edd4e8 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -26,7 +26,7 @@ import { ReversiGameEntityService } from './entities/ReversiGameEntityService.js import type { OnApplicationShutdown, OnModuleInit } from '@nestjs/common'; const INVITATION_TIMEOUT_MS = 1000 * 20; // 20sec -const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 7; // 7sec +const CALL_AND_RON_ASKING_TIMEOUT_MS = 1000 * 10; // 10sec const TURN_TIMEOUT_MS = 1000 * 30; // 30sec const NEXT_KYOKU_CONFIRMATION_TIMEOUT_MS = 1000 * 15; // 15sec @@ -58,9 +58,9 @@ type Room = { gameState?: Mahjong.MasterState; }; -type CallAndRonAnswers = { +type CallingAnswers = { pon: null | boolean; - cii: null | boolean; + cii: null | false | [Mahjong.Tile, Mahjong.Tile, Mahjong.Tile]; kan: null | boolean; ron: { e: null | boolean; @@ -305,8 +305,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async answer(room: Room, engine: Mahjong.MasterGameEngine, answers: CallAndRonAnswers) { - const res = engine.commit_resolveCallAndRonInterruption({ + private async answer(room: Room, engine: Mahjong.MasterGameEngine, answers: CallingAnswers) { + const res = engine.commit_resolveCallingInterruption({ pon: answers.pon ?? false, cii: answers.cii ?? false, kan: answers.kan ?? false, @@ -386,7 +386,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (res.asking) { console.log('asking', res); - const answers: CallAndRonAnswers = { + const answers: CallingAnswers = { pon: null, cii: null, kan: null, @@ -428,12 +428,12 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } } - this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(answers)); + this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(answers)); const waitingStartedAt = Date.now(); const interval = setInterval(async () => { - const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); - if (current == null) throw new Error('arienai (gameCallAndRonAsking)'); - const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); + if (current == null) throw new Error('arienai (gameCallingAsking)'); + const currentAnswers = JSON.parse(current) as CallingAnswers; const allAnswered = !( (res.canPonHouse != null && currentAnswers.pon == null) || (res.canCiiHouse != null && currentAnswers.cii == null) || @@ -445,7 +445,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { ); if (allAnswered || (Date.now() - waitingStartedAt > CALL_AND_RON_ASKING_TIMEOUT_MS)) { console.log(allAnswered ? 'ask all answerd' : 'ask timeout'); - await this.redisClient.del(`mahjong:gameCallAndRonAsking:${room.id}`); + await this.redisClient.del(`mahjong:gameCallingAsking:${room.id}`); clearInterval(interval); this.answer(room, engine, currentAnswers); return; @@ -511,7 +511,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser) { + public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; @@ -521,7 +521,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.clearTurnWaitingTimer(room.id); - const res = engine.commit_kakan(myHouse); + const res = engine.commit_kakan(myHouse, tile); this.globalEventService.publishMahjongRoomStream(room.id, 'kakanned', { }); } @@ -551,14 +551,14 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = getHouseOfUserId(room, engine, user.id); - // TODO: 自分にロン回答する権利がある状態かバリデーション + // TODO: 自分に回答する権利がある状態かバリデーション // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 - const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); + const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); if (current == null) throw new Error('no asking found'); - const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + const currentAnswers = JSON.parse(current) as CallingAnswers; currentAnswers.ron[myHouse] = true; - await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); + await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); } @bindThis @@ -567,14 +567,46 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room == null) return; if (room.gameState == null) return; - // TODO: 自分にポン回答する権利がある状態かバリデーション + // TODO: 自分に回答する権利がある状態かバリデーション // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 - const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); + const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); if (current == null) throw new Error('no asking found'); - const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + const currentAnswers = JSON.parse(current) as CallingAnswers; currentAnswers.pon = true; - await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); + await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); + } + + @bindThis + public async commit_kan(roomId: MiMahjongGame['id'], user: MiUser) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + // TODO: 自分に回答する権利がある状態かバリデーション + + // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 + const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); + if (current == null) throw new Error('no asking found'); + const currentAnswers = JSON.parse(current) as CallingAnswers; + currentAnswers.kan = true; + await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); + } + + @bindThis + public async commit_cii(roomId: MiMahjongGame['id'], user: MiUser, tiles: [Mahjong.Tile, Mahjong.Tile, Mahjong.Tile]) { + const room = await this.getRoom(roomId); + if (room == null) return; + if (room.gameState == null) return; + + // TODO: 自分に回答する権利がある状態かバリデーション + + // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 + const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); + if (current == null) throw new Error('no asking found'); + const currentAnswers = JSON.parse(current) as CallingAnswers; + currentAnswers.cii = tiles; + await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); } @bindThis @@ -587,14 +619,14 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const myHouse = getHouseOfUserId(room, engine, user.id); // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 - const current = await this.redisClient.get(`mahjong:gameCallAndRonAsking:${room.id}`); + const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); if (current == null) throw new Error('no asking found'); - const currentAnswers = JSON.parse(current) as CallAndRonAnswers; + const currentAnswers = JSON.parse(current) as CallingAnswers; if (engine.state.ponAsking?.caller === myHouse) currentAnswers.pon = false; if (engine.state.ciiAsking?.caller === myHouse) currentAnswers.cii = false; if (engine.state.kanAsking?.caller === myHouse) currentAnswers.kan = false; if (engine.state.ronAsking != null && engine.state.ronAsking.callers.includes(myHouse)) currentAnswers.ron[myHouse] = false; - await this.redisClient.set(`mahjong:gameCallAndRonAsking:${room.id}`, JSON.stringify(currentAnswers)); + await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); } /** diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 23e5b3a3d4..53363bd5f3 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -56,6 +56,10 @@ class MahjongRoomChannel extends Channel { case 'tsumoHora': this.tsumoHora(); break; case 'ronHora': this.ronHora(); break; case 'pon': this.pon(); break; + case 'cii': this.cii(body.tiles); break; + case 'kan': this.kan(); break; + case 'ankan': this.ankan(body.tile); break; + case 'kakan': this.kakan(body.tile); break; case 'nop': this.nop(); break; case 'claimTimeIsUp': this.claimTimeIsUp(); break; } @@ -117,6 +121,34 @@ class MahjongRoomChannel extends Channel { this.mahjongService.commit_pon(this.roomId!, this.user); } + @bindThis + private async cii(tiles: string[]) { + if (this.user == null) return; + + this.mahjongService.commit_cii(this.roomId!, this.user, tiles); + } + +@bindThis + private async kan() { + if (this.user == null) return; + + this.mahjongService.commit_kan(this.roomId!, this.user); + } + + @bindThis +private async ankan(tile: string) { + if (this.user == null) return; + + this.mahjongService.commit_ankan(this.roomId!, this.user, tile); +} + + @bindThis + private async kakan(tile: string) { + if (this.user == null) return; + + this.mahjongService.commit_kakan(this.roomId!, this.user, tile); + } + @bindThis private async nop() { if (this.user == null) return; diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 75e8fd5bbc..dec7add7b2 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -187,9 +187,13 @@ SPDX-License-Identifier: AGPL-3.0-only
    - Ron - Pon - Skip + Ron + Pon + Cii + Kan + Skip + Ankan + Kakan Tsumo Riichi
    @@ -197,7 +201,15 @@ SPDX-License-Identifier: AGPL-3.0-only
    -
    {{ house === 'e' ? i18n.ts._mahjong.east : house === 's' ? i18n.ts._mahjong.south : house === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }}
    +
    +
    {{ house === 'e' ? i18n.ts._mahjong.east : house === 's' ? i18n.ts._mahjong.south : house === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }}
    + + +
    {{ i18n.ts._mahjong._yakus[yaku.name] }} {{ yaku.fan }}{{ i18n.ts._mahjong.fan }}
    @@ -333,13 +345,38 @@ if (!props.room.isEnded) { } */ +function houseToUser(house: Mahjong.House) { + return room.value.gameState.user1House === house ? room.value.user1 : room.value.gameState.user2House === house ? room.value.user2 : room.value.gameState.user3House === house ? room.value.user3 : room.value.user4; +} + let riichiSelect = false; +let ankanSelect = false; +let kakanSelect = false; +let ciiSelect = false; function chooseTile(tile: Mahjong.Tile, ev: MouseEvent) { if (!isMyTurn.value) return; iTsumoed.value = false; + if (ankanSelect) { + props.connection!.send('ankan', { + tile: tile, + }); + ankanSelect = false; + selectableTiles.value = null; + return; + } else if (kakanSelect) { + props.connection!.send('kakan', { + tile: tile, + }); + kakanSelect = false; + selectableTiles.value = null; + return; + } else if (ciiSelect) { + return; + } + props.connection!.send('dahai', { tile: tile, riichi: riichiSelect, @@ -357,11 +394,18 @@ function riichi() { console.log(Mahjong.getTilesForRiichi(engine.value.myHandTiles)); } +function ankan() { + if (!isMyTurn.value) return; + + ankanSelect = true; + selectableTiles.value = engine.value.getAnkanableTiles(); +} + function kakan() { if (!isMyTurn.value) return; - props.connection!.send('kakan', { - }); + kakanSelect = true; + selectableTiles.value = engine.value.getKakanableTiles(); } function tsumoHora() { @@ -381,6 +425,16 @@ function pon() { }); } +function cii() { + props.connection!.send('cii', { + }); +} + +function kan() { + props.connection!.send('kan', { + }); +} + function skip() { engine.value.commit_nop(engine.value.myHouse); triggerRef(engine); @@ -649,6 +703,7 @@ onUnmounted(() => { height: 100%; max-width: 800px; margin: auto; + padding: 30px; box-sizing: border-box; background: #0009; color: #fff; diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 452918bb08..11992d877e 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -310,34 +310,21 @@ export class MasterGameEngine { let canPonHouse: House | null = null; switch (house) { - case 'e': - canPonHouse = this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; - break; - case 's': - canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; - break; - case 'w': - canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('n', tile) ? 'n' : null; - break; - case 'n': - canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : null; - break; + case 'e': canPonHouse = this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; break; + case 's': canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; break; + case 'w': canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('n', tile) ? 'n' : null; break; + case 'n': canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : null; break; } - const canCiiHouse: House | null = null; - // TODO - //let canCii: boolean = false; - //if (house === 'e') { - // canCii = this.state.sHandTiles... - //} else if (house === 's') { - // canCii = this.state.wHandTiles... - //} else if (house === 'w') { - // canCii = this.state.nHandTiles... - //} else if (house === 'n') { - // canCii = this.state.eHandTiles... - //} + let canCiiHouse: House | null = null; + switch (house) { + case 'e': canCiiHouse = this.canCii('s', house, tile) ? 's' : this.canCii('w', house, tile) ? 'w' : this.canCii('n', house, tile) ? 'n' : null; break; + case 's': canCiiHouse = this.canCii('e', house, tile) ? 'e' : this.canCii('w', house, tile) ? 'w' : this.canCii('n', house, tile) ? 'n' : null; break; + case 'w': canCiiHouse = this.canCii('e', house, tile) ? 'e' : this.canCii('s', house, tile) ? 's' : this.canCii('n', house, tile) ? 'n' : null; break; + case 'n': canCiiHouse = this.canCii('e', house, tile) ? 'e' : this.canCii('s', house, tile) ? 's' : this.canCii('w', house, tile) ? 'w' : null; break; + } - if (canRonHouses.length > 0 || canPonHouse != null) { + if (canRonHouses.length > 0 || canPonHouse != null || canCiiHouse != null) { if (canRonHouses.length > 0) { this.state.ronAsking = { callee: house, @@ -447,9 +434,9 @@ export class MasterGameEngine { }; } - public commit_resolveCallAndRonInterruption(answers: { + public commit_resolveCallingInterruption(answers: { pon: boolean; - cii: false | [Tile, Tile]; + cii: false | [Tile, Tile, Tile]; kan: boolean; ron: House[]; }) { @@ -484,6 +471,7 @@ export class MasterGameEngine { const rinsyan = this.tsumo(); this.state.turn = kan.caller; + return { type: 'kanned' as const, caller: kan.caller, @@ -499,6 +487,7 @@ export class MasterGameEngine { this.state.huros[pon.caller].push({ type: 'pon', tile, from: pon.callee }); this.state.turn = pon.caller; + return { type: 'ponned' as const, caller: pon.caller, @@ -513,6 +502,7 @@ export class MasterGameEngine { this.state.huros[cii.caller].push({ type: 'cii', tiles: [tile, answers.cii[0], answers.cii[1]], from: cii.callee }); this.state.turn = cii.caller; + return { type: 'ciied' as const, caller: cii.caller, diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 578555ffd4..40b45b3599 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -55,13 +55,10 @@ export type PlayerState = { }; latestDahaiedTile: Tile | null; turn: House | null; - canPonSource: House | null; - canCiiSource: House | null; - canKanSource: House | null; - canRonSource: House | null; - canCiiTo: House | null; - canKanTo: House | null; - canRonTo: House | null; + canPon: { callee: House } | null; + canCii: { callee: House } | null; + canKan: { callee: House } | null; // = 大明槓 + canRon: { callee: House } | null; }; export type KyokuResult = { @@ -138,11 +135,16 @@ export class PlayerGameEngine { } else { const canRon = Common.getHoraSets(this.myHandTiles.concat(tile)).length > 0; const canPon = this.myHandTiles.filter(t => t === tile).length === 2; + const canKan = this.myHandTiles.filter(t => t === tile).length === 3; + const canCii = house === Common.prevHouse(this.myHouse) && + Common.SHUNTU_PATTERNS.some(pattern => + pattern.includes(tile) && + pattern.filter(t => this.myHandTiles.includes(t)).length >= 2); - // TODO: canCii - - if (canRon) this.state.canRonSource = house; - if (canPon) this.state.canPonSource = house; + if (canRon) this.state.canRon = { callee: house }; + if (canPon) this.state.canPon = { callee: house }; + if (canKan) this.state.canKan = { callee: house }; + if (canCii) this.state.canCii = { callee: house }; } } @@ -193,7 +195,7 @@ export class PlayerGameEngine { }): Record { console.log('commit_ronHora', this.state.turn, callers, callee); - this.state.canRonSource = null; + this.state.canRon = null; const resultMap: Record = { e: { yakus: [], doraCount: 0, pointDeltas: { e: 0, s: 0, w: 0, n: 0 } }, @@ -236,7 +238,7 @@ export class PlayerGameEngine { * @param callee 牌を捨てた人 */ public commit_pon(caller: House, callee: House) { - this.state.canPonSource = null; + this.state.canPon = null; const lastTile = this.state.hoTiles[callee].pop(); if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); @@ -253,8 +255,10 @@ export class PlayerGameEngine { } public commit_nop() { - this.state.canRonSource = null; - this.state.canPonSource = null; + this.state.canRon = null; + this.state.canPon = null; + this.state.canKan = null; + this.state.canCii = null; } public get isMenzen(): boolean { @@ -270,4 +274,22 @@ export class PlayerGameEngine { if (Common.getTilesForRiichi(this.myHandTiles).length === 0) return false; return true; } + + public canAnkan(): boolean { + if (this.state.turn !== this.myHouse) return false; + return this.myHandTiles.filter(t => this.myHandTiles.filter(tt => tt === t).length >= 4).length > 0; + } + + public canKakan(): boolean { + if (this.state.turn !== this.myHouse) return false; + return this.state.huros[this.myHouse].filter(h => h.type === 'pon' && this.myHandTiles.includes(h.tile)).length > 0; + } + + public getAnkanableTiles(): Tile[] { + return this.myHandTiles.filter(t => this.myHandTiles.filter(tt => tt === t).length >= 4); + } + + public getKakanableTiles(): Tile[] { + return this.state.huros[this.myHouse].filter(h => h.type === 'pon' && this.myHandTiles.includes(h.tile)).map(h => h.tile); + } } From d57f20dc844576f9d1f81cb043d97678d46577ac Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 3 Feb 2024 22:14:44 +0900 Subject: [PATCH 29/64] wip --- packages/backend/src/core/MahjongService.ts | 6 +- .../api/stream/channels/mahjong-room.ts | 6 +- .../frontend/assets/mahjong/tiles/chun.png | Bin 4154 -> 5301 bytes packages/frontend/assets/mahjong/tiles/e.png | Bin 4587 -> 6687 bytes .../frontend/assets/mahjong/tiles/hatsu.png | Bin 5694 -> 7796 bytes packages/frontend/assets/mahjong/tiles/m1.png | Bin 5894 -> 6313 bytes packages/frontend/assets/mahjong/tiles/m2.png | Bin 6324 -> 6968 bytes packages/frontend/assets/mahjong/tiles/m3.png | Bin 6379 -> 7155 bytes packages/frontend/assets/mahjong/tiles/m4.png | Bin 7515 -> 7429 bytes packages/frontend/assets/mahjong/tiles/m5.png | Bin 6911 -> 8135 bytes packages/frontend/assets/mahjong/tiles/m6.png | Bin 6778 -> 7614 bytes packages/frontend/assets/mahjong/tiles/m7.png | Bin 6530 -> 7050 bytes packages/frontend/assets/mahjong/tiles/m8.png | Bin 6573 -> 6930 bytes packages/frontend/assets/mahjong/tiles/m9.png | Bin 6817 -> 7558 bytes packages/frontend/assets/mahjong/tiles/n.png | Bin 4219 -> 5694 bytes packages/frontend/assets/mahjong/tiles/p1.png | Bin 3274 -> 21667 bytes packages/frontend/assets/mahjong/tiles/p2.png | Bin 3338 -> 15887 bytes packages/frontend/assets/mahjong/tiles/p3.png | Bin 3569 -> 15529 bytes packages/frontend/assets/mahjong/tiles/p4.png | Bin 3342 -> 19465 bytes packages/frontend/assets/mahjong/tiles/p5.png | Bin 3784 -> 23532 bytes packages/frontend/assets/mahjong/tiles/p6.png | Bin 3723 -> 23965 bytes packages/frontend/assets/mahjong/tiles/p7.png | Bin 4042 -> 23922 bytes packages/frontend/assets/mahjong/tiles/p8.png | Bin 3568 -> 26419 bytes packages/frontend/assets/mahjong/tiles/p9.png | Bin 4131 -> 28402 bytes packages/frontend/assets/mahjong/tiles/s.png | Bin 4848 -> 6982 bytes packages/frontend/assets/mahjong/tiles/s1.png | Bin 3331 -> 19212 bytes packages/frontend/assets/mahjong/tiles/s2.png | Bin 2341 -> 5343 bytes packages/frontend/assets/mahjong/tiles/s3.png | Bin 2349 -> 6536 bytes packages/frontend/assets/mahjong/tiles/s4.png | Bin 2366 -> 7896 bytes packages/frontend/assets/mahjong/tiles/s5.png | Bin 2451 -> 9089 bytes packages/frontend/assets/mahjong/tiles/s6.png | Bin 2407 -> 10168 bytes packages/frontend/assets/mahjong/tiles/s7.png | Bin 2621 -> 8882 bytes packages/frontend/assets/mahjong/tiles/s8.png | Bin 5050 -> 11687 bytes packages/frontend/assets/mahjong/tiles/s9.png | Bin 2552 -> 10644 bytes packages/frontend/assets/mahjong/tiles/w.png | Bin 4387 -> 5801 bytes .../frontend/src/pages/mahjong/room.game.vue | 1 - packages/misskey-mahjong/src/common.ts | 98 ++++++++++++++++++ packages/misskey-mahjong/src/engine.master.ts | 43 +++++++- 38 files changed, 142 insertions(+), 12 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 8957edd4e8..e4abbe8076 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -60,7 +60,7 @@ type Room = { type CallingAnswers = { pon: null | boolean; - cii: null | false | [Mahjong.Tile, Mahjong.Tile, Mahjong.Tile]; + cii: null | false | 'x__' | '_x_' | '__x'; kan: null | boolean; ron: { e: null | boolean; @@ -594,7 +594,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_cii(roomId: MiMahjongGame['id'], user: MiUser, tiles: [Mahjong.Tile, Mahjong.Tile, Mahjong.Tile]) { + public async commit_cii(roomId: MiMahjongGame['id'], user: MiUser, pattern: 'x__' | '_x_' | '__x') { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; @@ -605,7 +605,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); if (current == null) throw new Error('no asking found'); const currentAnswers = JSON.parse(current) as CallingAnswers; - currentAnswers.cii = tiles; + currentAnswers.cii = pattern; await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); } diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 53363bd5f3..b2e2ccdb92 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -56,7 +56,7 @@ class MahjongRoomChannel extends Channel { case 'tsumoHora': this.tsumoHora(); break; case 'ronHora': this.ronHora(); break; case 'pon': this.pon(); break; - case 'cii': this.cii(body.tiles); break; + case 'cii': this.cii(body.pattern); break; case 'kan': this.kan(); break; case 'ankan': this.ankan(body.tile); break; case 'kakan': this.kakan(body.tile); break; @@ -122,10 +122,10 @@ class MahjongRoomChannel extends Channel { } @bindThis - private async cii(tiles: string[]) { + private async cii(pattern: string) { if (this.user == null) return; - this.mahjongService.commit_cii(this.roomId!, this.user, tiles); + this.mahjongService.commit_cii(this.roomId!, this.user, pattern); } @bindThis diff --git a/packages/frontend/assets/mahjong/tiles/chun.png b/packages/frontend/assets/mahjong/tiles/chun.png index 819efe989e586d81b1a5466bb5213bb34f64e0c6..5d57fcc4ab93cbc7beb94d72cf99e9f4cea6a861 100644 GIT binary patch delta 3931 zcmZ8kc|6oz7yr%H7)zEIA-mBSJ0U{T*rq8;NMnX1`!d#S#SBq-%i0P4}dZ+jEe%|-}Jb(N?=XbyNoO{ka=iGbGX;*62piA$r5!eL)z-+OR z5dgqC?xP~XA_m%ehRz21W`=rZ`g+-wV5R>c24;GuW(V}MIbhX)AYcgkA5tceD_~>O z?7txR-vj|IfJFra`$T3}LZAFYHVQ@&&=73Q000mz`y))1YCVjHYHLX*-*w5kE5^K! z{|pPvvepaCCVSu%dfk(uq)y{9rSUDy7u}bq8<9{O@vd>VVcVysc~BKE-&@6@)Q5(j zo+lgSoHl5mg4_!B5PG&n9-NVK<{_GT;Si9avWoRQu zr5c$6CouP@H>FFYN~Zg2)z<`LG-~k2x5#f9{jk(EdkeRD*X(SUpTRw(-qXkzH0hn$@cvc;sF$O5Hkh5bt#0`>)mpYP?r4(`{Yk(4N1S7eR*ElP_pp(@`(P zDrs*@>=JOl0;d!pZiCJ`c4t!RWdqaMMqknqq}QWl-nlT6HbZM$>*ApM0o2?#b}{>*f%*~^EX(d#ISz7qUQ`1G9^*=l@ z`YMQa-okH6v}jV+zu{|9s2#!q0QjEg@FS2w6TLVP0p!;(;zpbjGnDUQJcX#29Nv?w z7>J1YgWe#muQ@L+vrWwB-yFmt*#uAbe)AE)FCge%pmTJQCyd^~Y?@=p+J3vL}ue!3kEkyz_~ks z`=2Y29Epu{T$PX^#e^JE&iYB1w-mMpgGIz$m)IC(O%e7R>`>=3yRz6$guYh;Ii#D5 zAmi)_h#HBL3I70c;#KvgGTQ7Bae8_uNIc&pbAmXm@z!xLeskAxxC6u&JR!{tLYKmK zJL8^nM(Q@`XMHOGW5dATDGd6P{piaHFz2#6$v`UB4Poj|aw4$`(6k|89^Xs^TbY%Y zDA<@z^?PXRCCwE_%?*zixIKB3gQQ7p1e4QaAe8M3SuMWyW0x#$5cv{me0~fib)Aw+ zG%}NjMXy6oxVWFGDLz8zE2c@yc!)j*U$Q0f{BLz6l&9>dd}ave>2xxbg9qAwU0@#w z8RB4sG$urxcc`lVCR_^Y&e~mhoBod=YSpWvJkdtTs_CkSkFpO;&rLD*3s%pwih>^dx(X(uk{d!(NJz(r;lEfq(Ib^-FmhM4uhV-%#i0)?}wkrB-TG| zj=VX8EY^X0ydLQ=!i}ZVzP~jGpUKf+i-yU0bU1AZx!_ho9YqmDxr2BT@Axn^V&le_ zSJgAJ5r#?f$GpGllDmfCwEeUNo|c#k&H<*Nn&7M_#A6!qEanWa8-U-+x5leyxL`|L zKCIac4tNfZu=V+#0oVW3dICJp)jgVcGvmvJ1?Ea5J7#cBzpEu+T(%)=a6rJ*;B#Ql zU@2(#n~~VU@M9ml%XNQ*pqi)?v~<1g#+IJ%%tna~Bv(t6$becd8d@H?6;8`At+xPJ zR){!q6aKcCmB+T0=dO8=?UNp(BU+m|qxff_Kf&+Z4N8B|43kI$vIp=opt)k!LD|uK zQlH}Hn5pxx?u+5co2JX{PZn4N;?vdgt@H`;Efi(5_L@9W8od!8GIZu5a7cyE$Ug$K z)@|7>i?EX39fFXj{%0813ij%+2iStd$#W;CU$8D$Q=>s@8IKRqepq<7Dr{*wd>Y;I zFg{HH#tV!HeU_7s+Ag}3eS<@pHb{_U$l&#!uVLwy>3YEA^@~;1;gQ(dHM@$asXGj! zXiPhsEEChuWANM-zD4kvc<dwP^ur(LF}oWB+eHHOGPeocSeIs$|@lBFkdQAs031 zbsY!BBfH-rf=Ox?dM1d_34P3z++9W-q!m+*PZ3#PY`Yfr|fWcnd_h8iAmnwR$wozHT~nkht4ezO_e(sylrer{Gwz zrF9`vhyTV`1Fq7BS995Q214gAotoJE>>V~6s}$;54d2R=Xj&{tXi!iZvxsu)xzySP z?Dr2ELE=e><{mgdzrzOGHtGWkuTR*ztF^aC8!sOPzn9}!0riYv$QQdk4Mzbm!oDV-VP1%pC&YE%F0=G#+u z8uxtH>i+4ChT`x&I(~jEhcpFFHdOCkqajO{x!86F z)lQU-lccGBSclv_vP|&i{NYjuk(Kj+JUALQ!$trnh3$C{@iDadMoFOqa16Q^}$@IGuG zxG$3JEQzI2=h8Ix{+5A?O#q-9cEE(Bd3NJ6f(W!ZpzR$FDaNE|(aaUf#22=rlhJ@3 zUt~_4U6@N84yyq6IRYRF7(I!P2ScEJha<^y7Fb$G(d>A=`C2brS*Wb^)7j{o+1<%% zXFzJzX^er`ZyZcWfI+9A(oE&`Q5z7HO1K%#4q`{T$Z?$c&PIxcSq;o&A2ECf^Gt$W z*!vq~KV?_x|4bxB;OAK=e~?=5LrcpZ6fel2@;+3XmXdmVCo!$%Lrk+92itQQpum6X zKUr(2pP;Ktbnr{uWtxoeS(O%N67P(kRv@xd2*8pa2p<&LOa2;T4NY47Af`iI_ yTsnJVEtFbML delta 2775 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 GQ~wJxbLy@D delta 3211 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 Kn*L?%P5mDXvcFLP diff --git a/packages/frontend/assets/mahjong/tiles/hatsu.png b/packages/frontend/assets/mahjong/tiles/hatsu.png index c09cf8e62a21dcdaefa84b9f89d1b69923142735..6481e5d2ec5835c79fa4adba37eb24a62bee0caa 100644 GIT binary patch delta 6446 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 delta 4327 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 J)f>3S{||lW4Cnv= diff --git a/packages/frontend/assets/mahjong/tiles/m1.png b/packages/frontend/assets/mahjong/tiles/m1.png index de856fc358ea51c567a26ea9ebeb7f168ecb07fe..a514dd3df0a867d76752072b292a37435dd61368 100644 GIT binary patch delta 4948 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 diff --git a/packages/frontend/assets/mahjong/tiles/m2.png b/packages/frontend/assets/mahjong/tiles/m2.png index a3a21ed3982084e530a53996e0a71e0270e61036..5499cc3660c33e695e69f20abb8abf79e4120425 100644 GIT binary patch delta 5608 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 b|LS-&uz_UzTzAROdw`jdmEmiBkEH(tENNMm delta 4959 zcmZ`-Wl)q2+r2l4rIuV;R!SOa1PSSoQlvppN~t9t34wc;)CD9JfhD8_5yS-vL0Awe zX(dErDM3m?Lh|#S`DVU(-kI;mHD|6kzs~jNoCd{OnG|-0YHCUV0J?PC-2s52@vTrG zlwL+sR?$*MN#(MFikwV(2^3BDccN@5Bd2m%QAHtr7%KSh0R$%cUmPV^98^g$y%lEg zA3(sfp+2(dW$^ZY^Bz$6QO|xF=mP)D^?gaSl0+b=V zNUoJesu=kImoX48yBv~%(hX@w=)~a6Zg@{UsX`2*Y?>U)Yl(r(; zIoUXw`l(x6MQ+}0>3AyEr|Y(n`Yp*c2B8)5{7&NKYm}T!d>#5&$hTqi?0K$+u|)ve zwiuhdRd-5BjP+NdrCColN=-;W|I_;UYzw&h^Mz*RdvUl)a@_U^)f1D$*Ib>)IG6AX zQ5%o}+P#x`b-Gr(Q>E93hh(StFA49TO~uvFuQXe;*v;D$dumI+Y=zTR`g^uU{rF@z z7&&m|ee^_j_^8nOx>jpPQ)UZbA>%RSIt3&D6&!&vunhzNT9*G51jr_E0079uYN&I~ zGK8>^`!K_C)Uit=9f24TjL~N_pxL3Tt<4zq^$sne@b>Y#j~nY$yd?&8FZa9!pS+cc zmnwR9>%tg{tw{t`Jc514Xb07SLKun#pHsy=H#9(Jkp=q~+pf#Xoo!Dm1^!r^2^?%Z zxVoS9E&tvAdpVDRyMxoMHGE*}tlxPgc{}9lh2*Y<{{>E#pbSSGJP3$~EO`H{&2Pee z5E}EcBo_h%Y66nLBBnof#gEa3LIUPgy`(G1kr&e-48+5{uy^g7BfFh$vpjMmeb%f$ z&AAli1;x-}92pL#>0f)9D?*P0L)?WhCIAY;&VJH&N}>dvYb4(&i98GlJJTtUe)&+z zE!-CAOVYx#W4B47bscY`JKHT-2$GuMO17!97)Bn$x~1q`qIPiI`NEb9Inn#<>FTbO zyp?rh5bO=~JYM+K-oQ8Jqd)uCTN*92sJ222;&-@-j{?~3M#A`cs3ZzbD0^$Bk{@bU z-wXl*u}Yw5>sz7}vZyEj5~K^Lhc=0{&JjftQr*9#rnflRSOc>db<7Q=2=C1F zRQ{jW$(CgKVsaLviig0+s)@E)C#*vy|A7Pp!O#yPs}t;;S;@}QtA=%xgSjL` z+3?z@Gfp59dX+-rZN8tYOBp+1R@F3#T1C`CXoii%nD* zzKxJKigKeNDgSowhr2_Rp4wzKe}i15m(XpmMp0x8h{Gf9^s-`Av3@Y?!g^4Gh(LU_ zlfSxG_^50+K!l4yBksnEWuEb{P6d0cow#cC-CMmoRxRG+&#~{@h^>8M&pz87w%ip3 z?@~XH*@5ufXs@a0lO;zOFv=Fmea;ao=94TR=uEn0z_vma35)&6t8gNLp~vUWn*Eus zs8~XDYMQ<%CoP+!lCp(;UuQ0n96Ft)Lpin#$*P{Y4iB_hZ&Bi`u}wHy(Xu(m%qjt_ zG|-w9v{i(=;LL4z{04s36eTa%AMxqi=5zV$E$c?5-B@0uMF6+pDluQZX0Ty{!%w-#OzI zFrKE1i*>nrKZV8O24bi<(0VaYiMTSlLrbUdN~fSRf4aD8H<6gFtS_`XMqww@r=7&* z#*dM_-=G0;s#(JEtjfT$Di%U$@2Te&2dHTloHTKpOU)?9VSg1#9e);%f2)Lj1ArF- zdn-sU6F;h)i0uQn3qlv7V~#1L}AM@E)zoGcrbdlspfkb*jc3K=W7qgNMzgS z-7eToY>pJuPK8z@p68LjUR>m5LE$q~wSTB_S}uJcnc1yGFffvmNVjzv{HRK^j-0v% zZY(lZr@2ChAOzRX`hjI#w3>bePdg|Dy}9|_ywo5FvPTN;N5VgwO=b6!ke~JeBs5=S zHPmM$UN$j~!c`W;uq9ce-vGfEclQ%IEu_gJx-=xzBJ4710f0xPK&QL`fTiWI?o^Q0~Sj(wwZjftUb(pv*sE0sAa!L#w9l8FV)mUPl5m=%< zO@ks-KMzZYeC1%(#ICR0ecbO!QOnrW0iOwS>#?Z?0iM|3%UuFFCrPC5+=LbipXC`I zmHkL^6p9a&oXl5({S+uI`hZYP8BjlJWcg4YkKWsTN_xZZ<(e@{x>F2gzy?q3h-_(n z^9$uE$&QAF!e*bWAFFj!9Ld;^>9i_~Yl<7T62jS(YaG)t0Ej$sTHG2p@uC#FglXqP z4}p5Adxja8aLs-rRatLj@rWT5F02?C$FK*x#F>>N{+Q*5Gi)vG{s7$x!1**ymik2B zm`(Nh7yi~++oet_eK=Z@@(dbEeQ8ctPWH$^HO8@t65HCd(o$k!2mvlz~AXqzF>9o_JKR+_-Cb=OJ#BO61myz>D6HoGj)vax!l0%wxWt`E zP)Ku_#WmwJk{mkLKK=QebFsMD4*!GE7?j}A-r+y{!epob%y=r|89#Sa!ta8fMISxINA3QhoQJ8x zU_L~GI=gjx7O--=S<-if*+=p_$Vl?|T!u|o!)~0_7bWHOA4*-W&-x@e#4{h@YOKsD z`P1R(oKFUibrO+^fKXAh8tin5O8pUl-8TM{xb4}g!F!K3o!UOH**C4R-veKfqb+S1 zdS+eubW4Vn>#Wf|^1+z=Nf@A?-n>oKEnPcPAMoB!qKbx8B0Bg>Q*6!_B;`YzU{^dO zw6xyxcfytnV+L*L9O!tS#3kEZnNdGrPTR11Lgd?UXlab~`rg@i5k1tgVnVF6*SPWf zwHE5b#PQgo01a7&7(A6yJhpZkR2AeMWT^;%36YdFf;{<*qP9b_ z&d!rC7RZzbP#bt|TX(Ijze9UB`x$33&j&?9q!otL zbjEj*mmM1)VEh@X=_UI|s@X-8@vhulU0tz8mtH+=@HkBwCV(VE!YV|<-cTAy9}4gm zCLTHJwiv!d+qRdh>xD60iBC`?X&2Mcx$vLsqmw58S)q?$xDx2_Nbza2cuuzPJfeus zb71}sa*M-9k5XpRgf$5rhSV(JRlTj%6uy%OS5-TU&Z)r0e{o_gW^{#BBsM=bnOv^L zvSU#;u{&p_;M@#4f}yZjtA?fgsTa5Aeo@)%T8cY{iL0&1x2x^rw`2uz_Pz7lCksX zSWR2e>p;zbQE_sxQSc@z*TvQ7$)_;%p!>w+c;Cxm1OWvoGpdp;>}Z*DDe5i2=%1`) zFz9PK;mN8kOIgl!-F*fXX#l{vPaq+`M4O}#p{<;a=@YgD0$fj~cUCSTwZ@x0lzu}i zAoBEf5wn^mebcBH!{kmxc+V)JhCNhh(67$EM}feK)s#CA9BK%IjxB7MMhh);)Y(496;M+IcJHPAeB!L!CXAVKKInuc% zOvt1zNMI}3vm!+MG(39wy4F~;vd|DC{@nVHR12pmHTK?gPD%B(J)IL3 z=Xpi(_bwCXSfhb(5l^f}DTT*3!3;?t{bnAB9!t)>yiqGO=Hxfs(GEhlk^2V?%Tqm= zfXAG5JZ6y){(0qG3o+ncuCP7LzH1;;@HZ{s{Oe*`=pM7?cf^_u9j%UyvZ?M9aa*ME zF%BF&%%kF9fiiZ6F?4PG{!nkR?^j_G{_$C~L(6L{A&S`{-ngh%*|1^Opd^>}77KQ? z-|U`|oZQZIzpwMV$6(iscgMK%Hkxknx^U^Bvs4lCQd6oXM_N;3guq;=q=gVuRoeyW zgg^EpqyhVlzE;HW#cU$wjXg6BT>Sr27s9ko}^5kFFv%vFbpByZC0M(kg_;MBBO! zSQpN!4bHjq9{g0Sr3lmIMeH(+Y&fsp$6W1MMavnn0ZnmEndGl=Oe*&10jVKNV4b;Y z__apAYqbT^d?l})xCfxUoE>a#dCCl>?a6b!?k|OL<`pts{pi5%nPPAlin3i(~PgSL^bF$uu|Ss{Bik5K2ne&lZg#a)z#`-=CK&3Eshj~Hx z>ev%@EOv2bm)FOiKR7HOEnz==(Ca1F#s={$KJgR}G?;mKOt)U!l;x+VetPgOq{9BQ z5%-^+|-w#FII_S1IEEPP(`&J8WOgMrOp=_1$sA_@jC*nV`F8UO^z(s<`?kUiq=T zLdy?Cobmn* z7vF+8?1ij_v%O`a8&u&ErATv<^S6pV@_QQ=mmGgNWM|u*s-URJk6qUo!bHH}U3N(c zX(1`u5}j-r@%p2uvcX-oW_l?xbC;ILp1!~TK)rZ#{$?U&UOSC^e|5Qc#zyIaY*x0j zk>?XZ&J|(P%pPf9y|+CgqK4_8k+w=lXN^^0l)HbO?ZLVq+pG_+A;8k$5bQEh3V=C(k{f_Ao`BF*jJS$c=1vfmVPkbI_USu?r+&2$CkIH zv+ALTBUOLC#!OdrwCuOe!bLj2Jcbh?TSS~VMC?M?AfixLb?!y>@o{{`_(TH zH;fyXAP3|mKk@c5gT`FBAkA?|&87Y{X-8lnb<2mSiC4!Dt6(F}skJ&*Nn6x_*HJay zDEMHiJfKEbjggSYMlp~a>(SAwnQ5WP(#DY2J6eV2Bbm)*4vS0hV|c`C$EpDHmw^SZ zSIF_@9MP~v#3DQ@f3S^yn#TG1cpsXE@Hdqz(7n$iU6l__l{x$Di~) zn?8?0$;%i%lbn0AAy-beZcK4{PyFIcIfn_L1E+JiUV%t*SgGF!nKo`3FZ3}eCGApx zJezU~OZ4_D_4U>=Dw3ZTF`(XW_CbI0r@9gldnx63Ir3cdYcusaTMPDEQ1W#818uel z%Vikar!%@hOtlICYTZ{Uv|y`zukyO_YrWAYgDOYwbT+NLsNV^9?WEvaiN?}&{`X6Y`vo>`3Xt9?O`iE@KL_C;AkPm*#|@6TO30Xq`X;* z8T(p$5FKOj@W?KMa!DOubUv5Yrh@RhA$nFT!wlvPC6*^cguoHH3xtfzH#%0uFw~yJ zWLmta5@K!<*K(>Lq$P)(X=V7qkceMfisU4ftuO>w0)=}&YuRqGcY>SW0z#WPh^r=H+&y{#4vySz?%Hj zfM=&AAmmN;Ka49FqTj#AU;C?`wCCK~cAPS!2jZqE+Vk}P;gSTrTIN}Lhxb|nY5UFN z9jp@|2+>y6Kb*56kUw_>3QV=Os_;BFU(Nvyj}N?{J*wKYm{j&n2?uG_Oy!8~Wc|9DskD5Xk9h2i;Zbxg$q608f*G-aJ+V69w?u<)(?QD56Ld`P@C<_6A|!l3LMl zH~__jz#K8k7KxV|e_aX(z&Bt0Rs?6lorI|(IOXz|e!IzndSovJSY#bmlvO?RQ?krp z{|fOdo;>+EUPan+4aRFianj-2zURiZ|DDhDFo><%1>BuU@}%8Pof2j#*c0uq0F>7sMK5;TUqik_}KUJ&N`q z(ys=A;d4RkLB^aC-l^Ndh9Al~j$pH7Unm+jg2JlPx7mn51WSd=pAFxZczfnF`Dcdu}ineHZ?o~iQl2Lx=(jR zTBnF}!h@Bzl(PA3-~Ro6gR(JC7ItOh4)bJUUXogD*DoHTG4WHFRMJ|}Y1%uy0~j}! z!nYG)T8};oUQIg~wuW6P)INt`&Jgp0zmMa$&U>(M+^Xs;=bZ)Bfq2dPT|4486>Jk* z_2_N0&xQb&N%Nup)p>D`A&|STCA7k1x}_5LNSas&9Tjoq_Fs(cIZlFAgQBqN$+nEZ z&17}h)|4Mj1ePN27oLWgFwkzm*r z^}nNCb3Zki+ z@L>OzfGq0%!q0Zvh^B0_Ch53=RY=L7CXsMKz>cy}Tba{%!a?0xX@M&YK$3mX0DnnfpUY(8$;?QJsKzvGdKC0PTYRLJx3iOSNZ;ek%z zj`H=zecQMrDT|FnhoHH~@ZnrJbyzV#e+^ssH7DHj-vqNkVYrk{Xx%V0NW?84F$@NW zL^;OvrP=^2e+pt{M@B!a=GcTQykY_Hqq`ta#xq0f1glfkd+Q$kY_dR3@dmk8`s<=* zstBbIzxGQ;OKB!wl0%m7k`tCI@P!R4$3hId7>Jn>FV|Vju=! zFS;>rdk&S_W6Xzsx5u>J;lcqFS;#ne}N+3%pu`TfQ#@Y9?G4MSsfXRY0S| zY5}eE$ML|8Ph~r z6MM;?smdK4O0fO{_SRPbPzCfRl~rkraLWiv%hhiQ-7^?c+$qab=JWdM7=2`*ArHd?%t5Asc{kF zExo?yACrtu*1o_v#Q?&jtIwgU@W_Nj@|9_dX}?y>pO?F%maDjZ-ww=Fd(M;e4AOO( zjJ-e$o(M9M6%nZda^wKn0R$AaTF|h8X%{!i^_4{>#)Y@A zr7XiS(x-+E)pXVFlXF;nJYREE`ENe}k(nO}Kf6vx&PYBZ$8L2A-Vuftz*j zJpeCyV;~%}!B}}ag5D;qKC))@%huGEI^0{wX|`&xYL^ld z+S?ga=?WySIBLukqT%Mpq!i@{@wo$@k|21|HND;N2>KYpPWn{kSpQ)3)x> zwnySEP>030%z4Hn%uXXV%2KUXB<#)FWha#th zw#a&b5~C&CpW`|#4uGQ_3#G!;VfRU=m(StMt_;1H;FlL`tC?C8pOkq@-oS@1BX$q+ zr7TpJot`mzJRoo>Pt#pOR&;%^z6$fk!6*>dupN9^ThUBehl4{^Rdx(LQ~2JD6O@gT zLp6mFE5@FasBbm~RtZKi{`s5SNE~eben0L1zUROEw(&{w)^9!Hh-WsW z7S>G0Iq(d5>3}l;Fyf2T_)td-i_jGbz|`I6 z&q`WX?VOVzVyPRU3r1N7^ z#2ygu@seJf&mGV z0Hu(bW`{iMZ3!suHb0+3cj5b$xv3gndAMbIK&*7b>)gTyeI2Zh-**ix%9XMR^v+Id z+;)9_gLac{J9USb8WV{k@b}^XanE^KU@&%{FeVA;)t=?p>pn5{AY)=wvfMwjAjc6szi#P9$El3>KgUB)40r07gJ3%*MK%AKmn*SvLcq*+00YYBt8_;OMEm zDdthQsVLm+@pv@Y6s!@-iYBrVEzHJ-?BH0=JR^$IrP+c^VQR@kvzBtWVZv|tt9&Na zSo$VTRO3dxR-e#P%v*ZF$;33&4#TF%ROqx4=a3ChiNJ>cvL9Wk`Ju*!D1&6QLih}E zJk~g&AHn>_-!&|U@CcUM zCKm=4=%duJlEQ^nwS~}Hi0%w~q8Ev~)*q_4Im^kz%)cM0+5Yuy{Zfmh zdaAW40J^Im!)j9MUae_B;@=$aZNw#b0pm}IWStyN#cG6|m+)R4Sc7nMhEzZgY4^x- ziyH6ic1K-H-zk$CIayiTJG#3Pw_(zzv}F@opg>lTzS{OEebSQNrfaK8n$9FfrE~ps zT8jkzSJ6MTj`_~lr^}QRRvTjyDu{ZX^aQNFaY6rTar&9DP0in)`^hF(6o=qFiSKey zShP{jL)uf;2-*}5jie<#VOnk?B(PE`w=*w?>~N0cRPlYUWG;T|BdpQTRpa7C?tc64 zgHn*1Bod_3UjNrV^2-ITpJCKmXB_|~yH3I0xicT)j`g|g!RjLc?6u#UtUB-9k<|rJ zi1d1;laOBK7BgS^a>y;a-7=Er{y`E zy*_y84IxpGJzuY3Wk7Fxt#OXCD{Z*EJ`K9Uz%57fd(O^h#HHu2OD9Wy=ROv|SM)|{ zU+lCgyWb^oHAl{DjJ-PYYZ?ye-UE(!*amGy5)JgGiS=}z9|h-738|A<1Jii ziFNkIoF8xtfq9RgLq4EQp6{E-UxJE?X;1%&&w_c^Un$=Pc?Q0?5D2mIM}7vjO0;r3 zDV+VOBE5;bJkRGZb;aFLbD!W^S5F#2Yn(np&aG~ESzmeU&Br(u6XT+3`qN0rGu*Kl{&Xh8!JB%??>o z2BV|1!=*L1??KmqW@9BF|1DeECo$MHjd0wZDuHC_pI3z))l&lgbR!Gm^EC^c-ekam ze2U*vU9_tuv8;MFO^YhX@}Fv5OzLUgA&KP37-DP9QXmJFBoL|B&7(x!rM+8R6Q0SW pw39I~U;BU?>1gx+HRLIu>$5CeIeps^3c8yFOpPoJEA?ID{|9uly4e5# delta 5018 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 P*8=7!OXDg-x0wF|$uKvI delta 6162 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 G(Ek9Bkz~C9 diff --git a/packages/frontend/assets/mahjong/tiles/m5.png b/packages/frontend/assets/mahjong/tiles/m5.png index c3c008f8653f6c321e9d5128178ffc3cbadd946f..0f088c9893f7a4dbbab3820a3c947a5a05b04793 100644 GIT binary patch delta 6787 zcmZ8`cT^MK6YnNKAW}pTrT5+mgbs=n>C&X5fHdhPBE>EOy|E7 zoIIN%=#iI8U|KPG_y6byQTR|H&R5R?0D?~2q~HZLM|H@>#jZUqyZ5q;zVV$7k-{TI zQ_3UF?*46#FZNH#Z9mH8bIlx!97uk%sJl+Cb)|R4W>mXJ@fA6blWSIvFZe-bd-y5x zr3IqxCs~%)ed@tuyRVCkmiwX>UQ-*NSWSY0xfR$83s7nf(#t=w)|J0o!D{jAlZFKYjJXSal>&rIA;RT42FG?&)%_ID2!^UQtCneL_s-?4sVV+B?9e~v2mKFj zhzg7Iib85-U_fW6+!Y`ni{8h(H_Vl8q77TatYP9*e7*%qkCzKPt#xC@VW_fE$ zYCzB-BBs(y^=1h9GH2ndO`8jDg%16G;GUsEhPeL8;r(+!m0Mrcs9S|V<4HEz`f&99f z>gJ(uc5))d*|gGeVAzxcl>-?>1MA~%97na7sB)XHojhG@ic!nodNiGJ!h#6@5X-fB zr7=vz9a!b6i7@6(<{IJ3httC`i4gB?ItUaV#G^}ZR;8&yit3Q zSyLlXvO8DN7EBQTHCB2zPYng09BlmGs}nD=gkQmAa*xG&B3X&|9eC;}q+nLmgA^Qr zC_=GOXO|?v-isI%$2`PTW2&3;`O_+SyXGE%%2apUf&o@wx)T@ulyh zE<}LnKY4Uts9Y^y5-4_JUUS7U>wHPx!ii=8oWUraXeY5*gVxAmPcA+$^8+Z5?@)}Y#DTWR}+{n_fGT1WuN;uBmGu82e4 z<$=R8Bk)z~vgX9d!*L{aDDJQWL)YOOh`)^&b8x;rDvvqESYjY}z@d~*cH;*^q`Vpc zB7n)pNN~+I=C2I?P7Og^Vwpd~F$qwED)7}#TUPwBTRWNW&R7qDBw0*ebMSgSWCINP zG|=UL4kQiLLYbS~ddB9LuobaCTL$ud|Gf^05V&R^74%Qby6UkWmmFm?nSq16LkJ#) zi_qCk3&s)9k}svt)As5I9x|`xVLF_AB*~J%5ES9E;uah2KN&xX@7(@XWIoVgl5ARq zpc8sDizdTFr7U{Gc?J_bF&!%j>AE7&m#q*djax^*Sh{2t^N1_wiBe&9S|-E}e{x@V*_W~G11uCi1Gx%a1%GXz1RmU`5z%c3M=Pf!<=tznzE|7~bzoj=)>(I5oW)6EN->wY*+IXUbq?~* z&6D}OOUQcIxHXVO`Q-KfJ0#8)k%3~F`f}KjuDD<#`rZ6NdjB4^55MO+*&DSvWzJ1; zfHJsl*9FI^Yz4ZMt%~3fgNF2=Z77R`6eshMEiN|_&tDb#8?1$QtEhAI>PKJy{Wt&j0%9

    e73U2N~AtFIzc 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 Q+X2wkGSaNM?eO&f0GztSeE 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 UZCmv}e>y-%(@^8XU5Cj30l1c7K>z>% diff --git a/packages/frontend/assets/mahjong/tiles/m6.png b/packages/frontend/assets/mahjong/tiles/m6.png index e22926c2ea3e8d19a1d2f2f2335c40403d47f3a7..35c5972ec54b384c59518ff38b211c69beec627a 100644 GIT binary patch delta 6262 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 T4TA;gPcxveW2{}TiH`dpHff#v delta 5420 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 diff --git a/packages/frontend/assets/mahjong/tiles/m7.png b/packages/frontend/assets/mahjong/tiles/m7.png index 241e39696e3f34d129f78d5dd393e6a6c32b9998..a4929ebb1eb8bcc07c6e36706e4396f96881902f 100644 GIT binary patch delta 5694 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 delta 5170 zcmZ8_cTm&K_w^@*0HJq6mnOYS?;QjLfl$RDRRjc7ij;&R2!eD}qzO_)dM^P&#|NY; zHA;}Klu#6;{_y?ho%!CGyL;x$o}D{;cXrNffK_tFpNfu9h000!3zD>f1=GWq*YoM(qD@4Zkk!i8NfZi=&Hi8z( ze|i&_GU)$`ryE&ACG=dr6Mjz7z*Iq^WdW^iLN-_^ttZmb$qtW3oG!d^4q~pT%}JZt zju>Jwws+-Sd6O&|%yG+hqbHv8uJ**&Hygo;v3~+ZC+^Lt*CUr((3NgV#iA&Gc(O=2 z8cCnWnCB$^LGU4YkkDLT9WlPfCY=Jl`1)zxz%4-!uQTU5<`*&D^MYHS&VH;&BJ1p( zY@N&=s@otVc3e99GDSx8+_qEalFVYrwS!;ZOO(=rA?UdK3^1U%37*BvT#cI+0Ze-$ zOmfJfl;RkhFLhS8K4mkj3Gf;8Z(S~SqJM6_)2wV0g_ zs?-)en;rI5U~5aetFQf4CtxA%fp^722vBT4S3XSQ zB4WDtMXeKV50^30#z1eEVBYfcr$EUOkw98Z3RK(B$?5WVCp~B}JV^0iZXJJM_n`Xp zd%MSRM`%P4P1iYlLCIC1{|zN21{L|*I?Wc<4A}Bv#^z^I>#_Ej=RAIlb*m(DM-_45K6)ddm|f4dmv=t)7#Q?IK8qvg2{^*y{Qj zum;E-2zB>cEaTGrygiH<`tm4|WNqRc-Md4|1xSEj3WngnI}N3z>w-F8o5xN{iS$0m zC&P;N`SYdRx-h~im=_Fi;v5N_LIEBcD@`42!P6ZuAIMWrP-&WD{2$Zci2Fk_#!WOW zq_6Xq)Bq#LsiiMTV$PO$0#f!6l*t`?X7z6}_i+8e%)Qmd(ZR|%FcGA)fbn*X_;iWA;gxL7cq z!6qb-7GXKV{q)d9;oj_+y*-Wj71s_f((UpNSQt-SXl7D1P@llaLqh_HlQtJgZG8)9 zE8SIvgwa#csr9lF!cd@obWoRGQ@df4o%Pd`@%J0@324@krqjrD%i}YVeyA(`g@nvS z-;?G2Ry#%y!ks{wU8wdWXtY>7tTm8RKjI*>!S*@5#kbXY&3BUx-3BC{{SFu%3}1>i zben8adYs>lG=T5z_WU`n4ZKQjYR6c>89wB@Si!h^EtfFrgL{EPQ{dQ+=JC^j+4tuljMyaLMvtQkM5$3SRWyz4bS=-_XjU7cJS{`eN^KT^5tI6^8%s1#_vO zo>3VSN~jT>k)wu*X2`iKs`)8IcImHLDPUccd|a}UbT|tK%4Z-@8X0P}W-#WbFu-q# z$ty~L6TLmq+Zavr+7V(kRh@!;%WtQ_CgCbwg-b1ZX9vU}3Gt=)J z#)lo4b#vvn*$Fi{8^**5ZT`wnG3e`U;E`g|An3>c(C=bIndk67$1CA`*L7_$&klnL z?q6FHHjHaHk8P|Tm6fa{3PdQL7#E6Pf1v6{FY~95inW!c1yIVJ&d4};UJYn1!13^$ zn`){VX*Uh?^yEAp%#)VT5cOz!tKDq#P79%q9k~p3!GoX09W86QiD?#nAB6EqoMm|Y zGVUxEJ=3^zu8!h9OmS!=r_5fzgd9JH$xy#zVFC`(XpR=fS(VNHQG>VSNry#;cSna; zLQo8F`#FI=ftkXPn`=ri<7$BU0+uwWg1NkLGX2agh;WZk-?!CSS_B=eoCS|StF%JA z`TRh{BE@~(;xBO2S2uZd(;ri(J7Pa<8DyeqAaRdwg^!n(!Hm=KGA*OotvQFcC@LXJ6$GUp;y#za@59~ zP-7&V3%31qrugk+R3)Sn5R)aMMi#acMtXJweCkfaDTTUs^8*z_Nc|{&3a}ZcV9{{Z zD6V4@*QXLA+_i~tKV{;J=cT3!GHdUdHXm8n|Ew zYCbPYg1+0t#?j1WB_g7}c8uyZq9dCiw_5)^I67&FoN0GlD}?fzX#KkA8({hvvUuGd z``ZH+k#cwvlD0sLvcBeG{HhlzZ6zG_hnFqrRf@@)I1ZXVj=R^W-BPtVwt!JflFv2P z@l^wsy!JR(=I@)L7h}|C-@{dyTgG}A4Cj#2wtrooJm(UsQ9HAK(aa^WfbNY8V?r_c zX^%V_Om#Azb@5!@bGc#U`1K32ZN?wBo|06MsdCPayg79}QT~OoR-O({gn+~D*zi0s z57@q& zVQF<8nWCnh;c#$s(#-mS?isQK{cLGpa`djNHk(g%H0@^2de=kKF;MS$uZ3++E=qop z(b0ovObPHrxS30DpgIuT~Mx z;8$Zo7VKze0J7nusnK`mEgfI&R9`V;>}2=+outk!&QQ6TwmZ{flge(x*y&6dme%ve z9#sy}6{j*JX4GXcRsj~Z`(0S}<8!i7PFLRc)kf?QJl35r-;K~=RPDfDJWmbtQ|sG| z2|BXR9Ow;_d&r9p7cc(BtiQFbVD|NEzl{Q zl=(y~aqRfy;qcEBJ@YneP5LbqarJ`o225Pf$*>FbJrZ4>y7R*E^2q0;V~leK@8oq7 zerE#NDHU7^Ag|pmm9b_1<4Y*D7;ySXs!F94kP|Nwwbl*5Pi&zhTD^lga%$;QxFC|2 z*rlvy156jCOIU3kYn9fb*InD#HGx+MngGVoj{tIU+CiBkKzzT)XWg65(L)+8aF7H# zybS*=gpR?|hB=YsOs$^Z0&HSh%(6dXuCUVtvqtTy9}@oBTXH_8iuf``AG@ngU40Gnbn zS%G%)v8Gg~9B|PE3dGx}CTau;`rttOHJr~;r}loL18D45omij`Inj!i z#5HqO)C5ZifkjOIr1E&6$TcTsribWlQ>ygVciw3RnpsxaH;TYHiH;xZTmh1DF&H}H z)lOj4E6lkvm3We^0QFzP7tPbxO4IV+6{Pmu{CcbiH5pst3isp<_8VHB(GNZ@GM5}5 z$}CI#9Ic-^@tsfvKHhMy7w)OGM6@|K%;MH9v##I3-Uga4^6eWq#HEnElboJ-r!UU; zLY_|T*4HzN39FBSL7GAUoq9Z;d>xyXBq8HD8UO*#wWvT7)ea^mpX(Z z`&1$|c+Y0@NS8mO%58Uv79cLozkjt|*e+BW~im4latn_Ib$CG6#?mc|N7PKy%#r%tF7Pr$NvDM;xx+LXVsyO%|9K5~loW{Q7@Sc809amAzy&sb!{{2?Z`}kX1=8avX~hDc zw?+$o@A=Ju2S;xwUJ^oRXbE0WykUsf@AG%@PE!T6VR?|PKF`nURAYr+^F$Y88Bk2x zApke{D~g#H4Sa(JgWMDl&8 zX+b>FS|g9@g1{l4?_Vh@VO7DdfCxFaVta@LA<^ujuVPhIy`>C3o+d&^$^1QI?&Yuc zzrBVN(fl!z5~q>;V{6fKswpt|Ava;+PL&1*-x5t#5K>96(!!IalR`27R;a)&I`kXs zbSBmiYmR|2l#gMfxHiZRTYq0;c+&3lnDjp-d>Nyb1C46Z4-m_fVgD3?P9Yqp&_^4| zI!<(@7;`~p{}ZE+*?RB%Nc_kPxJB)$lV_vk%Ow>w(9O4Gu zmG2emzj=MPaCo_osG>7r!ZtEEYW^77%fx5gG`VY#DFAo7jj=)4Yl=vGORx!if?ltK z-)UzHm#x;XKXgWFuq@YLV)J^bga>6C{%ER9Llj~ZCFJ#XNpvkR{lenUl;6C46;~m# zubhn=)$Hc+i0f!Q<({V&co{+H!hEnRO%=8W6`no1pLCh)O}*UKl17T1Jq+ci5jZk` zTRkyk1<9AY7Nn4F-T>D93A){~h*ngdVPL)0G8c9*Fiz@y_%v2@;Y`hhCY4RC7#NKu zI>zZlxHQ;JZ7VOZdR24l9OsT;tbHyn0`lVDKQ#t%+zJe?F7p2n?><+gTwdjUa3m+# z_U@{No~uW0iU7(;nNh*A7=LmMT6EM8Y)i^|TzH43MzH4wy=57gRc%%Z?QC9=eQmFp5 zkpWY*kfRYzT-w}zim|$wsW~nHC=882TPV8N_%h|cT0^Y$9IYv)`ro^^TWF74I1kO( zqPYTXRW94bP2@zR7tl%eAP(oI=-##$xl#AX(rYLJ*pr7_aRT3{Wr*2dYo=QSx_EaL zqYJM`j^6<}@ti^Z?rYmk@_bqw`}VvsN?q|qvSn0(@n~A#n7OL&G~cp4f=f;OVO-Q zkjAzD<{FnmCdD6fCiF1jYB7J{#CjnX8NWA~wd-+@U$TTT2!Fq4h4-gv(6)^a-6%O7 zKakQ{&Eu{m>bTGlHT3%Ejtc>b$mFKuQ)|!o!abC~fs+_v8rl{}BP%Xa8$Y0BO-1}S^@S|KRw4u;LhvZPBc8?)(#R^-lyC>6z(PX``b4 E4>IkU!2kdN diff --git a/packages/frontend/assets/mahjong/tiles/m8.png b/packages/frontend/assets/mahjong/tiles/m8.png index c807817d2485360f110bf5934e810046f5246953..2caddd9b19fd3df20ac33a803df710c7f2641484 100644 GIT binary patch delta 5573 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 Is@=2y0{?GHUH||9 delta 5213 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 z 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 J4O&j|{|794WorNc delta 5456 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 diff --git a/packages/frontend/assets/mahjong/tiles/p2.png b/packages/frontend/assets/mahjong/tiles/p2.png index e9c4bec04fef6a13e535bcdbfadb389f2e3d428a..f5182ad5826ba00ace4d184ace0068e260b3749d 100644 GIT binary patch delta 14600 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 bul;@o`ZJN)`v-vB`pd4)9!@om!597qTnUDq diff --git a/packages/frontend/assets/mahjong/tiles/p3.png b/packages/frontend/assets/mahjong/tiles/p3.png index 6c0cbbd434b4242418b1680402ff3acadb0e745f..af2cd17fbf0260d6a09b27254d60cf84d5246b50 100644 GIT binary patch delta 14240 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 G^#1{xuSl!_ delta 2185 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 delta 1958 zcmbW1c{JPU8predB`LARR#cIu8e_Pv5=-s1Q%kQRlo_;^^wt!uT1q6SQnjVHReQ%+ zI=0#dQzdCfZAAuEN~X!6VvD6I5mLFFd;3rSyw5rBdEV!H&gYNsdB4w__87=gB+E-Q z3Lk+$Abr-s!4L@i_a;mPD6V~4N8erB!04==5mr055hKCBTdtoFY5Fjy^4ObIBP>@RQyP1FDC9Y9i{l0#;$QRMpqjhi#S6EXUuGQ6$l_4pG zeKSJbn<=;wEmzl6oHNNL_RC-J4m>$ukgXM?bkS?^RhqJ&<>*AgVoXNLc9iDm)k(7! z+*}8#KFF|A)BmPOwnhyJCtWIA>U;WEwJ=1q`um>djkHG3Tu~9mB%pr)m8`iv-4WGW^Z3FUzad5PaJVApu6Ya8bdZg?1%3&U6K)&F^{iioV7S|ObXRw zmjJvUJ;4x^m^-@OI=ZQGR2SDzu1xlP+w6XEpis^fqiXkhRlw*bEie6izW%u;%sD${ zb4)19d8baXcQ5e@K_!U|jEHXWXU)VY4}9xGy5g9=spIL-AJJ1<#1~(9%6QNEG!L{^ zjc*Xd>Th17BrUx5rV&RBpWmG-BurpdS1l<$o%!7mS8Y5!kPc-Yyg4G={&EBaA}Vuu z07zl60t7;WhdNkWxW^Q;>0Os(Eo4*v_Dr|N<(`JxG+3R~vEKqKE{J=%Wlo6xS!Cg+ zt9o}&LHdn}Q$mU8e!4W$&w5@ype|5B7x{IdPh+GAIO2BJI zkstxUrR}B<2kskgNbe+zev0s~pDv3ZC1vU91#@T#Tq-gp)z{OJ`J-{v($E3};tQ~n zML*OZ@oHW7P#ovACt_#e>+g)Qqu)KNLS1$W{n$O}FFxA(=zO4$CV25#kUb|Yla5j@ znBf*lEJHLJcjy0P`Pny;bT~{1a<1N6>{{j*LjKj;ZzJ=BtbJ>V{TEAvne<9tb^j0e zT4Btp!o&jVmZq1+JQgTi{IN%-oLj>Q0V|HF$~z}mex(pPfD5Rb<9Po=?T8;I-$Ij~ zkIq-^`_+g-lk$fvr7o&B1@sC&{rrjF%>~S|S1_b>vZ)V^rqn*9&b?G!?D(o?=)l{K z1mW|6H#26e#Oqih^)F;tzj^1L#zJ%W8y+x+w0*)~KxHA|n&%cO zPw8u9k5P0s*<%8KQ_9!S{U4olz}QcOVq(jj{ZUi!HY50-x0hi%V4d`qe9-_uf{EEc z$j`H=-oKgel`Dr_A6h5_))P@;$gYM*)Xu2Yv4UX=@B$n`$iMIrZ@k8+)ve-$LGe8Y z(Zw=da{`G@ECzb5&d-y@j$;KI34m~$-3`i04I3>#&O@3glAJsY&0yoa=ze2P*si1f zopZV+q#_dmXSW7Doc3^uf4stUM%lZ%r^~vzw9E!T?=7G8j-BJ-^X@FJ;H-*`gFO}~ zrc7uI)I?!p_Xid5nQBIek)XJd+ZHgH)9Clay@@>50WdYe<)HN)ofxJLJWJg7U`dH*}> zbr04g%pPldrVw)PDd6rNXwC>_Mw5-n9WgRYvDplm1#Hj1lz6`-f ztB<_+btpk)(oqf_*H&6)7+T=ER_S7xpX^a^=uLTN@xU8_x~24Bi=WVm`amW{aXp5D z{(i)P_M$S*^M=h8gG|ktD(C;Pi70SKrh3zmdAyj8`HcwQJV^(QyM*EbjY~ckmDhWGj=C69R#2t)g^+MrC7UVb@?|qw(Ebt z>H_EZj$QwQBLo5!kZ=e`4oFPOz%nvm1r}@mEdEeiC36mE8z;eHn_yrlM%@275LW*$ zR}SgYJ>50)gjOXEtR#BRlHR0LH*Yd5nW<%JrX$e8emoY)`BRInc?Blb-Vk}@-e7nG zTliXJ9T8PGF*`drDz; z>Zy?z4fop=+=os18yd-5c)n#3gqYff!a7v>+dB5FWScoY!9db7k&NJoLN>0S(N?sy zpOQ)`j@4`Z67Y^u6W$6Q`sZ;8~NQ7x(Xlk z)00_}iIs;a!(gZ{;3XUrGcuCtvv(}$vbU_hA^aTrc24rz4cw!>{jY}(ky~Maa8cU? zr4ia8pk){ES*QH~(_{M@BV91^W+b>v_*dHmwvlu~TP6=CRsr3wO5`J*#p>H8`kOBN zxuynmv(0NABud_C9(kRil7uHf4*%g!a9uy3q6>LHLd1-|Gat)i2kP%Tj#KFZl(#2h zm57dPC|~UQPR|@}l_SP$PnZP&(Kl2s^%m#R$K{@G2*&K&-M41PU;X@@OvaRS7Ki%# z6*|v;DC=b`(kb`KP%RxMK@!HFD&Hrv-8t^R?VM|-K$Cx4447VH5koqMt3*mes1u+cVHx$Ze zS$kRX5SSWOTEMT&wH2j3!v7tLPDvwGB3^ ztRHQPUIs+RPHvUmvy%WZc~izew5|m}AmxQRu*rQ-$hPk9+Pbze51qxFet~RupL3^o zPQ@u@s)AJalBOhq-P1#?k&1|c8k>`{dYDg|!etG|@$d4lPLTka ztqNs=L9lOVJDpD~Ul>i1qvV#=L+yP3Z1Dp&^n>r!`zGcH+;hdKXluQekdVGU4Ofqi zz7=WTW_zOkzzP7*^p;WiIZ1O_*vY|;(8LhsVlEQC8vmL~(T+wbXzNxH@XaG?+sw?bz9;Y9sA*K{Gc zRp|nOo968>vvwPVdpbP`HI#aldTLZ^9(?uJ%dcXm%VuNEiUy6?kA33Uxr*X|(3|In zS54p4%U%!P7N>?&v@Ap#71}pndYDJLLm0Wv-1DCbRAyc4hQ6F;4BRB8DNip{N=9uD zS|KpjT0jximGpbE97|0h{i>{9yN3O#6lB<3wJadPX*CKwEZE745C{+7jiZZFw;FRk8p|{dO&YdPI9-e6 z?MA3PXjsF4SWMpDZl7?tgtZQm!@mpRXok{;05M(amW5Qm^;r@{&)ke(mGvJUlUJ~? zu-^LSOEe=p=gNzZkHq0T&`dW?z4DQ^GT2h=xE+4pKSdob1~d1)x0;`vMtN~XOx2Aa z70C_h>#vYsJz@tv08%4lhDl&&)4G2W)ktk{IvQ<{iSZ)(yhJ0sidQifK~6=mb@X8T89 zf(_Lw*N=RO_xV^S!wugoE9mhE+Qt+C$b!!qv>py|T6*ebe_zE{*UGI-C-z2vqqBbu zxi(u6oYC~q&=x{SxUB4Nof{&0tv{Pi8d#im8bujRyr&L-YLV@`yQO2oqS>Fxgd-w$ z2Ofr_4p$PnqK~Rh))BuTF2S6CqP%RF&v(L{_;o(fvycL_28brgWx3*Uf0u6n&TxF} zzI(grHX92WW@SP0^9wIe4mo{qMjMK|$cwe==#r9f8hQAqxmaSu`eVE>h`v--oTu>I zX18_5IuPwo72SV%~U->B7iDB;Pyvb>VAtohDwZ1r`gfoT1`HKQk zYzprJLPHUZ{HpNS)m6>c_eS-B`>h^X!|fe(V)SoSRjfD9!3}*qJwZ65Y0jH7Hf-$d zsJE#TMc+1J00uJs0mII3mld7+eCXIUwIOe4spGKkQ zR-c;UbvdC@M`%;lBw@ZKR<||!6Vc{DLmLOQVMGT!YdUsnn?N(n32~ZjLmpk@1o0Lt2+47P^7X#&@m_=T{Rl2DE`v>kd>jYFgoK3Z1FmGofH-i|+F^{aRCmZSY*$*Ltet=MBAGbaWcCCZ^>k#hjO` zgRgm*nPblTnH!)^1pTrs(ml?1qF6nf7gOyqpPT!ZNw}(vFTa*PdfFJ3Li;{Xy>~sg1-*GC z{H}HOqv>IPajvOOn@fkG3wTd}_Ed6YgpjK6!IzAT{Nc+Rlxz!>-_!aDr7wM%cDda6 z>1WD$V5KRt@gDHp__pH=O)yiW#Mtd#u#@f)7aKqH9Nz89%sBJTjXAICW2MN`OrUIc zn6lEwFk=hKs#=j2BlrTYO;luz)f1D=zpRxO)$&pj$f{u$%Kp{2?Z>Q_r|>YW6a%UR z)$z4#Z?~6Tp}LEeA1^_I;U*U|=*`Ky*1N?sG|{|Tgur*G{;u!4sJ7F2ZGmW(3^O=# zv4iHY9QK_7LVgmt<22(no{MZVww%I_t73w0eD@l3dUK;ABSCMYqZBZ&ZfC?DrwfPy zadGHZ!s(JC-64?W_ozF`C;azUeTq(+gJYu>uQB@fCUX>8&#mhEsv1!HF!sKP(S8%v zCNt%R!N9kbwT--B`hhXVYTiL}w!`_GA|M;BCv#+{Ogpv482#bl!G5LvJN(U|YMY+s zMON3i*r)Q~cgSc~Tf60^9qdJld3CwGkh@c1(o)*8Dfkpb-<7q-+WR+1Rwjb+}=ZJ1gu4l9v0 zA;|XjE*mh&##SSz^-ow?-fSb@V%sj|DDTtv-a&-o&oxx?I3rdAp)iz=Lt~g$O%E(l zlIlWq7Z38{TV1r>|2==E9+$KJ__!gG#E` zppS$zVxW}nHXyk@qE`|UsVnto$lwp1Bo~UG@Z5g3U|L4miB!JUdYPJ_$-Qm?ftBDn z5kcXFtIKZs;#TV837S9@L;RyKvCz-EW_Qj7$xOYvMyDe##PIO^f&z3x+|Zf?OrP7c zy`}7VuefAsZz=eLgM*(9)uuOh!k6bj+&Me~xZ4YHA;L~|c5@=A%gv0fh_;;OmOCsq z#>`rd57EDmGr9^57kny6DKCTn{_w?4>b$eol0wk8Yd5+_beVIAmwADCx+&-w!!QgZ zm@RdBd-cmTGaDQjp?G$pFvJ#E@L4DQr2Qv8JzZW)3uk7--Hxjd$;*Ea~DsNe`BYb z6xmPy4MCm#6xrerprLj}v=7lM-@S{Jq|eX}M%ujNr{+#ZC}j~GUYU`_tg5Ml3L5VM zJ728wK|44I{6ob~AGzXl$LcVoF$Rw;R*+ag$zG@wM-zUDJoDd7fiawGoi=aRqKJwZ z&zI|2LUVJA>GE=k91i&ApCWm%6+bh-ZzAu0~eU7 z*Ml6@)sa|EV@gV`YgdA@{r-m7`)i+KLC`T#ER80aJuebe=Zx2jmlmG+SgcWsU8tC@GWU=S1+;NI^32Eyqvn(^tf zH3<0Pz=CW7<&y`$zW$>h>E};i@B7p3oGu|~IY6k$b8G$|jI+DL@Ps@X!??uE(R}4X zR_9icttw1vC_FCDud3-821*963B)J*x!>chf39l=bpqbOz{1ale9f)qD1+x{PgSPm zEu$7La5H}EwJ7f*B)ZJRie&=%wV$~|wC2vnf(=_>Q&=!LBbk{vRo$#OKoUI_d ztB->tN4QdrQS$!&MaVY;f31AaON#0Vjd(lL{iL#??h_qf$QOQh=et)w5gi+?^3T#O zIU>(?^HNO7k!53_b|~jYGr|t$Du5WrT}=I)*zE~ z%%?6T(ofkuGi+{drCuyrnOj+4K1i(1IOgKd4-Fy7%OkU~1)Xg~BhU?{rf+O)N&q?< z3MMXh7}i)7nqS=tGn!H*3cgs_gx4jWKTK&_W}*s>FRovCdV8ylEl1r4!A5O6-!f%O zPxEm$ex?6;cK31DM1!Lpdl`SJ4u-_tLHcAU@g2bpqH=!K`1b@xLZ1mnCoTc2^RG@n zuc3^8NpAV9G|O2tJoD4hMIfLBhvQAR&?_Fz7;pU*-skbB0*BbW&HH+r$*bHz>!QQ>st^b_)Ni(wo&$VB5x8R*8=TnP14BE zAD@~ju4fsSgO5olFDeS<+yrF&g?UuZ)8ot%29#C?Gt;cn-F+UPWLKC6&2rg8Qz^(DzCGi@AiOMD)k z%FfJWY{!RO4AO319d;6hv3&ir-`R^^r^k2;6*x)9&rb-VEusBcOrV1)x|vR7WRxr(OK-e)P3!bVm)+7mwI_qn_#3t&vm2n+cXx;QMMZ0^ z=TNArrI`#`gQBBRqX}l_pSj?Adcw-^$JyBihXy$%@(=>IWWs3}VfJ5ms$`WZF_WJ* z;bQW#R0j1`lyM070Fen_FCRY<@Lu4*dk%?gBO+G%@$7s}!OM(tHo#U>gV^Mf%oIVT zlf+IF@o7Al< zp(|@^bCl0Oc)eF+bHuEp`?Gtz3>snVGX?v0ALUgVzu_vu83IO&*sJw<;0RJAVq zAWqE}W5Pi}aE`HMH|Zs_wx$VLo2RC+efsbSb7D3gQ1R|k&P}2SVbfM)KNn<0+esU- z{A-N16F;IPq$h_eP<2aOwT*Hg)6j1A*t}d^T_H!9Cy?Py0Wvlm@r14;0uO8ioOgJ3 zLdcX40?A<2WUV!hq=HhJc9I-C+61mK?Ny zt}idaE_=a(j;@>P;GdnWRYKi%?iQk@>XU+<`7Nd6%1~k>mQAgcZFzJ{1b?zSSTfGz z^jN!{Q5A*@x^;oQ#?0 z`#c2mrBrOKOyGe}dzh#A#GAM;VN&;A2>7O`4}99JYEMx1_U4n0A)4nu+ch`RBe+pn z0-+UdOt^Axt0eDlhM~AWln4Sow^6As!h3C}pIO=2sW~`)%4`2Q=TWmI(<+-i<}EM> z%*UCco^lY@9H#H)?_Ix=2z<`aY4F5eJWGIa!>5O64wFeWP`hj1wVS~?J z6`p5QpFyws`}c1ddHL><9@rga`eMVu$QA0u-z$D9HK?v;o((^)&+sHbyHE^OAZ6z# zq^G9`gUZNAM3yi*L*nNqz>N{L8Fg=b0wK7_2x3`)NJhJYl%rO9q1p4RDqd0`T(VqC zeY*dt0L9qB^1r~wW~z}@5r*JGK=6B20#!m>s_b5P&Ar1T54@}GaDbAU#l*(?2P)sD zkPKYrN+zSMI{J>@g@LfhWM&suil8HI$GCKTX9*qD>GmN(ellp_?? z@Gep@>Q$|M-eLld_2ebQpviH{Sr(SNx&lo|-sk^!{$KIeJAZZm*1Kyvhp^#)A-JEe zl+vX0X?A&Y!b%oD!}Q(yabK^TE)eJb?OVLi)YR1d*0wB{!z!IEkz1AD1w+&<8y`w) zsh>A4-Of|*L?h;>Fzf(fF8^L+qpV6v1jOOv*&>6O-9p--BsLL~OT2$vk1DUU2X< zFW?#JTQ6%w;ehwVy9grmAYm=F!W}c1zI%&NmWgGE^tnCRYj{DBP|U1|K{J!~j{?aZ z(Q^F@!?jm1EZf*$?;NqohDqlc2h*urMeioFnKB3GCFbQJ(ZbUb_XFI#}VYVeuXeasRyCsBl;Fz$RAre6{`3S}Hvubn<=C=uM^wC)!4rSqs>yn4h; zO-OF&61R=W@T1#3aD0?4=liNQc|RLNb2wY*XV&JaG6@Ao%F7#^Xg7zE9ZUM~$Ib^~ zxJUC(m=wD@Ce;so#;KIpl!4~#IZW)&6lEbHhoQ5acNMbWq*7mQVk*S*!n7>{Py>n& zc%64Kti&8Dt*<`_?)83`25>V)Pgj7>VdLKqs;-=R%@KG22#L~U!85^o+0UBkAEm=% z%YvYkwYQ8tICPCQu@-e?Mz6z*h7@=q#WsThCR>wXO!^ zIXQlBNCO@3)l6tW#OWfp@o$DA2c3&c@;%Xy_wO}sZxV%MHe$#Ugw$?qXDjQOoL$|V zUGqghe?lHU>yL>X{_;uaa59|E5Id#azWj8WS)yP@d*fjG9wj#HC7Veo+?BdU|!>d?F3Am~5dXY;X9#{|aOn7*C zfeV!a(*tdz$YxiFWZTm7^`d!_{~I!YjLb}zNvE+InSAn>k<}+b_`32fm!S!KCBI$9bcf3L_F+E9z+R2oxhDlENsG(C=*;Yqfs!4s12mv4gRAb=%Io zAVS{hjl{iwd_2E6H)(8XLdVDM?J5`s1}CTBIEqjEnURGoM(5h>7yKkzo^)~?t6qQf zuHOWT`(cxR$e@NYSrmM{N}jnalQ@bg!pPLg_jGdoYP`59>FJGi78;lF7$pQFEK#my zW^39tR;~{MPnvo^&mJ?OR8IX|obv6Bp~bU~P5S{>poo_=c8oln&GeZ><8aH9cRcLQu1CuvyOkqyi93dwVP{J$0w43DYd9Z-ldwe;c;0x|GpLyzfwXff9U(4Keb1gtj>s#I1qeA z?w5&#{Nl2R^d>9BNf8p0CHQ5Ol-^6f^7JL_<1HI}uB@s`^t`pS0IX_2uRt7(O?eX* z9$w(o4WE)Clh@QmB3FMt$w4VoZno0iQj#DrSCe*`FqvK;%_&t1@z)NJ4JnNg9v_=Rb4f+ff$p1W8 zz6Lr@(KX%3CUb#pQP#0f=6rP$XJCvOXq#LQtPCEKM|Rj?#}MoY`7aG z5F{a|9dVF*EfelrijMS@yU1y=w_W|RE^GgrQCGl(2h7ERNeEKew2aN@b^X7Yj#M$G zbCv$~3vNOFn0pCHpIAN0zM-kmj<*f+I0AkDP3Erh&L7rQEKhfYnP&a`Aac32DA#e1 zRETH_0oRA$K}aJm>*n#{Jv|TqW$%K???-cnCf+8L%vZRwhT{T}X6zxz<1aO0+QM{g zX*qMe+f|Pb&`b)Vu|7X&E57c`efF+*>>c^_a^dQ zcrjJWVdynUS3Ao8Tm^%xzkMqH8Iq@I1m(!CXh06j_)}t;n~TjDrADr$p0kuC*51 z+lAsNS5IinH{bQI$%^**aVYml%Hw_QNnb|jD6E=KScx0mCPIj_Gjg!pOuMpFpW|Yz zZa=J#j-4&zDu&^t94rwrI6nQgvI-|&f^R|n?;<*ym2_62(B4D|^06?0J~CO8JTS&; z{VE7^Ee4th^)cbpepoCx#c0t!g@=3>Ts=1Oi&Ta8yWFfmW< zZybjeMPioN9DEdViv#oLyuQ1+r_|*il0Q(rjba$tY@Eqp+l9oEc+weL6o-QsK!lW= z^|6t-!mqZ@*!AV_k;9c? z2tf9^mANZshA2}Zw<263C@M2@Sm6Yu-Kn9Y1-3UZT#%Igwq-qRlPh}@hWPh}d5HZruu^r@=$;l1tTL((z zhTf{pqo@OcgcA2bJOolio52+7;-3W`f?NVx*g?FP<@Kr6!@ z<;p!==7+sOKR@A%47@ZD{FRlAAtop1RXm!-_{m;QpguSZ!_NM44T13THU&vbx$N7& zds2pVxp*WJUy}N8eJ%`R_WDOp=nd<21%>pTuFp5A=HymEgH%>$NZS(q*RPf2LJS!# z2r&Q#p?C5gYn4D`^p;nKF<-sA+uy!XY&#F`WxLs&#}*=|KN@jG%IXV#3WM=y4Hy?a zIhQ9$V!`ohaHdI;&p!B_+LN#*m!IpD`Ii=1T&_j>-tUVZCg6$9Ig(vZsBWGmwnzNO z$rPlKaJIPSU!4D4@NT?VnQLP(tO?G?5(FB$bYO4n!@m6)5_ru76MFmb$0G7iR0)H4 zvlaaEML%*#snao$lbuXns4k5#gzwq#Qq!jF7f6@JvO<!+_7;#RWV5W_btcZ;nH*N_YWV=Pe6jr zNE?E{!x3@ncx1y~dSXNFN|E}zG`?@y?!=}e%h>S>MDHy3af*NT_BSSqKDXd?YHviG zuV5z}H}Nc0IgW}QYTaxki;}qP8DBU+c8HD<350@n{k+ZW>9Aq1oLzW3{BWuLmqomt zFNn?STHFiQ`rHgUigNo?#$C%iBmgKV$7#JgkFB+CNMJ1h&!}Dl-YHCHhLNbY{-=vE z3lp34o*H(OQKCkSy#@)pjMU`c%LpuO?j5K{I8qy`r`Z>HYzXd{vCf8ewQBgpfqzn^ z1km2mQ*M$iu(kgGv|2il->Bg42~spXtxfGmNC=Zu8`R+1zu@%Lq-=I?0JimNEUvRi zvI~owV}deKAEqjKG_NgpH`+Gq0-vF|qS7VybqfrQf-9Xo%r<+~pGzWgyDM#)3zsWY zX^UF<;@$)di;R1O(SFhF;GL+i`Evc(y|KG+8Goe&lWF}Id6WrnEZY%050G&57%x1v zZDVro_-Uu*VvHwW9L(WyK=5fYSM-b42yu~**YDlbVS!g76w+e%-Wc~akAG~<09rjN zq2dhZcWent&tI7T9Bu5#!~4NAqq8LY!sl!hp9({IdFWP;MluTKwD+eaa|1Xei+(HV zN-kP~Vj75;uDi(B7QNfScTA3pW6>)iFeYx_8I>ItXn5T#4yD(D3DHfb_4B`tPnvPH zyf+Eg#NtpHka>@jouN4*hU{C`T{YCLr!*_(X__aLoGYs6r%Gy&$orVtqEhjzybSql zG;OR4x#*z9n29RwklaHlYh#?eLw@OzlhIlK+KwT!NI2$sEOT1y+q-G!-RsXR$-%fv zSF67d7MkU3(V@Nq=BHvACntFPD)DfiLzH4|bR`xoAtwK*3x`}Q>vn4R%21*^hSBRb! zggA3^G>?9r$7^Wkr`w389gq^`T-85%!&Z3+rjGQqiPvevckDgV( z)mi*!vbQVsv(PuvM^l*UY#}gC_Tu%o4-V5OPkmLg;cxo>WHq^H5&m0s=|rLh$G<&X z@I@CtgKl^SiuEX{<~z|S!Q95!x7?4)yGco{?0Urjx$Dco*)xmn$A6ZiTe@PZQ}4(z zG2xj$Qw+hV{sO`i9BozKt0Vtvw(@oct(a=p62+ihhwWh;17nfPj#xN~px-T8;9_ha zJ;koTp~GdJ1svh;pka01yQv8^s*6&Ktyfu^3AS5TR9mIjNP*K=Coy}K2629d6ZGakMGb|{;5n_jnc`GOIci(mRO%YS zs#~C~gEPOYdjPfW)~x12FdMjLyw(*vVJeM5uc z;X`JwS;BJCp;fMxMOV*@3L3=SLxXY4zwQ0AIHE&8X)iQf)8o{hktqoU zH0K2Dw}`zbkydoF4mjSk2?{m%<>l8ll)a^2~T@Z0N1Hu(8dLUsjSeiucA3u-BZ-PsuJhhKSAB+4;uOW!JZzu3t~- zxo+_l#5`f`LI{}DsS^gj{-I&X&Q$tVW)-LE>8ZsKmsA}Dpu%W?BkfMX$$q~s5))B5 z$>F;G%oAgFA4{P(Novjb_~GZM3P-&FKFi0nVg(%u3UUni!r<%$R5!5uok`~w}nG&nXaXv#Pl%B*P2@hm6XjObOVy5R@Sg%U_w#JP7c&};oS29Qsx*rMOcgR zrn5QxYZSGzSsHC128i(}S!hHrb=iv}BxFCEQ61vPGV-TBjjN5nze?db#Q&qBMx~l$ z0lCml9^P44(o2YAK!x&keXtEDO3~F($*G#+eL{pA$2`T&e&83a(R3}LD-K4!yku$M zz*|Flr;zuAa-f`TYGnnG7Y0p>#E^q~!v+&(X9p(5N=nA7YLi27s3Zk9{#4&PpHAML zMos};FeaOsWm-)2Z8esgTbxm(34@-_XNFZLXLREUSd^n1Ry*q=azpGZ3>NXeHx`H% z516DEwb9YaJ$);h6_cx!Mw_}dd|J1+SlhTCyq?~3$7HVekpTU&(e!e7*!~A>5XSx= z6wj^xt465`A*NBJ*OJx>-L`dUi7%nXd%F?9Q~iB|W2E+p-azzrJ~efXF*owAI~`s!;AZ7B~vb;8}3NDI{I5$pL+Ma zTLP4_$H6C{WqHXXmZd;rK_NUE(*w&A2ZzT~i_{QXs{Na%KOwhv7RAp}3B}aTju5C^ z%q+FZf5XPz&#eNcu9xWP;7Zr&V%pZ*3=Wb2RG&6k`TG_AjtwVpCG<_@I69JXl!^6H zLFu$KpKm`Zx<_XQ>Xr93sYwQgpiy04^PUx#to;~Smq0#!ch=PjlFO;0)Q|KU)V~q`yu4ybL!xqKzKOv}q-RsE`L56R@mzv#(1fv2cat3?YbUz2n zB%TKxt~m`G28k3wWrfXo-7A#aozF!$uP4`KnJ_blOR31(jt5jO0=in%B%tlSi)}sZ zAVMpY+Vfy(sG75*NjOSyX1<5+7|WpdzMDg`9ovs3#8zKUw;L*9W~rE9D5> zXX$;>gZkk8$N>IwxNRNT`-OmDc)2g_FmvhZ--Ypte1%5mMz)l$RlrL?Z&k>K(S8V)~se-b6*d;vThpB_{QJS+YAgClXketk`Ie+zody(!M3x z4vpL5X>d!=KRZ8q{44xLICUTrnll}^l`|Me`Y_f0Q}^c=coo_$C|2~d>6twSotogJ zEon1-QMHMT`~jNqbvh$!gt=acYS_MqVgoFn4xY#u+WwY_^o5Vt! zB|k3v>jM!Yobq%kEs+POT&s$}tlxi~e_&C6GM?QPq@XC8a9U-MB?r^WRY09^SbyQp zknA7*!~BwDn_k2LH@QZggT^qsyPN)IlAE70nL^o$V$MiwU*djtY90ysfC$A3l6c8R z`uG_n9@t)nN#5Ztgf_P|%crdhxW}_7W{8ZZPFK2MCVA~eth(aSqh8ZY$UWz@lpnFU zV~t@4Z=$(7I9zA&q6Spj0rO2>$NBkR+ExXvIo4qc8Q(;?zaNY>B#zyjN$AeOSewC% zWr?Z>7@=k4czs_&G3rPv+KB00j}3hG^(SDDV-*Hsq;G6Tc%4#a8hPwL-*ATEmq^BY z7b=Nbh9VJ<@U&_>pCxphUTp0nV)SEHgxu_3O%rH2t_;_Ik5^V=0^R}}NLHol&jD!K zINAlDf8^WiFzcS@ntE{e(-&KxmKPq`@J^V$zlCG~Cmz*&CklC`xY9*wrx3R@_>JY`}9uPYbijq>T!fp02q|Kyy zB`mh6344$mv~R4B57>KFR2aHeCbkjP!Tej_-wFS&4Tp4jDH|QRwOfTL&`w#-y{}n> z*2wi-80C}7Hk+Q1JJS#M-~>Pa!QLZ6r}mB5^vP`R~`0Xt2ks@T6kjrInJx+TZL#vIhuGy8sc!AVja9O8rha0D2u}l4>S>(+E@hN)) z^%7PnCUQ^r_qw_5)^0>y8S>nzL*wjkrRYDI6kgCBfKEeVf5`AZ1F4i}HoG$bAB>kF z1w&X%`3{QBbzlCrfU)-EFpP^!cO6l6jZ0Wq)NT%y`hEf7uQv;%mw7Pyg?!SkG|?}I zXG=w~qelkoD=xlb+wx2FQ(`2<_FP?$Ozk3N{g8Xu`{#N5#`${2BJv3&1wPpQIBcj)qSJ|#iHWl#+fI?8Ajf?@4$Bo!DrFglYu_^IiB0jw(JW9X0j*`Mj z-nbf4MlZoctoBqJvKQk+`>jAav>W-O05XC%v{@94%bigPmF3p*QWKvKr6Gx^j{iD} zY!?h+3Em1cyMvm)xdfm;3%bG7pw|NyzZ}-_I-ec!HjH$*D}N@6>%-q;suVS=sH&^$ zPOr}C6_=Kj6yt;czE@bB7dUa3O%%`mB=hoSzN3O^j0BzecxxFn^y@!Ww#^HWX6i-Y zVfBm8*7?w-Nn`rqX zm^hK3rudJW^L0k5k{zS~gq6Ghv||5xf7{5r01C1w=D;oG0zPB=Z>tROtfj>1RNveU?ag$UW zzlmKMN`mx$W8gu%jCi%g3o^sgxSMQ|(7jCy@K zEj!hoT>G^Yb@==!IO(-bhvT*w78^6EA1D77gp_?J%J#h%5^r%A!N%_{8lI~b?B<2jMT249(k`@}P|Qj{$FW zb+uvXkMhHl!B%vbgIw#bc|vyam;1{{E9SMF z@gT3}Ke{C%m>NS*jxuJNL5>ys^bS_)Stn~_d72`h`!rUS0o$6}RX|4ApIjZCpj*mz#t4d<|_;h>U;Bk9XoH|JEK7+~$on+>r5L z#a%Z4^+~Dt7Zb!IF3wh2NI#FWlSncGUq z;RT*v9{F)hZ=|lJH#B1Yk7h!+nbcN6qMTB4U&?|Gn5P-$gqf5w6;7o8PyL`GJ`sQj z<~!o($(3WT4jM3m#j3~? z^j+zUHL+G~2bpMo?a}_Fp?FX*&){@fcK^uYJ|iRh`f}28_Z5_Vf^zwWv!H4#BUPTv zsw(t^{+NDsYAgjp@W5X`x(XSdj@duh);k0i)^`F36{2P&wNyq-$u&D=i=NHA(>{HH z7}RSufe7kUSc*cOS$j-Qj!>7%k$H8;pM1p{8!s&8AZ?;bv6geag-1n5Iu{L$m#V< z2M(sHz6bS<5#|4DdGrwY<)#NKP!AxnX-yo`qgCSxCu#3&Gf9H{d zI2k`^{(O1!F+NM!>aan0pOc%5Yd5oA^j@P>!qpYU>)|24s3=dXtYq(uxxVaBJNPPD zOh#7rmwS0y)T4D{em2RRr9av<)5`?Nii|9b|E2!R8mHcI#AeX(9E#!J~BG;&VD+LuDxACLhA4& z$UzvX$S)zJ)^>Y*w+*m1vJGpy^Hw9Hd_APx&@_Vy%`I3vn`s6R%L(UqGOO4rgrh(o zm$_=AoW0ui)g2?s>;xJnmDP&L3q+a=ZK02DM`{g9U&?*9H`|sPJs*&s&=CI;?^;?i z=(on&`UfVuiLABTuhm5gD`j8-`K`~smK7@lrv)x59HrkcBZ{$HA&)S2hGJ$w?e8Q; z!iQ$M*x*<%!-u>K|V{dA?j9|5;5&BNzf z8^)e!{f5OV=~zTiNvwPQU~o8tQJsl$Jf92-UR<_g%r@Os%eC0;M&bR9Zs3UYId=!} zRq?fm|8hGY$Xhey=GCHd#s+OMWjv!x2Z}d-EwfGsEX~b(jt{2sguQ=)B(dAkjO9qb z*ssvQKYE~K%Ht@Z?el6*I%)8GaVv|}vvGVYU>1C(kbL9)< z0DrT70@>$GGhc$>b{jkCjnmo?#luRv{l#8@UCS}n`k^m|STgkXB*H5xLZZJ9gBV>@ z$$<%2X$!4$^Qw3F_cuD7dvJK1nvpU3JnS9P3>%mIszPI7h{;u&Oc8HZ>WbG$|Ogo(IC!IZ!^>!vkOyQcW#NbA!6|8kKlT zncA;w`hd1OXc2|lmgnh7gSNZa7pus4n$fgd#2-K2+yAReZ$id#dOYS;$`+J1E=x*D zM|LM;XJ@~>yp;H*M3sQPP|0-GVAq?&bW)->i3y@1vaQIWb`;`?>?O{~XFkk?csx#j zGHL&}?`yXtoxsvknytS-4?n-lh1ccuBehbd)MP7fQc@SwNKX%Jlfl?d*}MdS z{#=>jnR_|j^C|z#`9ftPAOtzp8&{vF@z~j07?&&>o7g+eH$7#2I zp!zMZ{|AhUN={*O40p7h_WU0eXk!IA^AZ%v3NqLT5-KnlOPeYGd&rB>8!06vbq^9v zAaR&p|4N1wT;=4%@Z=3A=yRRpkh#>;+h1dL=Kuj^#s7&^p$X?^36H@VQH6VFPOyG^ z0jU1MKbp?%k$coH`nd za^~9h^_qHv8KBXkoH>C_>oacoYVo2>CZl>aVe7SF(`Ip;#H1vauUNtRJ$q8m-=E}^ z6gK}VB$je@uw&)aF?4LMUqkZbmFtXMx{4qv2hNy z3X=c;6f#LfK~!-fjT^WA!Uw&2Qq`{tMn*=WKzKMfgw3B%!@<^CJ8Z2a8YL(l0|;tS zQQE0k!3~*AMrc@3{ar@~2T>3+Gc_eMt4JMt`P!dczV;{9<;!DcW=2LvCYI&QIr8ly zD!RLWvh~Obe%k*#swXj2@$z6)&v)tFwk6(fF0}e+GS8kpW8x>%$;ikcJwtzoW1-36 zV_{)|m6a7~X@XJcudoPAjE(VdapYly=vZ7*?tbxF1y?7Gjg0s!EJD0k-pWcG%e-7U z35_>y-R8!v+gMpzVrgl~^XJboGcn=7*9)kBUdfAHC(f~U&p{qWM&nz-o#EX&FrZUg z4u89drb8x>k&($KGiQ;Noh?4UHq6Y-kjZ4oWHOu_9EeL0Jj6o7B9O^sczd{NGk`0; z3R!8?-=&oSoY7(y4;LZ*ecaO`S3EP*B1PLrLkEiztDUW_`1kX)H1W-y`_Vuuy1O!e zd+kO>Em_I6yAMcBOXo`HeTL5el4YBBP}9eo>4O9SkW^$$v z`he<{yjZ$v2Sew7$(7Liq^6~F?d}7AMlD&%XX`fN#x7Cw6esfVnqP*^74p|E%L2M z&&(n{E6Wg#9>7Z-NlUu|NEGqz&W^+-NgZ+X^YaOh2p5liDpsU+t(q9gWms8R(JnAh zlwdua9B{I;;o_~oC@3(zO1;R-=W^&hd_3H+EidSv8a1d-Q0rD$SXdx`lgX%Cr?xox zAn4a6wSe;TNk~r7eLKMLXF!j}gya;7@<**!OLX|&UY^vgQyZB~hJ}R%L9JWSuz?Vf zW?SBhN*=C++_}e#Ji|u1{DJ~5+ziFp-WCrhVFK&<*P&ftAl6ov7|CVSu2oZ=0(x`{hGJr&X7nxsBfLyL`Nj`S+l-@aQ6zakYe-IPnk{2LTV`J26b&8G5(K69|I&xnK zG!|E-ybyn!D27ITr;<{chD-Yiki@^o#3$kA=%81s?byjvyx;SGJ)9hiO626{=X34) zbh4r_;)dg!~LQucq1DX z5bUHcM@yRz0 zb@Q_Fa`q>GC9^*%8CzRhe7wDJcXOqpqJp0eB=JBe>D1Z5UUR=XXnp_`+!mEW9PA|| z&-)J^5VK$rqeqUw%F2rKSraFC^u;jD<7#;i4)C9gX{5Lgm1g&vNb zSoURu7IDShyBs`xgoB5VU~O%UkGB_YZf@MKsvBzK% z5u^yZPkj~8t6y)@_I-iRq{wE8klL`aw8Yxlnw$Cgn6)$I@TaTr>Z9OjYC2!;JAf+p zCcV3NWyVXR@$+=$M0ysZXU(Ukww7*Px^SnsShDqM4nD4ZIJ#vuir`ncdR_DV7NJra zcJWew1Qk(V2vYRu%9SJE5F9aw)CYiJ+T+Gr+anJZfrd@pe%(I{-R=cIZH$zaRdCeera6r>wl3h^SfIDK2L8 ztoba93}?#oe<#?dzvR3vyAxRaSsXRBwK#U_#D8S?YHB!n`V4C~ZZi0a0r+wC z63R;}7&}uUEd4bqYw!dev}6W|M{5A=Nj}E%_aZQFZ$_noR;{_wb0md}hp4Qo;`<+@ zd;i~aZZz3J^X+%L@E<&w_GS$|rZSm~pa6eNO-)%8`=Q=BwpNx58Q{sZ_w@#7Qw9$4 zXbpfp$;a6CQ4F?LmXucLPs`DN@65u_S3kvj|3Nk1ekUzAT)lC#$=--vyY~=0WC-T+ zhM8Ls1O^Wp#N23eqUX)mJIB1e8N+=C@ZNGgii6Q66)mX-?n7&95r617mgaJX8pz`V zJoS`5!BMSNvu@L7a_dXHlO|4J?aJkh8yli|g4&yz5jO5+)~{a0xDauFyj{)CX3N%X zhPHDkp6aRhJAjdX;>?q9RO0wi2^=tZf`|i%T{i$E965;~2#oa86CnejmjM!|T3y4I zt=qVooejXau_3Hqy^64LFKe=tGMS8VV?$WGayhTnm$-BD@>sWNGin13qP-f4G1$io z3we9u4@q`EYQ*o#C>TF~0948%L@GD{*KZbbEG3;;VIc|qzue^f0t1C06g=1kMR?_V3?3n)g6#DgbVfxf5ni6lq{{4i6hOvD|oaDOKbM!!-2n zzJ2;M#Pa$S?Cr$f5=#pUW=spm-PM)J6DQ#1A2I$hnM${>-b{+3eZ7Ptw{HF@2hZ9c)@p zlhUR;%VaVlrZq5seD6Paz&E?Tr=XxA!<~PA_hkN>t-2o>(=RAFX8xM3 zc=qne_+fg@z>*mA3kvvV*Y^_s!#~2OO4bH~0ot1&2t>Tm;9vBhx|%(E_i0EX0Ov9@ z_5Sv#fI;~8cVq6V&zijd=Frjs@D*Au{PvpW-NMR5^;Nyw6{ed3OO4i;r=b4DIKO?yh7Zb zBo@8#8ger!vpg{=naXKgX_lqmVkR3;-fVhTSb zALHa%2}}8Z7Omw2^;}d?;OTa`=9?uhYwk%w`P515> z871ndQdS}=n`p3b?KV2u+c9U-c*&uqrKRjmNC3cp*T;wMS}kBsj*hsyNwx3TmX?k zB3T%Y80^F5n73KDcAM_v?+P%L;+z%w_WN`65Blc)cKy1F`KG8sF++>S$i8rKj~&z@z;vgK51<=4GkdXcnoIXiZL z@8`|MAM5h>N1{?D>0PMl7)K(ugll5lyyRV`y!;#^-g=+3%MGs=xm?bod2<=~w6~!v z0dVI|F%zeTQ&UreAPB^5`&=@!=_2!d77JrzxvQ0G@7J>jhd*6K{6Qs?=PcEYaXc#J z_brN%*2={f=Ul+Sc>thkO-cOuG|vZr`!RLQb0nQgrMTY0rMkMBV41Fa4! zMYk^OUb&cSIeEMsxj=VIybqOfVT)tr(b~hUfs<(Q=sI__XaDxq^z81$QhUi`E-P6z4p^!FfMoCygbD?j2wMn2dYxp2S9fhEsm`9;pWU z=d0CfDk>@rCOx#FZsIr-6M;FCLfH@<$-jS0CNyf1Hvb>QmHaSN%BH(dnvPM8gL496 zr?3q`Wz~KD6`xGcZccm{6^^>LmeZLR&=ve>>fQ|5f`juZ;I)U>s#dGno%9RUYBkGdP3PG`Pov7s<9b1> z?@Vs$|j~>o~kGC>==|-xnC4=MvFbb7YKS|Jk0z58}sAmutg%V<# zk4Ilt#6-&FLsi0;c}~E^mb7&Z|Vd__zmR9 z>9fSF*g|UNCEY`Ri-1s6%BJZ_#{A7ky?_RyBy2odYXT618Xn-oikO*r_3OnSHw#ES z@hd;o_Y^k9mjf_sXG)Nl2crXh85J;yuAMsaYsN)lR&3$tGiioSNktS+dNgtA#vqD6 z{|F4w{b;DKH!ETy806WH8-=$uF)GhxYUo~u(9Tqbzo(mjCPrtc&YZh=g_sqea_~f| zp@DQBcoCKInt{u;7>`>h(hB$*0}YBMCMFE@=*yVlfsA=J5Z7K$qOPf-phy%@EVxt5 zozikT*xKOO(H_SR4s`BdkIck`^h+xC9y(6^q2rv*YSjB@C!%zk@r;qy#b^$E0Zh>S zNDu^`cI(4`m}dhSGdvJa7qM1fP%ng;f4i8X(lQ)ut?BGwFA8FIu*Xy;BkT8U_8vY? z{K4a-WL|1a9P39!3A|P<_zdCCkct(6*MTKy2}tRpmvdJJ_3x*ViG3)edaI~JBcXcp zRuQMt&Xb+n`085k4Gh3 z7k7YT zHr5D#{I!lDilCk}m?;Ed93!b3Q3yI7(Z%EchetqT5WNE)#yAw?r1I5>T#JV>K9&WZ zG5Ei4a}&t_kBzYnZD>Oq+R%nJ ow4n`cXhR#?(1ter$KZbfY1IuIwQPNo0000907*qoM6N<$g1dJuWdHyG delta 2400 zcmZ9N2{_c-8^?dMHI`}+N@=ESNs5VxV(bi3qOp{*q@=QCjmZzmR-s0PY}pE9SF%e} z!%b?k-DFE{VGL6lX*PGRbi``uV}%(q9jf%t1O&GGUmjgp z0#sLr+yS#%n?&K+P`~};NARwH`oa(aBGb4W;rWnQG83T)Dj6$EHb~Tp6cUoDBF5XU z!`%yH@$e#@o~*=lTF|{6&j>XeRFibt#rWb4G8BZdJ-qe_p}}77%MA%htyg`~+z(lv z;j)z4oZG|9=Ku>uWXl>TD_XvoU!79p>zn94z2>XGXOjk%=jTm2s4e%}0eh^^sP`yrQuyGafmSZT03g0;Z9stRoGkzV zB31Eb#*Ps=%-pt1Cr?PwK(A2=cMvkYIXTEqhe<3e z@CDE;69wamscZebx0THC0Xu^yb9R_njMRaPK@$YO%t0K22nmqWh|Jv^)8FpL%pB}M zwgOd2yGVoj9^>F$9a{zt*oPM`_r+SeWNdieATWJr!Pjq@!?kFavM~_d>CLO-{*f4K zPuEpCfDCp?)_5k={AM9=>xj=8d*I7QX8e5f!F&7Vbrz*;aPd}n!=a&lR)@^%s`8tl zx9-m?Wkr7CJe-;55Goa4r?`+gxUF9iBos+!ie0iIzp~G`rIh_9spU!Th%9x?$d|DC z7CpIbk{nw-*!i$?Sn|UK!fGb)=w_y&ZUxvKn~v<9=%gKLBIjT5$R9(U(5?inP^=6N z)s*!UA0Gy058;#m^x}dI)@xia@Wa80dAKx-bwz;a19xATgO^b85lPUESAQS0$jmY_l<43 z&UUj?nSa$#11Hj0s-RZ&d;Uk$Pn^Um7_aWWhI!I#eJH^3b8?NAc z?QndeX)?Ja1YQ8C$SErXGzz)NJmKI$RUv%ueNN z?sMY=IOgr+!zhe!d0Nn~u!J4oQs=ZLE#yo>j8f1qu0ZRk3n zWTsfFR7A@QQ+FTnSckHUS}&!cQBVzdm4e~Q2?qRgA?eVNJQNANCyL>fyQOr&!@M71if0(IBPHNU37S`aSz@|)aoI-jZE;SNx3~i-wT`4L z_^#`+%TUwydVCqNk1lX-k;qplH3hrmTbE47z46sPw9@Q0K(rzdEa(XNAjA3tF4)WL zmN;)M>(}h>u2wz+QM&k&XKqmPVI1miD>Xfvd}ObIQGF=a+Q9)Bu#hpVSQSr?ba+gJ zaYs;h2HwK7-5RU455SH3*CeKZw%g+hZ8YF(zu1B_avk6jpQ{(lHG@~kV+>i9k_2=o z-f9EnZ3w;eT?9~U-nRJv(lz(mX11^kW9wa|bgp`3RM{kO&>qKw#tfM#jG9Oc`g!0o6HBO`C6t1Ua4L=HQnqIa^6&l%)iM2YqkrXl*gx!!ai=$qn?-t@tF z#C+UEm&T*q*Tnxe2rUTA!A`r1jFkIhnCjHb0URt3_65Fk|GT^VsI;=+-9r??ZdOX5 zo)={%^a)^Bc3SHtMPM+A_;`w>{;^^R5**@B%N_!OQ@8C_%H0YXMhU+B#NwNr(6DQ% zCP)5d%TYtlrF`>A4E}Y_) z9+u+mh6_e0=(_yYe5I6ql>VMw>1vrRQ?J5K!%KL!2|JIkHC5&J@ChPF_gMBIt^rv? zY^)YS0a~Er#Tlgtb|OvA9~q3?FkjDokW$J<%|a-{%nPoo>A*2}?gIK3ZNP%|Z-WL@ zR+}#$4O|{k{SP;4=|6VX$CNXcYoijrma?75dw$11Uo)=E{AG+r#T@p_=z7s6vWBjGPZP}GQAT0k;l|LqkvAjkRHY@cTy{+dsTD*~h(Tv7IhXVxXGlbxI8uRFD zf^F5S2SaR_ezoNn^-19^c^o!|R$<=WQYi5rGyKJtkO5|W6-MN0T29d?ap@BLb2iMA zgWYwdkh)1)#hNMviE{CQn@wTuwgB-sZT1v{6Obh-wLQP~O5L>9q}&~4n}sqHurK6m q5o6i@a`O_ZrfTAEstCIW!9#wu4vfx8o3t1Hs{r2I&aBGBBkoU98G#W1 diff --git a/packages/frontend/assets/mahjong/tiles/p6.png b/packages/frontend/assets/mahjong/tiles/p6.png index 28b455b030b82b28592da27923539fa31abdcaf0..a14a3f9f7ff2ed6f5e0f21b31d8a19f3652a4e46 100644 GIT binary patch delta 22743 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 blnu=wRe0VM3ouIqzeb3It&2^y6)x#NRcw7a diff --git a/packages/frontend/assets/mahjong/tiles/p7.png b/packages/frontend/assets/mahjong/tiles/p7.png index cc7f7870c03683e9d039c6f536c16a843c684d5d..685559b936d7395ce30298c4d8298f1ae0bba7bf 100644 GIT binary patch delta 22700 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 delta 2663 zcmZ8j3pCW}8~)9V5i=+zgAytxD|Sf6CDDkGC6^kSaxXU5(N=DgpFuJRB{U3C*^=Bz z4H{-$%aZF5WvH+i&4e&6?P&l1bN1{x-*?{ceZJ>;&v`HBeBW0Fp#L!c#zom<3c(BKq%>4_^b1GMR|$mP%iB5`ZdWV_o zSfBWWB~%jKT-@w}O`Hi)^WLwTGc-CaE^==V-?EDnHw(Mxm8^{yRghM0wv2`h_o$40 z&o#AixGc-pkUdOjPb-Xb?yo$3sv{eHRBgXy%iQ;|SK!QF1;z6j<-qgiR}rZH`J}p`;G3_kw!IT#MGJh7cxj% zBKnCOzX=>d<7|RL$d@)Vi^%f{uT^Qu>WXp$ws-PIbl=y`5C%q;jY%HUf4$tWdq4A( zvBXy*DYk_uK2DV|V$4Tz#5w9D(mnu;M}>&5>>Qf0N=>K8a(0p^r2Tw7BY zEw?s`7?5l-@>9FGN6xxFs5r7;(hg#0Ki_&P-Z`dIv0zT0S)|6BS3%uW@0$X@$Q~zq z3>n&d+QaSMoyE6owlh4wnp5vgpPyrXfz*}2HDRXEP~YC(Oi7Lj=iSd=_%&2C{o#6T zTo(aVzJOKT6!dVl~Go*f_P!R`nzFbMSOM-?_D$I9)^CsGikb zLnG^OA@r{|ie`s1Wj{M%7Pz1z|8sRXlKjO{u##bh`4K95BAhzr*>VX>A8E>j`|h>JH9a*(zf#0a!UX}8QMLeMLFak3z(^eNhqV9$hbmO zu57zW34ZXovujMj)c>}%BSb|)LKzbfF;}TK1gZo?kZbdr`4()L6!NcD%&nm!9qU+Sr~Wx?Dwnl=r9|(~IGjBVUzBGLvkf=HsqZ z;6ijQ#U>?c=#K>3!tTC>8qj!;h<1E1oEq5dyoRPYF323`6i9r(uM1O~R6`HGa?6le zkg>b*iJnE$z_9C^&o5q7%EvMCvhL9|G@@%3yOmGhVV`mZr6mXwb_(aUhYpn+diyWd z9w=!f)-pD|l))zg5hJRV10-I&)FF|Nmpt>JCKCRZ zt!$Bq&yRp;Y=<^L&3o4nX%CRUcG_TBYKu#jJyR|D72qb|xe+UhTnSGIf}ALJkn=8c zicW&PC@nPwzwIlUgzRjXHl=;7LRcSuJSy`Ib-T(@;nF+d;eo*0su!9ZSD!mUq=n5+ zvYgn;$7ce^5#bxxM$kVOGqpMfp(kQKSY2(93U4Ul^)ES7sLCadYbaB?kNP$#>78i`+(oY;6DleN#Z588U#(;H{DYs@`|#)) zx=EP>roSh0?FV~JndrK!7dP~l^kRR~;fB@}l$v5O^R;EdA^f)ind<+z|2Kp-uf!>& zI)#dT{B#zZIPkK7wE+Lr*u3#=Ksc$*`e%e_3U!Su9E#W}q9=JkKEe&p#K`y;_JQPlE?Gy6wDF>|%s1%f@o2mF8QuWjF9S>B|=C;TjZ;okzV Mwy-lVHS>u18xoxVO8@`> diff --git a/packages/frontend/assets/mahjong/tiles/p8.png b/packages/frontend/assets/mahjong/tiles/p8.png index 16710868cf436b4e10c7508d5567e9f9fdfe68f5..91017184a9c8676acc66d1ed8b37f85f7330b2f9 100644 GIT binary patch delta 25216 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 E03Sh8=l}o! diff --git a/packages/frontend/assets/mahjong/tiles/p9.png b/packages/frontend/assets/mahjong/tiles/p9.png index 5c4019e1ec1a9090056fecfe1758b7a7e9ca4e3e..aebddf3d2c1e18ee625a0e48dccb50bba5400bff 100644 GIT binary patch delta 27215 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 M#N2O!6PQXtS%KSg1n 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 delta 3474 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 diff --git a/packages/frontend/assets/mahjong/tiles/s1.png b/packages/frontend/assets/mahjong/tiles/s1.png index ef7b2bf4746992774c0e1cb2e443fe9471a51fce..52c2fe3f83935594066ee4693e1ba470ed1f5351 100644 GIT binary patch delta 17953 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 delta 1947 zcmcIkc{JOJ7XBp>L`cyht@YJNO;ia+&hfAnt9oe z{)^fiku9&75jlau0l|cLoIjDe6~-I9i5_#gC@NVfAY{XwQg4Oko8#pVtLYEA(LoDS z21_5R98UWrYDmx;R>a4}b=m&EaeTc;$~Enc4BdX&{IJBMt*_m6Z04HCc@;4w(+Y)N zyZ4R^?K46sdYK~71pKvZ8K>NTJ-GSO!wf-i&P*P+bdh;qWwp=$VBm5PXQZQkModv| zPKfHyeECb@Bz3};oAtDuGHbNC>C`{?po|CjU?La87a@X=H;0kkzfS@H_`y#F0?I3q z06>F=c{t;JQ!7Q!Coi4zLk>x{Yb~R5ta4GFZ0CfKJnfq&YF#A?XYt>uzSUYCdU!{} zba~njp1kC;p)W9NY*}}5hObrkoVora6h3>zD`Gl25_MQhh)}s39kEq;Qh0kGr=J?4 z_{T)=c3NTu`(zU0+Gj!gY;r&2c~`-_p^Ts-Vp86daQ&+1C-uUQOM$PBL-{s;N7DWd z(f_B}leh}nB@6pe8(8g*3RAmrL{&sZ@_m|@kZ>|>lR6jO1v2(G`JqVzJiB( zQJHggOI@v2#3qQK#*?Hq(f;WXuM`X3Ws1iqE?upXHWbJ3jRvr`+yBZ1zh~?!lMBS- z1$8Y(_9od_@^(>9T+HRpQt649Nr>qH)^aWelOV+^BYgR89S$RPYYC^fT#%jVrn1avike(`lwE})OtRKzm!djC;DudSx}2EJpB-f zlhc!6RC`<97za3%%n;m=6-)*@w9UG)$5A>}_@H9-xw$_*Woo5pz)DOYDtKo=kv~75 zqfEaD2#@rq|A$ONrr&&{B-SjK`PjL;{`e1fZTil`LZ`PS9+NXNEpzzdpZ2P2qsQBp zU(usmfE)_KQJ%K^a3>l}ezIdw8~=MotBK>eD^PQSKk%Y&2RGhC*ARp(K}vWs_}K2L zJG{QAbLGG}2~KHkp0f?9htYTN?n{YkzB5tY;`dkSW_|x#MA4sxpx=On22((0>{1sB81$ zk^!g2GTdqp_Zyi+QhKM+SWSFMQh9|ZA;#;i88wixZ_zlO-g||(w$?P8(#2PYI|QQd*neIB{0sAZ4~YO1cYz#B#;g%x0f&Lr0K=#uz%Hw+n+^t7oG>> z2ordw??CKhie|tu*~*sh#t4#xnjWXsgdwGeg1U=xB4Imk(;&N58PA4kZY$4*hgIn! z6kSLT3E+#yGYo2kT$qemA}vs{bQh0MPIsbg^( diff --git a/packages/frontend/assets/mahjong/tiles/s2.png b/packages/frontend/assets/mahjong/tiles/s2.png index af0f6490acc83de91d5dd2d916241d40a5c11721..7f90ce68bbfdd0d46480f3a0c944a7b104fd922f 100644 GIT binary patch delta 3970 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 dgBwsh@fzwHnS~gdTN#*I85>Ss%A~*p6tM^~ zG`2Fduri%|kx2zrfRR}fO^-Qq8gyV(N6%K}N;MM3b+sE~n zdyD8AR>we=joZSu1X@1t5fC&!eXj2J?U{+?Vrw?enRNYa-3f88s1&6qGyC-`Wc(vu z9O{&fce;3W=8KA+wr^$H7n82rZ4P_9qke6w8@1E=PcK_ zd1TXv&JE#{xw-DosM>VQUoAcBPvR!A?v{hM)ZU!@^XQ3w*ruqsh&aD|yYR5Ocgg#X zOw~H$n)-I)&0fD2PN#|)Nj(ORY?6ZVN8B42Z(dZm|9`H%cVLm|M=ep4uoDxOwuE2V z6ykq!mYA)ovis3D|L^asfAw;q!`fZiEWZ71A1|@@`TkfVb?kRzVvStWTgG$TU;jL^ zEok^@F(f%iX)C-D%s*`(jVHaMYvdO((Z3yZoVsXKi7|{-$R~qt4fzv)t8u zV^+;o)i-aP_8-|jeIG-hVfvkvJIoJ&5zblQ5n0T@z%2~Ij105pNH8$eGq!rVIEGZr zd3$psZ;JyDgX51~Cth?hz3A%M_d|)p@Ax^BgwwaqoMr;*hl4ZevU?9i-`;4i{QUlN z)33bsi^UUk7>{r&_%ReRbqG7mVR*zMpx$6Xgit+k%1BlPaqEu_rC*rxbC3V)nNvUi x`W5ppygg{Ht0&pTBs&FPfH25G9NOUji+Rz0j_)@Mznle$c)I$ztaD0e0ss|?TJ`_{ diff --git a/packages/frontend/assets/mahjong/tiles/s3.png b/packages/frontend/assets/mahjong/tiles/s3.png index 47b7426c7490684fe69cb58735828aca26a0c87b..ffa7275f30038df29db92fd1e0100133c2a740d4 100644 GIT binary patch delta 5176 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 Zfo@+FX&lE7uK$VvZFK{+8dbZf{{ue1k8=P3 delta 956 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 Qsqi2*<>yNE3RdC&1zaynCjbBd delta 973 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 RU<-!;H6<-r)pM)R{{vbCq-6jA delta 1059 zcmZp4pDa8@_uFy5XH$diz(M=@(PwiXd25|^EkS8hMO@k zFg8wp%c@+j;;1aRMPMVxqOi^*9FEf6Eb$A(JXsc-ot)V|;dtS6g@a)mcr`lA_Hq5? z-Xgk&)iID|FZftJsE1O$ywpR4-C|DS8`9atp#QA^Y$?8JnnE#X%- zh4`PGC1$It?0)pk|NHyuU%g!Duy&U=i*JA1$4l&ezCYGT9sAvwSR>c;mhl|-*FTT! zc=mV2t4nJa0`PlBg3pY5)2IWjGsMS978JR zyuG`z@Q{H-L*OLu`K>QBHcw$l%rU^UTssB*V=37zy{Yv@I zb;npbtbe_ec~||3r6T@~xhW%VX9Ep=_wYC4x!bAlKL5C{-paStUh+%Lhs!7azuRtr zUmt1+)bChcUH#*tdWpR?=Fy-r>mdK II;Vst07A!=)Bpeg diff --git a/packages/frontend/assets/mahjong/tiles/s6.png b/packages/frontend/assets/mahjong/tiles/s6.png index 396a13e931de29f59402ac88f2be73131c0d6ce3..578f7c495ff10e504e8aba9b808890ad3d387cc9 100644 GIT binary patch delta 8836 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 Gjrw0Yz{Dm1 delta 1014 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 D#tS^( delta 1230 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 F{{cSt+u{HK delta 3678 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 AQUCw| delta 1160 zcmbOd{6lzxINt^iHUwsh@fzwHnS~gdTN#*I85>Ss%A^1iu?R6V zwlXrXGBucdiAfnvgo#-LO_w=y8hLnd9o}vJ2|s`!tuiC3J1eB@M?6J?c@5( zy+w2lt79O`#%*C+0xh5S2nZUVK3Dhq_RPd`u{9g#OuGKI?u58kREpA*nf>||GX4=S z4t2`LJ6*gw^F>8Z+qW|9i%Hk*HitdlQNK3Ta;bJgAy>cFs`@aYc_Q=TbXTh7bCzq| zJhJIS=Z5gf++6o(RBbxuua=(mCvlTlcgw+BYHv>ddGtg-Y*SQRM4Vr~U3ggCyX1XG zrfQvWO?^A@X0Klhr&Gm@q#grDHc3JGBkm21H!mvO|3BB>JFrOfqn4;i*og^CTf(nw z3h_TVOUzbP+5PC7|M&ORzk0dQVeKw$7T^B1kC)i{e1EKwI`+FUu|}@xE#o=vuYVrd z@$B!4TbsSN`axX#YF!C`;Y9NzK1Z=}9G6l%6f znO8QSf6tTKu56VzCfm8ZK703cF>g^%<*mQB?CqW{f8d`!>uE$gQ^c(K&DZ}cN7S<& zB`*Amh*O4D)jP2=-rrVL4XV~^4gKl!AF*66+b3^(SXlSh%SRx;=v>K9$uOAOeN4Oq O#PxLbb6Mw<&;$Tv+Q*gv diff --git a/packages/frontend/assets/mahjong/tiles/w.png b/packages/frontend/assets/mahjong/tiles/w.png index c18793b37602bf20d6fd492875f02383e63bfe81..ac576f8a47b42a3079ce8792f7377e82308af257 100644 GIT binary patch delta 4435 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 delta 3010 zcma)8XHXLe6HNmNRlp!B1OzOD@_EXod_XxFzN{+0gosxp-4>tjna#X9L0cy zUX(<@AfRy6P=bVr(wjg)O7eMsZ@wS5Gdnx;cHhqI?Cj1fRWDRbJ1kx)BnSWiI?Qg~ z1ONmYsmj41F%5N1ZAT5H-uVl9S{mdc(D8o|9Y+l zLTZy~;4A+GC?p$nSCd=pqKOVM1-%y;+Nd!VH#CCeQm&(V|0tu zys*Nls%3a5sr*Cv9_potdr;iz(e|p<#7bwfi11`)XcfZ_aqG^Wca= zwL=hWO%?W=)5o-;Sm(hiN4w5!8AD|yiw}$Z$rk+l+>1-)O==LE)VQ_&11UD!l%tH@ zDDQB1^b)W~WOI*WBuY#2DEE68#`cIGNN!4J#Z`;VzIB#Hb6l%BYyKKo4HqrP-lj!= z|A6j|?9pwC8OaVGQeIp%p|v+>v;Z75Zn18#!0cZ;hX!782?hW}r2lasAUjtU0Kh|I zEX|A^ALK4g+$G9im+x3xnFtv@i-P-$ygVU1*!8=)=jqFTqZ42HoOCE;$SP>`9aPw5 z93-`Sy}X=QkN}3ovyC@ zM(Isq`zb58*85h+8U*!K4FS0VxnjA}h9Nv7dF!6FOiiHN%2-MyTahir#?TiCuM1_p zHjAoDaIJ_Y+01J$_Tr#6y0{m@cXa&iR_JGz&9?lPLCq+?9*+;#I%Wk(IUu7(e+yr8+GW z{BcZ18yzo?A}?QebY2OPYRbYMT@7Fl(4R%sW2jtjXU&c#czjfRDHa(p3z-d3S#_c) z?2$$U9;?huh>wbS0p4e3%b)CKtrAElOj4@n4 zrvf%e9y+D>t#S6kYq?>hsQ1)}IvG^IBKE+NrP`nbTlQE4LxXkMLywXMG znL?>w9xFMi56%g(Ip;?sz8=o zyc-ep2we^r{Mt8Pp<`Z=^a>JK5BIC%hMuvYjG^v8&nMK%R!!^jX$Dgdl`oOpthix# zz32xbpj!|U6$ivC9J$F<8ksrr=a zy7@urOpE~6`&~)wNUs-@Q_yOwRBZ8$IIB_a{6ls%j6%b!{X`$;%%;ZD8puv#sC`Z{ z{ov=F=%FuwQPYwIC-?^h!~dmA@wgXW8(aViP~^SrUW(=0ucxc9i|P6fn(d+Bb==5g zf?aei>LL$UnFxDvam3&ol>M46(6}`$bss5$8!XWDs0QUAnS)Wv)%1IRJ47KRX)y>n zPukJ#qk)PiY^ANz3Qgqil&bp&-e4s>$Fd*6srmO&kr2OSF*D3{=A<8#kGJvnC7T2! z!|mcGa(}qn{HW*Hrs}Bs58oX|E+svcz2#MyaSy^HeEuZ%&{4K%r@6r~;8>?VTQF7U z^)=4@j9R$HE*0L9);78>>h=fGn4nY+uM%UM6!UAlp0ZfhLYp)dg(yxOW;6S|F zJk%>#kW2*f?-R)oh<+pHs|)KaX-9O*>S+DeCaA7nqB&Q8NIFc4 zHa=>YTS<$i<-M>oOL*t^Rk0=DSMHvvU(veRke1PPR&VDd&rXZ{?h55q z`lU2suhYF9`{Q^}Jumv#e_!eIldz}h2Tjsjw{&c_`$nIkVM zHY@mNk)~-K5}2>Fs&d>Bw78DqHq89^vo7yv`IE4ZEh!FV_E5H#fgiC*>)f)?YC#3w z*+{U`xdgIWI+AC}OUcliHxh%`5$wZrq7}revx>Hrx%v6e;ket-n}@a_vM+w>zZM8j zyN1(n;a)7;H{44Bk@j8iG8Budt+T}|B2DIx(I~66mRN-ov-NZD}~b`h@{xPiLojj`jpyLZZKc@_{h-6z}?|{gdmb9(#23 z&ofVdLiDeE7>KPpuni1U=bB1$N(J5?$mv$tY5SyliYh!=PT&1wHjifN3?grU73ep+ z0~kx+g)!NT3cTkcBQA3?{=(0{OamMx=d%G5XcQ?t*m>?M<2KmN;@cHRdR$(4Vwct8 zxE^t6R{wLI3xzSMk|#rtTx|O?wArArJ8UghQ#ssrr%Jj3rq0Z2HB3OM4+PO&m&5ZNxh|Y^&x(#4yZfjOy;uZZru^X+3 diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index dec7add7b2..99471d50da 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -781,7 +781,6 @@ onUnmounted(() => { display: inline-block; vertical-align: bottom; width: 32px; - box-shadow: 0px 8px 2px 0px #0003; } .handTilesOfKamitya { diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index c4b1f7b97a..c0f44d4c1f 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -101,6 +101,80 @@ export const NEXT_TILE_FOR_DORA_MAP: Record = { chun: 'haku', }; +export const NEXT_TILE_FOR_SHUNTSU: Record = { + m1: 'm2', + m2: 'm3', + m3: 'm4', + m4: 'm5', + m5: 'm6', + m6: 'm7', + m7: 'm8', + m8: 'm9', + m9: null, + p1: 'p2', + p2: 'p3', + p3: 'p4', + p4: 'p5', + p5: 'p6', + p6: 'p7', + p7: 'p8', + p8: 'p9', + p9: null, + s1: 's2', + s2: 's3', + s3: 's4', + s4: 's5', + s5: 's6', + s6: 's7', + s7: 's8', + s8: 's9', + s9: null, + e: null, + s: null, + w: null, + n: null, + haku: null, + hatsu: null, + chun: null, +}; + +export const PREV_TILE_FOR_SHUNTSU: Record = { + m1: null, + m2: 'm1', + m3: 'm2', + m4: 'm3', + m5: 'm4', + m6: 'm5', + m7: 'm6', + m8: 'm7', + m9: 'm8', + p1: null, + p2: 'p1', + p3: 'p2', + p4: 'p3', + p5: 'p4', + p6: 'p5', + p7: 'p6', + p8: 'p7', + p9: 'p8', + s1: null, + s2: 's1', + s3: 's2', + s4: 's3', + s5: 's4', + s6: 's5', + s7: 's6', + s8: 's7', + s9: 's8', + e: null, + s: null, + w: null, + n: null, + haku: null, + hatsu: null, + chun: null, +}; + type EnvForCalcYaku = { house: House; @@ -627,3 +701,27 @@ export function getTilesForRiichi(handTiles: Tile[]): Tile[] { export function nextTileForDora(tile: Tile): Tile { return NEXT_TILE_FOR_DORA_MAP[tile]; } + +export function getAvailableCiiPatterns(handTiles: Tile[], targetTile: Tile): [Tile, Tile, Tile][] { + const patterns: [Tile, Tile, Tile][] = []; + const prev1 = PREV_TILE_FOR_SHUNTSU[targetTile]; + const prev2 = prev1 != null ? PREV_TILE_FOR_SHUNTSU[prev1] : null; + const next1 = NEXT_TILE_FOR_SHUNTSU[targetTile]; + const next2 = next1 != null ? NEXT_TILE_FOR_SHUNTSU[next1] : null; + if (prev2 != null && prev1 != null) { + if (handTiles.includes(prev2) && handTiles.includes(prev1)) { + patterns.push([prev2, prev1, targetTile]); + } + } + if (prev1 != null && next1 != null) { + if (handTiles.includes(prev1) && handTiles.includes(next1)) { + patterns.push([prev1, targetTile, next1]); + } + } + if (next1 != null && next2 != null) { + if (handTiles.includes(next1) && handTiles.includes(next2)) { + patterns.push([targetTile, next1, next2]); + } + } + return patterns; +} diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 11992d877e..4bd436a2e3 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -436,7 +436,7 @@ export class MasterGameEngine { public commit_resolveCallingInterruption(answers: { pon: boolean; - cii: false | [Tile, Tile, Tile]; + cii: false | 'x__' | '_x_' | '__x'; kan: boolean; ron: House[]; }) { @@ -497,9 +497,42 @@ export class MasterGameEngine { }; } else if (cii != null && answers.cii) { const tile = this.state.hoTiles[cii.callee].pop()!; - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(answers.cii[0]), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(answers.cii[1]), 1); - this.state.huros[cii.caller].push({ type: 'cii', tiles: [tile, answers.cii[0], answers.cii[1]], from: cii.callee }); + let tiles: [Tile, Tile, Tile]; + + switch (answers.cii) { + case 'x__': { + const a = Common.NEXT_TILE_FOR_SHUNTSU[tile]; + if (a == null) throw new Error(); + const b = Common.NEXT_TILE_FOR_SHUNTSU[a]; + if (b == null) throw new Error(); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(a), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(b), 1); + tiles = [tile, a, b]; + break; + } + case '_x_': { + const a = Common.PREV_TILE_FOR_SHUNTSU[tile]; + if (a == null) throw new Error(); + const b = Common.NEXT_TILE_FOR_SHUNTSU[tile]; + if (b == null) throw new Error(); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(a), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(b), 1); + tiles = [a, tile, b]; + break; + } + case '__x': { + const a = Common.PREV_TILE_FOR_SHUNTSU[tile]; + if (a == null) throw new Error(); + const b = Common.PREV_TILE_FOR_SHUNTSU[a]; + if (b == null) throw new Error(); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(a), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(b), 1); + tiles = [b, a, tile]; + break; + } + } + + this.state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); this.state.turn = cii.caller; @@ -507,7 +540,7 @@ export class MasterGameEngine { type: 'ciied' as const, caller: cii.caller, callee: cii.callee, - tiles: [tile, answers.cii[0], answers.cii[1]], + tiles: tiles, turn: this.state.turn, }; } else if (this.state.tiles.length === 0) { From be3b2558d1fb5fde2f474f3623865a87103d2fed Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 4 Feb 2024 13:26:40 +0900 Subject: [PATCH 30/64] wip --- packages/misskey-mahjong/src/common.ts | 126 ++++++++---- packages/misskey-mahjong/src/engine.master.ts | 188 ++++++++++++------ packages/misskey-mahjong/src/engine.player.ts | 108 +++++----- packages/misskey-mahjong/src/serializer.ts | 10 +- 4 files changed, 287 insertions(+), 145 deletions(-) diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index c0f44d4c1f..27ac381b56 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -43,28 +43,84 @@ export const TILE_TYPES = [ 'chun', ] as const; -export type Tile = typeof TILE_TYPES[number]; +export type TileType = typeof TILE_TYPES[number]; + +export type TileInstance = { + t: TileType; + red?: boolean; +}; + +export type TileId = number; + +export const TILE_ID_MAP = new Map([ + /* eslint-disable no-multi-spaces */ + [1, { t: 'm1' }], [2, { t: 'm1' }], [3, { t: 'm1' }], [4, { t: 'm1' }], + [5, { t: 'm2' }], [6, { t: 'm2' }], [7, { t: 'm2' }], [8, { t: 'm2' }], + [9, { t: 'm3' }], [10, { t: 'm3' }], [11, { t: 'm3' }], [12, { t: 'm3' }], + [13, { t: 'm4' }], [14, { t: 'm4' }], [15, { t: 'm4' }], [16, { t: 'm4' }], + [17, { t: 'm5' }], [18, { t: 'm5' }], [19, { t: 'm5' }], [20, { t: 'm5', red: true }], + [21, { t: 'm6' }], [22, { t: 'm6' }], [23, { t: 'm6' }], [24, { t: 'm6' }], + [25, { t: 'm7' }], [26, { t: 'm7' }], [27, { t: 'm7' }], [28, { t: 'm7' }], + [29, { t: 'm8' }], [30, { t: 'm8' }], [31, { t: 'm8' }], [32, { t: 'm8' }], + [33, { t: 'm9' }], [34, { t: 'm9' }], [35, { t: 'm9' }], [36, { t: 'm9' }], + [37, { t: 'p1' }], [38, { t: 'p1' }], [39, { t: 'p1' }], [40, { t: 'p1' }], + [41, { t: 'p2' }], [42, { t: 'p2' }], [43, { t: 'p2' }], [44, { t: 'p2' }], + [45, { t: 'p3' }], [46, { t: 'p3' }], [47, { t: 'p3' }], [48, { t: 'p3' }], + [49, { t: 'p4' }], [50, { t: 'p4' }], [51, { t: 'p4' }], [52, { t: 'p4' }], + [53, { t: 'p5' }], [54, { t: 'p5' }], [55, { t: 'p5' }], [56, { t: 'p5', red: true }], + [57, { t: 'p6' }], [58, { t: 'p6' }], [59, { t: 'p6' }], [60, { t: 'p6' }], + [61, { t: 'p7' }], [62, { t: 'p7' }], [63, { t: 'p7' }], [64, { t: 'p7' }], + [65, { t: 'p8' }], [66, { t: 'p8' }], [67, { t: 'p8' }], [68, { t: 'p8' }], + [69, { t: 'p9' }], [70, { t: 'p9' }], [71, { t: 'p9' }], [72, { t: 'p9' }], + [73, { t: 's1' }], [74, { t: 's1' }], [75, { t: 's1' }], [76, { t: 's1' }], + [77, { t: 's2' }], [78, { t: 's2' }], [79, { t: 's2' }], [80, { t: 's2' }], + [81, { t: 's3' }], [82, { t: 's3' }], [83, { t: 's3' }], [84, { t: 's3' }], + [85, { t: 's4' }], [86, { t: 's4' }], [87, { t: 's4' }], [88, { t: 's4' }], + [89, { t: 's5' }], [90, { t: 's5' }], [91, { t: 's5' }], [92, { t: 's5', red: true }], + [93, { t: 's6' }], [94, { t: 's6' }], [95, { t: 's6' }], [96, { t: 's6' }], + [97, { t: 's7' }], [98, { t: 's7' }], [99, { t: 's7' }], [100, { t: 's7' }], + [101, { t: 's8' }], [102, { t: 's8' }], [103, { t: 's8' }], [104, { t: 's8' }], + [105, { t: 's9' }], [106, { t: 's9' }], [107, { t: 's9' }], [108, { t: 's9' }], + [109, { t: 'e' }], [110, { t: 'e' }], [111, { t: 'e' }], [112, { t: 'e' }], + [113, { t: 's' }], [114, { t: 's' }], [115, { t: 's' }], [116, { t: 's' }], + [117, { t: 'w' }], [118, { t: 'w' }], [119, { t: 'w' }], [120, { t: 'w' }], + [121, { t: 'n' }], [122, { t: 'n' }], [123, { t: 'n' }], [124, { t: 'n' }], + [125, { t: 'haku' }], [126, { t: 'haku' }], [127, { t: 'haku' }], [128, { t: 'haku' }], + [129, { t: 'hatsu' }], [130, { t: 'hatsu' }], [131, { t: 'hatsu' }], [132, { t: 'hatsu' }], + [133, { t: 'chun' }], [134, { t: 'chun' }], [135, { t: 'chun' }], [136, { t: 'chun' }], + /* eslint-enable no-multi-spaces */ +]); + +export function findTileByIdOrFail(tileId: TileId): TileInstance { + const tile = TILE_ID_MAP.get(tileId); + if (tile == null) throw new Error(`tile not found: ${tileId}`); + return tile; +} + +export function findTileById(tileId: TileId): TileInstance | null { + return TILE_ID_MAP.get(tileId) ?? null; +} export type House = 'e' | 's' | 'w' | 'n'; export type Huro = { type: 'pon'; - tile: Tile; + tiles: [TileId, TileId, TileId]; from: House; } | { type: 'cii'; - tiles: [Tile, Tile, Tile]; + tiles: [TileId, TileId, TileId]; from: House; } | { type: 'ankan'; - tile: Tile; + tiles: [TileId, TileId, TileId, TileId]; } | { type: 'minkan'; - tile: Tile; + tiles: [TileId, TileId, TileId, TileId]; from: House | null; // null で加槓 }; -export const NEXT_TILE_FOR_DORA_MAP: Record = { +export const NEXT_TILE_FOR_DORA_MAP: Record = { m1: 'm2', m2: 'm3', m3: 'm4', @@ -101,7 +157,7 @@ export const NEXT_TILE_FOR_DORA_MAP: Record = { chun: 'haku', }; -export const NEXT_TILE_FOR_SHUNTSU: Record = { +export const NEXT_TILE_FOR_SHUNTSU: Record = { m1: 'm2', m2: 'm3', m3: 'm4', @@ -138,7 +194,7 @@ export const NEXT_TILE_FOR_SHUNTSU: Record = { chun: null, }; -export const PREV_TILE_FOR_SHUNTSU: Record = { +export const PREV_TILE_FOR_SHUNTSU: Record = { m1: null, m2: 'm1', m3: 'm2', @@ -181,12 +237,12 @@ type EnvForCalcYaku = { /** * 和了る人の手牌(副露牌および和了る際のツモ牌・ロン牌は含まない) */ - handTiles: Tile[]; + handTiles: TileType[]; /** * 河 */ - hoTiles: Tile[]; + hoTiles: TileType[]; /** * 副露 @@ -196,22 +252,22 @@ type EnvForCalcYaku = { /** * ツモ牌 */ - tsumoTile: Tile | null; + tsumoTile: TileType | null; /** * ロン牌 */ - ronTile: Tile | null; + ronTile: TileType | null; /** * ドラ表示牌 */ - doraTiles: Tile[]; + doraTiles: TileType[]; /** * 赤ドラ表示牌 */ - redDoraTiles: Tile[]; + redDoraTiles: TileType[]; /** * 場風 @@ -362,7 +418,7 @@ export const YAKU_DEFINITIONS = [{ name: 'tanyao', fan: 1, calc: (state: EnvForCalcYaku) => { - const yaochuTiles: Tile[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; + const yaochuTiles: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; return ( (!state.handTiles.some(t => yaochuTiles.includes(t))) && (state.huros.filter(huro => @@ -424,7 +480,7 @@ export function fanToPoint(fan: number, isParent: boolean): number { return point; } -export function calcOwnedDoraCount(handTiles: Tile[], huros: Huro[], doras: Tile[]): number { +export function calcOwnedDoraCount(handTiles: TileType[], huros: Huro[], doras: TileType[]): number { let count = 0; for (const t of handTiles) { if (doras.includes(t)) count++; @@ -474,11 +530,11 @@ export function calcTsumoHoraPointDeltas(house: House, fans: number): Record { const aIndex = TILE_TYPES.indexOf(a); const bIndex = TILE_TYPES.indexOf(b); @@ -508,11 +564,11 @@ export function prevHouse(house: House): House { } type HoraSet = { - head: Tile; - mentsus: [Tile, Tile, Tile][]; + head: TileType; + mentsus: [TileType, TileType, TileType][]; }; -export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ +export const SHUNTU_PATTERNS: [TileType, TileType, TileType][] = [ ['m1', 'm2', 'm3'], ['m2', 'm3', 'm4'], ['m3', 'm4', 'm5'], @@ -536,7 +592,7 @@ export const SHUNTU_PATTERNS: [Tile, Tile, Tile][] = [ ['s7', 's8', 's9'], ]; -function extractShuntsus(tiles: Tile[]): [Tile, Tile, Tile][] { +function extractShuntsus(tiles: TileType[]): [TileType, TileType, TileType][] { const tempTiles = [...tiles]; tempTiles.sort((a, b) => { @@ -545,7 +601,7 @@ function extractShuntsus(tiles: Tile[]): [Tile, Tile, Tile][] { return aIndex - bIndex; }); - const shuntsus: [Tile, Tile, Tile][] = []; + const shuntsus: [TileType, TileType, TileType][] = []; while (tempTiles.length > 0) { let isShuntu = false; for (const shuntuPattern of SHUNTU_PATTERNS) { @@ -574,11 +630,11 @@ function extractShuntsus(tiles: Tile[]): [Tile, Tile, Tile][] { * @param handTiles ポン、チー、カンした牌を含まない手牌 * @returns */ -export function getHoraSets(handTiles: Tile[]): HoraSet[] { +export function getHoraSets(handTiles: TileType[]): HoraSet[] { const horaSets: HoraSet[] = []; - const headSet: Tile[] = []; - const countMap = new Map(); + const headSet: TileType[] = []; + const countMap = new Map(); for (const tile of handTiles) { const count = (countMap.get(tile) ?? 0) + 1; countMap.set(tile, count); @@ -592,7 +648,7 @@ export function getHoraSets(handTiles: Tile[]): HoraSet[] { tempHandTiles.splice(tempHandTiles.indexOf(head), 1); tempHandTiles.splice(tempHandTiles.indexOf(head), 1); - const kotsuTileSet: Tile[] = []; // インデックスアクセスしたいため配列だが実態はSet + const kotsuTileSet: TileType[] = []; // インデックスアクセスしたいため配列だが実態はSet for (const [t, c] of countMap.entries()) { if (t === head) continue; // 同じ牌種は4枚しかないので、頭と同じ牌種は刻子になりえない if (c >= 3) { @@ -600,7 +656,7 @@ export function getHoraSets(handTiles: Tile[]): HoraSet[] { } } - let kotsuPatterns: Tile[][]; + let kotsuPatterns: TileType[][]; if (kotsuTileSet.length === 0) { kotsuPatterns = [ [], @@ -664,7 +720,7 @@ export function getHoraSets(handTiles: Tile[]): HoraSet[] { if (shuntsus.length * 3 === tempHandTilesWithoutKotsu.length) { // アガリ形 horaSets.push({ head, - mentsus: [...kotsuPattern.map(t => [t, t, t] as [Tile, Tile, Tile]), ...shuntsus], + mentsus: [...kotsuPattern.map(t => [t, t, t] as [TileType, TileType, TileType]), ...shuntsus], }); } } @@ -677,7 +733,7 @@ export function getHoraSets(handTiles: Tile[]): HoraSet[] { * アガリ牌リストを取得 * @param handTiles ポン、チー、カンした牌を含まない手牌 */ -export function getHoraTiles(handTiles: Tile[]): Tile[] { +export function getHoraTiles(handTiles: TileType[]): TileType[] { return TILE_TYPES.filter(tile => { const tempHandTiles = [...handTiles, tile]; const horaSets = getHoraSets(tempHandTiles); @@ -689,7 +745,7 @@ export function getHoraTiles(handTiles: Tile[]): Tile[] { // TODO: 七対子判定関数 -export function getTilesForRiichi(handTiles: Tile[]): Tile[] { +export function getTilesForRiichi(handTiles: TileType[]): TileType[] { return handTiles.filter(tile => { const tempHandTiles = [...handTiles]; tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); @@ -698,12 +754,12 @@ export function getTilesForRiichi(handTiles: Tile[]): Tile[] { }); } -export function nextTileForDora(tile: Tile): Tile { +export function nextTileForDora(tile: TileType): TileType { return NEXT_TILE_FOR_DORA_MAP[tile]; } -export function getAvailableCiiPatterns(handTiles: Tile[], targetTile: Tile): [Tile, Tile, Tile][] { - const patterns: [Tile, Tile, Tile][] = []; +export function getAvailableCiiPatterns(handTiles: TileType[], targetTile: TileType): [TileType, TileType, TileType][] { + const patterns: [TileType, TileType, TileType][] = []; const prev1 = PREV_TILE_FOR_SHUNTSU[targetTile]; const prev2 = prev1 != null ? PREV_TILE_FOR_SHUNTSU[prev1] : null; const next1 = NEXT_TILE_FOR_SHUNTSU[targetTile]; diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 4bd436a2e3..b375296fe3 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -4,10 +4,20 @@ */ import CRC32 from 'crc-32'; -import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; +import { TileType, House, Huro, TILE_TYPES, YAKU_DEFINITIONS, TileId } from './common.js'; import * as Common from './common.js'; import { PlayerState } from './engine.player.js'; +//#region syntax suger +function $(tileId: TileId): Common.TileInstance { + return Common.findTileByIdOrFail(tileId); +} + +function $type(tileId: TileId): TileType { + return Common.findTileByIdOrFail(tileId).t; +} +//#endregion + export type MasterState = { user1House: House; user2House: House; @@ -17,25 +27,25 @@ export type MasterState = { round: 'e' | 's' | 'w' | 'n'; kyoku: number; - tiles: Tile[]; - kingTiles: Tile[]; + tiles: TileId[]; + kingTiles: TileId[]; activatedDorasCount: number; /** * 副露した牌を含まない手牌 */ handTiles: { - e: Tile[]; - s: Tile[]; - w: Tile[]; - n: Tile[]; + e: TileId[]; + s: TileId[]; + w: TileId[]; + n: TileId[]; }; hoTiles: { - e: Tile[]; - s: Tile[]; - w: Tile[]; - n: Tile[]; + e: TileId[]; + s: TileId[]; + w: TileId[]; + n: TileId[]; }; huros: { e: Huro[]; @@ -114,14 +124,33 @@ export class MasterGameEngine { this.state = state; } - public get doras(): Tile[] { - return this.state.kingTiles.slice(0, this.state.activatedDorasCount).map(t => Common.nextTileForDora(t)); + public get doras(): TileType[] { + return this.state.kingTiles.slice(0, this.state.activatedDorasCount) + .map(id => Common.nextTileForDora($type(id))); + } + + public get handTileTypes(): Record { + return { + e: this.state.handTiles.e.map(id => $type(id)), + s: this.state.handTiles.s.map(id => $type(id)), + w: this.state.handTiles.w.map(id => $type(id)), + n: this.state.handTiles.n.map(id => $type(id)), + }; + } + + public get hoTileTypes(): Record { + return { + e: this.state.hoTiles.e.map(id => $type(id)), + s: this.state.hoTiles.s.map(id => $type(id)), + w: this.state.hoTiles.w.map(id => $type(id)), + n: this.state.hoTiles.n.map(id => $type(id)), + }; } public static createInitialState(): MasterState { - const ikasama: Tile[] = ['haku', 'hatsu', 'm3', 'p5', 'p6', 'p7', 's2', 's3', 's4', 'chun', 'chun', 'chun', 'n', 'n']; + const ikasama: TileId[] = [125, 129, 9, 54, 57, 61, 77, 81, 85, 133, 134, 135, 121, 122]; - const tiles = [...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice(), ...TILE_TYPES.slice()]; + const tiles = [...Common.TILE_ID_MAP.keys()]; tiles.sort(() => Math.random() - 0.5); for (const tile of ikasama) { @@ -185,7 +214,7 @@ export class MasterGameEngine { }; } - private tsumo(): Tile { + private tsumo(): TileId { const tile = this.state.tiles.pop(); if (tile == null) throw new Error('No tiles left'); if (this.state.turn == null) throw new Error('Not your turn'); @@ -193,12 +222,12 @@ export class MasterGameEngine { return tile; } - private canRon(house: House, tile: Tile): boolean { + private canRon(house: House, tile: TileId): boolean { // フリテン // TODO: ポンされるなどして自分の河にない場合の考慮 - if (this.state.hoTiles[house].includes(tile)) return false; + if (this.hoTileTypes[house].includes($type(tile))) return false; - const horaSets = Common.getHoraSets(this.state.handTiles[house].concat(tile)); + const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tile))); if (horaSets.length === 0) return false; // 完成形じゃない // TODO @@ -208,15 +237,15 @@ export class MasterGameEngine { return true; } - private canPon(house: House, tile: Tile): boolean { - return this.state.handTiles[house].filter(t => t === tile).length === 2; + private canPon(house: House, tile: TileId): boolean { + return this.handTileTypes[house].filter(t => t === $type(tile)).length === 2; } - private canCii(caller: House, callee: House, tile: Tile): boolean { + private canCii(caller: House, callee: House, tile: TileId): boolean { if (callee !== Common.prevHouse(caller)) return false; - const hand = this.state.handTiles[caller]; + const hand = this.handTileTypes[caller]; return Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes(tile) && + pattern.includes($type(tile)) && pattern.filter(t => hand.includes(t)).length >= 2); } @@ -245,13 +274,14 @@ export class MasterGameEngine { for (const house of callers) { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, - handTiles: this.state.handTiles[house], + handTiles: this.handTileTypes[house], huros: this.state.huros[house], tsumoTile: null, - ronTile: this.state.hoTiles[callee].at(-1)!, + ronTile: this.hoTileTypes[callee].at(-1)!, riichi: this.state.riichis[house], })); - const doraCount = Common.calcOwnedDoraCount(this.state.handTiles[house], this.state.huros[house], this.doras); + const doraCount = Common.calcOwnedDoraCount(this.handTileTypes[house], this.state.huros[house], this.doras); + // TODO: 赤ドラ const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const point = Common.fanToPoint(fans, house === 'e'); this.state.points[callee] -= point; @@ -263,12 +293,12 @@ export class MasterGameEngine { this.endKyoku(); } - public commit_dahai(house: House, tile: Tile, riichi = false) { + public commit_dahai(house: House, tile: TileId, riichi = false) { if (this.state.turn !== house) throw new Error('Not your turn'); if (riichi) { - const tempHandTiles = [...this.state.handTiles[house]]; - tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); + const tempHandTiles = [...this.handTileTypes[house]]; + tempHandTiles.splice(tempHandTiles.indexOf($type(tile)), 1); if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); if (this.state.points[house] < 1000) throw new Error('Not enough points'); } @@ -371,11 +401,11 @@ export class MasterGameEngine { }; } - public commit_kakan(house: House, tile: Tile) { - const pon = this.state.huros[house].find(h => h.type === 'pon' && h.tile === tile); + public commit_kakan(house: House, tile: TileId) { + const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tile)); if (pon == null) throw new Error('No such pon'); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - this.state.huros[house].push({ type: 'minkan', tile, from: pon.from }); + this.state.huros[house].push({ type: 'minkan', tiles: [...pon.tiles, tile], from: pon.from }); this.state.activatedDorasCount++; @@ -386,12 +416,20 @@ export class MasterGameEngine { }; } - public commit_ankan(house: House, tile: Tile) { - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - this.state.huros[house].push({ type: 'ankan', tile }); + public commit_ankan(house: House, tile: TileId) { + const t1 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(0); + if (t1 == null) throw new Error('No such tile'); + const t2 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(1); + if (t2 == null) throw new Error('No such tile'); + const t3 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(2); + if (t3 == null) throw new Error('No such tile'); + const t4 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(3); + if (t4 == null) throw new Error('No such tile'); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t1), 1); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t2), 1); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t3), 1); + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t4), 1); + this.state.huros[house].push({ type: 'ankan', tiles: [t1, t2, t3, t4] }); this.state.activatedDorasCount++; @@ -411,13 +449,14 @@ export class MasterGameEngine { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, - handTiles: this.state.handTiles[house], + handTiles: this.handTileTypes[house], huros: this.state.huros[house], - tsumoTile: this.state.handTiles[house].at(-1)!, + tsumoTile: this.handTileTypes[house].at(-1)!, ronTile: null, riichi: this.state.riichis[house], })); - const doraCount = Common.calcOwnedDoraCount(this.state.handTiles[house], this.state.huros[house], this.doras); + const doraCount = Common.calcOwnedDoraCount(this.handTileTypes[house], this.state.huros[house], this.doras); + // TODO: 赤ドラ const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); this.state.points.e += pointDeltas.e; @@ -463,8 +502,19 @@ export class MasterGameEngine { } else if (kan != null && answers.kan) { // 大明槓 + const t1 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(0); + if (t1 == null) throw new Error('No such tile'); + const t2 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(1); + if (t2 == null) throw new Error('No such tile'); + const t3 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(2); + if (t3 == null) throw new Error('No such tile'); const tile = this.state.hoTiles[kan.callee].pop()!; - this.state.huros[kan.caller].push({ type: 'minkan', tile, from: kan.callee }); + + this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t1), 1); + this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t2), 1); + this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t3), 1); + + this.state.huros[kan.caller].push({ type: 'minkan', tiles: [tile, t1, t2, t3], from: kan.callee }); this.state.activatedDorasCount++; @@ -481,10 +531,16 @@ export class MasterGameEngine { turn: this.state.turn, }; } else if (pon != null && answers.pon) { + const t1 = this.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(0); + if (t1 == null) throw new Error('No such tile'); + const t2 = this.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(1); + if (t2 == null) throw new Error('No such tile'); const tile = this.state.hoTiles[pon.callee].pop()!; - this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(tile), 1); - this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(tile), 1); - this.state.huros[pon.caller].push({ type: 'pon', tile, from: pon.callee }); + + this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(t1), 1); + this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(t2), 1); + + this.state.huros[pon.caller].push({ type: 'pon', tiles: [tile, t1, t2], from: pon.callee }); this.state.turn = pon.caller; @@ -497,37 +553,49 @@ export class MasterGameEngine { }; } else if (cii != null && answers.cii) { const tile = this.state.hoTiles[cii.callee].pop()!; - let tiles: [Tile, Tile, Tile]; + let tiles: [TileId, TileId, TileId]; switch (answers.cii) { case 'x__': { - const a = Common.NEXT_TILE_FOR_SHUNTSU[tile]; + const a = Common.NEXT_TILE_FOR_SHUNTSU[$type(tile)]; if (a == null) throw new Error(); const b = Common.NEXT_TILE_FOR_SHUNTSU[a]; if (b == null) throw new Error(); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(a), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(b), 1); - tiles = [tile, a, b]; + const aTile = this.state.handTiles[cii.caller].find(t => $type(t) === a); + if (aTile == null) throw new Error(); + const bTile = this.state.handTiles[cii.caller].find(t => $type(t) === b); + if (bTile == null) throw new Error(); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(aTile), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(bTile), 1); + tiles = [tile, aTile, bTile]; break; } case '_x_': { - const a = Common.PREV_TILE_FOR_SHUNTSU[tile]; + const a = Common.PREV_TILE_FOR_SHUNTSU[$type(tile)]; if (a == null) throw new Error(); - const b = Common.NEXT_TILE_FOR_SHUNTSU[tile]; + const b = Common.NEXT_TILE_FOR_SHUNTSU[$type(tile)]; if (b == null) throw new Error(); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(a), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(b), 1); - tiles = [a, tile, b]; + const aTile = this.state.handTiles[cii.caller].find(t => $type(t) === a); + if (aTile == null) throw new Error(); + const bTile = this.state.handTiles[cii.caller].find(t => $type(t) === b); + if (bTile == null) throw new Error(); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(aTile), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(bTile), 1); + tiles = [aTile, tile, bTile]; break; } case '__x': { - const a = Common.PREV_TILE_FOR_SHUNTSU[tile]; + const a = Common.PREV_TILE_FOR_SHUNTSU[$type(tile)]; if (a == null) throw new Error(); const b = Common.PREV_TILE_FOR_SHUNTSU[a]; if (b == null) throw new Error(); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(a), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(b), 1); - tiles = [b, a, tile]; + const aTile = this.state.handTiles[cii.caller].find(t => $type(t) === a); + if (aTile == null) throw new Error(); + const bTile = this.state.handTiles[cii.caller].find(t => $type(t) === b); + if (bTile == null) throw new Error(); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(aTile), 1); + this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(bTile), 1); + tiles = [bTile, aTile, tile]; break; } } diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 40b45b3599..f4a7e8d119 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -4,9 +4,19 @@ */ import CRC32 from 'crc-32'; -import { Tile, House, Huro, TILE_TYPES, YAKU_DEFINITIONS } from './common.js'; +import { TileType, House, Huro, TileId, YAKU_DEFINITIONS } from './common.js'; import * as Common from './common.js'; +//#region syntax suger +function $(tileId: TileId): Common.TileInstance { + return Common.findTileByIdOrFail(tileId); +} + +function $type(tileId: TileId): TileType { + return Common.findTileByIdOrFail(tileId).t; +} +//#endregion + export type PlayerState = { user1House: House; user2House: House; @@ -17,23 +27,23 @@ export type PlayerState = { kyoku: number; tilesCount: number; - doraIndicateTiles: Tile[]; + doraIndicateTiles: TileId[]; /** * 副露した牌を含まない手牌 */ handTiles: { - e: Tile[] | null[]; - s: Tile[] | null[]; - w: Tile[] | null[]; - n: Tile[] | null[]; + e: TileId[] | null[]; + s: TileId[] | null[]; + w: TileId[] | null[]; + n: TileId[] | null[]; }; hoTiles: { - e: Tile[]; - s: Tile[]; - w: Tile[]; - n: Tile[]; + e: TileId[]; + s: TileId[]; + w: TileId[]; + n: TileId[]; }; huros: { e: Huro[]; @@ -53,7 +63,7 @@ export type PlayerState = { w: number; n: number; }; - latestDahaiedTile: Tile | null; + latestDahaiedTile: TileId | null; turn: House | null; canPon: { callee: House } | null; canCii: { callee: House } | null; @@ -90,19 +100,23 @@ export class PlayerGameEngine { } } - public get myHandTiles(): Tile[] { - return this.state.handTiles[this.myHouse] as Tile[]; + public get myHandTiles(): TileId[] { + return this.state.handTiles[this.myHouse] as TileId[]; + } + + public get myHandTileTypes(): TileType[] { + return this.myHandTiles.map(t => $type(t)); } public get isMeRiichi(): boolean { return this.state.riichis[this.myHouse]; } - public get doras(): Tile[] { - return this.state.doraIndicateTiles.map(t => Common.nextTileForDora(t)); + public get doras(): TileType[] { + return this.state.doraIndicateTiles.map(t => Common.nextTileForDora($type(t))); } - public commit_tsumo(house: House, tile: Tile) { + public commit_tsumo(house: House, tile: TileId) { console.log('commit_tsumo', this.state.turn, house, tile); this.state.tilesCount--; this.state.turn = house; @@ -113,7 +127,7 @@ export class PlayerGameEngine { } } - public commit_dahai(house: House, tile: Tile, riichi = false) { + public commit_dahai(house: House, tile: TileId, riichi = false) { console.log('commit_dahai', this.state.turn, house, tile, riichi); if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); @@ -133,13 +147,13 @@ export class PlayerGameEngine { if (house === this.myHouse) { } else { - const canRon = Common.getHoraSets(this.myHandTiles.concat(tile)).length > 0; + const canRon = Common.getHoraSets(this.myHandTiles.concat(tile).map(id => $type(id))).length > 0; const canPon = this.myHandTiles.filter(t => t === tile).length === 2; const canKan = this.myHandTiles.filter(t => t === tile).length === 3; const canCii = house === Common.prevHouse(this.myHouse) && Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes(tile) && - pattern.filter(t => this.myHandTiles.includes(t)).length >= 2); + pattern.includes($type(tile)) && + pattern.filter(t => this.myHandTileTypes.includes(t)).length >= 2); if (canRon) this.state.canRon = { callee: house }; if (canPon) this.state.canPon = { callee: house }; @@ -148,23 +162,24 @@ export class PlayerGameEngine { } } - public commit_kakan(house: House, tile: Tile) { + public commit_kakan(house: House, tile: TileId) { console.log('commit_kakan', this.state.turn, house, tile); if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); } - public commit_tsumoHora(house: House, handTiles: Tile[], tsumoTile: Tile): KyokuResult { + public commit_tsumoHora(house: House, handTiles: TileId[], tsumoTile: TileId): KyokuResult { console.log('commit_tsumoHora', this.state.turn, house); const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, - handTiles: handTiles, + handTiles: handTiles.map(id => $type(id)), huros: this.state.huros[house], - tsumoTile: tsumoTile, + tsumoTile: $type(tsumoTile), ronTile: null, riichi: this.state.riichis[house], })); - const doraCount = Common.calcOwnedDoraCount(handTiles, this.state.huros[house], this.doras); + const doraCount = Common.calcOwnedDoraCount(handTiles.map(id => $type(id)), this.state.huros[house], this.doras); + // TODO: 赤ドラ const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); this.state.points.e += pointDeltas.e; @@ -188,10 +203,10 @@ export class PlayerGameEngine { * @param callee 牌を捨てた人 */ public commit_ronHora(callers: House[], callee: House, handTiles: { - e: Tile[]; - s: Tile[]; - w: Tile[]; - n: Tile[]; + e: TileId[]; + s: TileId[]; + w: TileId[]; + n: TileId[]; }): Record { console.log('commit_ronHora', this.state.turn, callers, callee); @@ -207,13 +222,14 @@ export class PlayerGameEngine { for (const house of callers) { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, - handTiles: handTiles[house], + handTiles: handTiles[house].map(id => $type(id)), huros: this.state.huros[house], tsumoTile: null, - ronTile: this.state.hoTiles[callee].at(-1)!, + ronTile: $type(this.state.hoTiles[callee].at(-1)!), riichi: this.state.riichis[house], })); - const doraCount = Common.calcOwnedDoraCount(handTiles[house], this.state.huros[house], this.doras); + const doraCount = Common.calcOwnedDoraCount(handTiles[house].map(id => $type(id)), this.state.huros[house], this.doras); + // TODO: 赤ドラ const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const point = Common.fanToPoint(fans, house === 'e'); this.state.points[callee] -= point; @@ -237,19 +253,19 @@ export class PlayerGameEngine { * @param caller ポンした人 * @param callee 牌を捨てた人 */ - public commit_pon(caller: House, callee: House) { + public commit_pon(caller: House, callee: House, tiles: TileId[]) { this.state.canPon = null; - const lastTile = this.state.hoTiles[callee].pop(); - if (lastTile == null) throw new PlayerGameEngine.InvalidOperationError(); + this.state.hoTiles[callee].pop(); if (caller === this.myHouse) { - this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); - this.myHandTiles.splice(this.myHandTiles.indexOf(lastTile), 1); + if (this.myHandTiles.includes(tiles[0])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[0]), 1); + if (this.myHandTiles.includes(tiles[1])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[1]), 1); + if (this.myHandTiles.includes(tiles[2])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[2]), 1); } else { this.state.handTiles[caller].unshift(); this.state.handTiles[caller].unshift(); } - this.state.huros[caller].push({ type: 'pon', tile: lastTile, from: callee }); + this.state.huros[caller].push({ type: 'pon', tiles: tiles, from: callee }); this.state.turn = caller; } @@ -271,25 +287,27 @@ export class PlayerGameEngine { if (this.state.riichis[this.myHouse]) return false; if (this.state.points[this.myHouse] < 1000) return false; if (!this.isMenzen) return false; - if (Common.getTilesForRiichi(this.myHandTiles).length === 0) return false; + if (Common.getTilesForRiichi(this.myHandTileTypes).length === 0) return false; return true; } public canAnkan(): boolean { if (this.state.turn !== this.myHouse) return false; - return this.myHandTiles.filter(t => this.myHandTiles.filter(tt => tt === t).length >= 4).length > 0; + return this.myHandTiles + .filter(t => this.myHandTiles + .filter(tt => $type(tt) === $type(t)).length >= 4).length > 0; } public canKakan(): boolean { if (this.state.turn !== this.myHouse) return false; - return this.state.huros[this.myHouse].filter(h => h.type === 'pon' && this.myHandTiles.includes(h.tile)).length > 0; + return this.state.huros[this.myHouse].filter(h => h.type === 'pon' && this.myHandTileTypes.includes($type(h.tiles[0]))).length > 0; } - public getAnkanableTiles(): Tile[] { - return this.myHandTiles.filter(t => this.myHandTiles.filter(tt => tt === t).length >= 4); + public getAnkanableTiles(): TileId[] { + return this.myHandTiles.filter(t => this.myHandTiles.filter(tt => $type(tt) === $type(t)).length >= 4); } - public getKakanableTiles(): Tile[] { - return this.state.huros[this.myHouse].filter(h => h.type === 'pon' && this.myHandTiles.includes(h.tile)).map(h => h.tile); + public getKakanableTiles(): TileId[] { + return this.myHandTiles.filter(t => this.state.huros[this.myHouse].some(h => h.type === 'pon' && $type(t) === $type(h.tiles[0]))); } } diff --git a/packages/misskey-mahjong/src/serializer.ts b/packages/misskey-mahjong/src/serializer.ts index 12b249880d..36279f1c87 100644 --- a/packages/misskey-mahjong/src/serializer.ts +++ b/packages/misskey-mahjong/src/serializer.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { Tile } from './common.js'; +import { TileType } from './common.js'; export type Log = { time: number; @@ -14,7 +14,7 @@ export type Log = { export type SerializedLog = number[]; -export const TILE_MAP: Record = { +export const TILE_MAP: Record = { 'm1': 1, 'm2': 2, 'm3': 3, @@ -51,12 +51,12 @@ export const TILE_MAP: Record = { 'chun': 34, }; -export function serializeTile(tile: Tile): number { +export function serializeTile(tile: TileType): number { return TILE_MAP[tile]; } -export function deserializeTile(tile: number): Tile { - return Object.keys(TILE_MAP).find(key => TILE_MAP[key as Tile] === tile) as Tile; +export function deserializeTile(tile: number): TileType { + return Object.keys(TILE_MAP).find(key => TILE_MAP[key as TileType] === tile) as TileType; } export function serializeLogs(logs: Log[]) { From 38e3d248fbaa8594646d2ff7277a41c006d8bd24 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 4 Feb 2024 17:11:42 +0900 Subject: [PATCH 31/64] wip --- packages/backend/src/core/MahjongService.ts | 16 ++--- .../api/stream/channels/mahjong-room.ts | 6 +- .../frontend/assets/mahjong/tiles/m5r.png | Bin 0 -> 8011 bytes .../frontend/assets/mahjong/tiles/p5r.png | Bin 0 -> 22697 bytes .../frontend/assets/mahjong/tiles/s5r.png | Bin 0 -> 9050 bytes packages/frontend/src/pages/mahjong/huro.vue | 30 ++++---- .../frontend/src/pages/mahjong/room.game.vue | 68 +++++------------- packages/frontend/src/pages/mahjong/tile.vue | 12 ++-- packages/misskey-mahjong/src/engine.master.ts | 4 +- packages/misskey-mahjong/src/engine.player.ts | 2 +- 10 files changed, 49 insertions(+), 89 deletions(-) create mode 100644 packages/frontend/assets/mahjong/tiles/m5r.png create mode 100644 packages/frontend/assets/mahjong/tiles/p5r.png create mode 100644 packages/frontend/assets/mahjong/tiles/s5r.png diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index e4abbe8076..9a6422340e 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -376,7 +376,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async dahai(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.House, tile: Mahjong.Tile, riichi = false) { + private async dahai(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.House, tile: Mahjong.TileId, riichi = false) { const res = engine.commit_dahai(house, tile, riichi); room.gameState = engine.state; await this.saveRoom(room); @@ -384,8 +384,6 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); if (res.asking) { - console.log('asking', res); - const answers: CallingAnswers = { pon: null, cii: null, @@ -478,11 +476,10 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: string, riichi = false) { + public async commit_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: Mahjong.TileId, riichi = false) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - if (!Mahjong.isTile(tile)) return; const engine = new Mahjong.MasterGameEngine(room.gameState); const myHouse = getHouseOfUserId(room, engine, user.id); @@ -493,7 +490,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_ankan(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { + public async commit_ankan(roomId: MiMahjongGame['id'], user: MiUser, tile: Mahjong.TileId) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; @@ -511,7 +508,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser, tile: string) { + public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser, tile: Mahjong.TileId) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; @@ -643,11 +640,10 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (engine.state.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り - const handTiles = engine.state.handTiles[house]; - const horaSets = Mahjong.getHoraSets(handTiles); + const horaSets = Mahjong.getHoraSets(engine.handTileTypes[house]); if (horaSets.length === 0) { setTimeout(() => { - this.dahai(room, engine, house, handTiles.at(-1)); + this.dahai(room, engine, house, engine.state.handTiles[house].at(-1)); }, 500); return; } diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index b2e2ccdb92..de7fc4f467 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -94,7 +94,7 @@ class MahjongRoomChannel extends Channel { } @bindThis - private async dahai(tile: string, riichi = false) { + private async dahai(tile: number, riichi = false) { if (this.user == null) return; this.mahjongService.commit_dahai(this.roomId!, this.user, tile, riichi); @@ -136,14 +136,14 @@ class MahjongRoomChannel extends Channel { } @bindThis -private async ankan(tile: string) { +private async ankan(tile: number) { if (this.user == null) return; this.mahjongService.commit_ankan(this.roomId!, this.user, tile); } @bindThis - private async kakan(tile: string) { + private async kakan(tile: number) { if (this.user == null) return; this.mahjongService.commit_kakan(this.roomId!, this.user, tile); diff --git a/packages/frontend/assets/mahjong/tiles/m5r.png b/packages/frontend/assets/mahjong/tiles/m5r.png new file mode 100644 index 0000000000000000000000000000000000000000..7347fb14ba670a6e28dcfb5ff9c66dea953d50cc GIT binary patch literal 8011 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�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 N002ovPDHLkV1hEmU9JEC literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/tiles/s5r.png b/packages/frontend/assets/mahjong/tiles/s5r.png new file mode 100644 index 0000000000000000000000000000000000000000..09b1b884bf246835d66a0ae1c5de0ef604d424ce GIT binary patch literal 9050 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

    - - - - + + + +
    - - - + + +
    - - - + + +
    @@ -36,7 +36,7 @@ import XTile from './tile.vue'; const props = defineProps<{ huro: Mahjong.Huro; variation: string; - doras: Mahjong.Tile[]; + doras: Mahjong.TileType[]; }>(); diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 99471d50da..e1ab9bcff7 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -76,28 +76,28 @@ SPDX-License-Identifier: AGPL-3.0-only
    - +
    - +
    - +
    - +
    @@ -106,20 +106,20 @@ SPDX-License-Identifier: AGPL-3.0-only
    - +
    - +
    @@ -259,7 +259,7 @@ const canHora = computed(() => { return Mahjong.getHoraSets(engine.value.myHandTiles).length > 0; }); -const selectableTiles = ref(null); +const selectableTiles = ref(null); const ronSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); const ciiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); const ponSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); @@ -267,43 +267,6 @@ const kanSerifHouses = reactive>({ e: false, s: f const tsumoSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); const riichiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); -/* -console.log(Mahjong.getTilesForRiichi([ - 'm1', - 'm2', - 'm2', - 'm3', - 'm3', - 'm5', - 'm6', - 'p4', - 'p5', - 'p6', - 's6', - 's7', - 's8', - 'm7', -])); -*/ -/* -console.log(Mahjong.getHoraSets([ - 'm3', - 'm3', - 'm4', - 'm4', - 'm5', - 'm5', - 'p4', - 'p4', - 'p7', - 'p8', - 'p9', - 's4', - 's5', - 's6', -])); -*/ - /* if (room.value.isStarted && !room.value.isEnded) { useInterval(() => { @@ -354,7 +317,7 @@ let ankanSelect = false; let kakanSelect = false; let ciiSelect = false; -function chooseTile(tile: Mahjong.Tile, ev: MouseEvent) { +function chooseTile(tile: Mahjong.TileId, ev: MouseEvent) { if (!isMyTurn.value) return; iTsumoed.value = false; @@ -390,22 +353,22 @@ function riichi() { if (!isMyTurn.value) return; riichiSelect = true; - selectableTiles.value = Mahjong.getTilesForRiichi(engine.value.myHandTiles); - console.log(Mahjong.getTilesForRiichi(engine.value.myHandTiles)); + selectableTiles.value = Mahjong.getTilesForRiichi(engine.value.myHandTileTypes); + console.log(Mahjong.getTilesForRiichi(engine.value.myHandTileTypes)); } function ankan() { if (!isMyTurn.value) return; ankanSelect = true; - selectableTiles.value = engine.value.getAnkanableTiles(); + selectableTiles.value = engine.value.getAnkanableTiles().map(id => Mahjong.findTileByIdOrFail(id).t); } function kakan() { if (!isMyTurn.value) return; kakanSelect = true; - selectableTiles.value = engine.value.getKakanableTiles(); + selectableTiles.value = engine.value.getKakanableTiles().map(id => Mahjong.findTileByIdOrFail(id).t); } function tsumoHora() { @@ -957,7 +920,6 @@ onUnmounted(() => { aspect-ratio: 0.7; transition: translate 0.1s ease; cursor: pointer; - overflow: clip; } .myTile:hover { translate: 0 -10px; @@ -967,6 +929,7 @@ onUnmounted(() => { opacity: 0.7; pointer-events: none; } +/* .myTileDora { &:after { content: ""; @@ -982,6 +945,7 @@ onUnmounted(() => { pointer-events: none; } } +*/ .myTileBg { position: absolute; top: 0; diff --git a/packages/frontend/src/pages/mahjong/tile.vue b/packages/frontend/src/pages/mahjong/tile.vue index bd9911eada..ba823414aa 100644 --- a/packages/frontend/src/pages/mahjong/tile.vue +++ b/packages/frontend/src/pages/mahjong/tile.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only @@ -15,12 +15,12 @@ import { computed } from 'vue'; import * as Mahjong from 'misskey-mahjong'; const props = defineProps<{ - tile: Mahjong.Tile; + tile: Mahjong.TileInstance; variation: string; - doras: Mahjong.Tile[]; + doras: Mahjong.TileType[]; }>(); -const isDora = computed(() => props.doras.includes(props.tile)); +const isDora = computed(() => props.doras.includes(props.tile.t)); diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index b375296fe3..d41f1ffbc4 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -14,7 +14,7 @@ function $(tileId: TileId): Common.TileInstance { } function $type(tileId: TileId): TileType { - return Common.findTileByIdOrFail(tileId).t; + return $(tileId).t; } //#endregion @@ -148,7 +148,7 @@ export class MasterGameEngine { } public static createInitialState(): MasterState { - const ikasama: TileId[] = [125, 129, 9, 54, 57, 61, 77, 81, 85, 133, 134, 135, 121, 122]; + const ikasama: TileId[] = [125, 129, 9, 56, 57, 61, 77, 81, 85, 133, 134, 135, 121, 122]; const tiles = [...Common.TILE_ID_MAP.keys()]; tiles.sort(() => Math.random() - 0.5); diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index f4a7e8d119..91ec136424 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -13,7 +13,7 @@ function $(tileId: TileId): Common.TileInstance { } function $type(tileId: TileId): TileType { - return Common.findTileByIdOrFail(tileId).t; + return $(tileId).t; } //#endregion From bfb6e2f4614dbe507442f6413743d8a7b4dddd82 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 5 Feb 2024 10:58:56 +0900 Subject: [PATCH 32/64] wip --- locales/index.d.ts | 4 +- locales/ja-JP.yml | 4 +- packages/backend/src/core/MahjongService.ts | 14 ++++-- .../frontend/src/pages/mahjong/room.game.vue | 50 ++++++++++++++++++- packages/misskey-mahjong/src/engine.master.ts | 23 ++++++--- packages/misskey-mahjong/src/engine.player.ts | 37 ++++++++++++-- 6 files changed, 110 insertions(+), 22 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index 885b316634..ed9e9f9bb9 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -9803,7 +9803,7 @@ export interface Locale extends ILocale { */ "kokushi": string; /** - * 国士無双13面待ち + * 国士無双十三面待 */ "kokushi-13": string; /** @@ -9811,7 +9811,7 @@ export interface Locale extends ILocale { */ "suanko": string; /** - * 四暗刻単騎待ち + * 四暗刻単騎待 */ "suanko-tanki": string; /** diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 8935bc9d7a..87e7c7566c 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2610,9 +2610,9 @@ _mahjong: "ryampeko": "ニ盃口" "chinitsu": "清一色" "kokushi": "国士無双" - "kokushi-13": "国士無双13面待ち" + "kokushi-13": "国士無双十三面待" "suanko": "四暗刻" - "suanko-tanki": "四暗刻単騎待ち" + "suanko-tanki": "四暗刻単騎待" "daisangen": "大三元" "tsuiso": "字一色" "shosushi": "小四喜" diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 9a6422340e..f72e4731d6 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -321,11 +321,11 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { this.waitForTurn(room, res.turn, engine); break; case 'ponned': - this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tile: res.tile }); + this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tiles: res.tiles }); this.waitForTurn(room, res.turn, engine); break; case 'kanned': - this.globalEventService.publishMahjongRoomStream(room.id, 'kanned', { caller: res.caller, callee: res.callee, tile: res.tile, rinsyan: res.rinsyan }); + this.globalEventService.publishMahjongRoomStream(room.id, 'kanned', { caller: res.caller, callee: res.callee, tiles: res.tiles, rinsyan: res.rinsyan }); this.waitForTurn(room, res.turn, engine); break; case 'ronned': @@ -501,8 +501,10 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.clearTurnWaitingTimer(room.id); const res = engine.commit_ankan(myHouse, tile); + room.gameState = engine.state; + await this.saveRoom(room); - this.globalEventService.publishMahjongRoomStream(room.id, 'ankanned', { }); + this.globalEventService.publishMahjongRoomStream(room.id, 'ankanned', { house: myHouse, tiles: res.tiles, rinsyan: res.rinsyan }); this.waitForTurn(room, myHouse, engine); } @@ -519,8 +521,10 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.clearTurnWaitingTimer(room.id); const res = engine.commit_kakan(myHouse, tile); + room.gameState = engine.state; + await this.saveRoom(room); - this.globalEventService.publishMahjongRoomStream(room.id, 'kakanned', { }); + this.globalEventService.publishMahjongRoomStream(room.id, 'kakanned', { house: myHouse, tiles: res.tiles, rinsyan: res.rinsyan, from: res.from }); } @bindThis @@ -535,6 +539,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.clearTurnWaitingTimer(room.id); const res = engine.commit_tsumoHora(myHouse); + room.gameState = engine.state; + await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'tsumoHora', { house: myHouse, handTiles: res.handTiles, tsumoTile: res.tsumoTile }); } diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index e1ab9bcff7..c1f344831a 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -520,7 +520,7 @@ function onStreamPonned(log) { // return; //} - engine.value.commit_pon(log.caller, log.callee); + engine.value.commit_pon(log.caller, log.callee, log.tiles); triggerRef(engine); ponSerifHouses[log.caller] = true; @@ -531,6 +531,42 @@ function onStreamPonned(log) { myTurnTimerRmain.value = room.value.timeLimitForEachTurn; } +function onStreamKanned(log) { + console.log('onStreamKanned', log); + + engine.value.commit_kan(log.caller, log.callee, log.tiles, log.rinsyan); + triggerRef(engine); + + kanSerifHouses[log.caller] = true; + window.setTimeout(() => { + kanSerifHouses[log.caller] = false; + }, 2000); +} + +function onStreamKakanned(log) { + console.log('onStreamKakanned', log); + + engine.value.commit_kakan(log.house, log.tiles, log.rinsyan); + triggerRef(engine); + + kanSerifHouses[log.caller] = true; + window.setTimeout(() => { + kanSerifHouses[log.caller] = false; + }, 2000); +} + +function onStreamAnkanned(log) { + console.log('onStreamAnkanned', log); + + engine.value.commit_ankan(log.house, log.tiles, log.rinsyan); + triggerRef(engine); + + kanSerifHouses[log.caller] = true; + window.setTimeout(() => { + kanSerifHouses[log.caller] = false; + }, 2000); +} + function onStreamRonned(log) { console.log('onStreamRonned', log); @@ -579,6 +615,9 @@ onMounted(() => { props.connection.on('tsumo', onStreamTsumo); props.connection.on('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.on('ponned', onStreamPonned); + props.connection.on('kanned', onStreamKanned); + props.connection.on('kakanned', onStreamKakanned); + props.connection.on('ankanned', onStreamAnkanned); props.connection.on('ronned', onStreamRonned); props.connection.on('tsumoHora', onStreamTsumoHora); } @@ -590,6 +629,9 @@ onActivated(() => { props.connection.on('tsumo', onStreamTsumo); props.connection.on('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.on('ponned', onStreamPonned); + props.connection.on('kanned', onStreamKanned); + props.connection.on('kakanned', onStreamKakanned); + props.connection.on('ankanned', onStreamAnkanned); props.connection.on('ronned', onStreamRonned); props.connection.on('tsumoHora', onStreamTsumoHora); } @@ -601,6 +643,9 @@ onDeactivated(() => { props.connection.off('tsumo', onStreamTsumo); props.connection.off('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.off('ponned', onStreamPonned); + props.connection.off('kanned', onStreamKanned); + props.connection.off('kakanned', onStreamKakanned); + props.connection.off('ankanned', onStreamAnkanned); props.connection.off('ronned', onStreamRonned); props.connection.off('tsumoHora', onStreamTsumoHora); } @@ -612,6 +657,9 @@ onUnmounted(() => { props.connection.off('tsumo', onStreamTsumo); props.connection.off('dahaiAndTsumo', onStreamDahaiAndTsumo); props.connection.off('ponned', onStreamPonned); + props.connection.off('kanned', onStreamKanned); + props.connection.off('kakanned', onStreamKakanned); + props.connection.off('ankanned', onStreamAnkanned); props.connection.off('ronned', onStreamRonned); props.connection.off('tsumoHora', onStreamTsumoHora); } diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index d41f1ffbc4..8a9cb1993b 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -405,7 +405,8 @@ export class MasterGameEngine { const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tile)); if (pon == null) throw new Error('No such pon'); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - this.state.huros[house].push({ type: 'minkan', tiles: [...pon.tiles, tile], from: pon.from }); + const tiles = [tile, ...pon.tiles]; + this.state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); this.state.activatedDorasCount++; @@ -413,6 +414,8 @@ export class MasterGameEngine { return { rinsyan, + tiles, + from: pon.from, }; } @@ -429,7 +432,8 @@ export class MasterGameEngine { this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t2), 1); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t3), 1); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t4), 1); - this.state.huros[house].push({ type: 'ankan', tiles: [t1, t2, t3, t4] }); + const tiles = [t1, t2, t3, t4]; + this.state.huros[house].push({ type: 'ankan', tiles: tiles }); this.state.activatedDorasCount++; @@ -437,6 +441,7 @@ export class MasterGameEngine { return { rinsyan, + tiles, }; } @@ -502,19 +507,20 @@ export class MasterGameEngine { } else if (kan != null && answers.kan) { // 大明槓 + const tile = this.state.hoTiles[kan.callee].pop()!; const t1 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(0); if (t1 == null) throw new Error('No such tile'); const t2 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(1); if (t2 == null) throw new Error('No such tile'); const t3 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(2); if (t3 == null) throw new Error('No such tile'); - const tile = this.state.hoTiles[kan.callee].pop()!; this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t1), 1); this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t2), 1); this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t3), 1); - this.state.huros[kan.caller].push({ type: 'minkan', tiles: [tile, t1, t2, t3], from: kan.callee }); + const tiles = [tile, t1, t2, t3]; + this.state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); this.state.activatedDorasCount++; @@ -526,21 +532,22 @@ export class MasterGameEngine { type: 'kanned' as const, caller: kan.caller, callee: kan.callee, - tile, + tiles: tiles, rinsyan, turn: this.state.turn, }; } else if (pon != null && answers.pon) { + const tile = this.state.hoTiles[pon.callee].pop()!; const t1 = this.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(0); if (t1 == null) throw new Error('No such tile'); const t2 = this.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(1); if (t2 == null) throw new Error('No such tile'); - const tile = this.state.hoTiles[pon.callee].pop()!; this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(t1), 1); this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(t2), 1); - this.state.huros[pon.caller].push({ type: 'pon', tiles: [tile, t1, t2], from: pon.callee }); + const tiles = [tile, t1, t2]; + this.state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); this.state.turn = pon.caller; @@ -548,7 +555,7 @@ export class MasterGameEngine { type: 'ponned' as const, caller: pon.caller, callee: pon.callee, - tile, + tiles: tiles, turn: this.state.turn, }; } else if (cii != null && answers.cii) { diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 91ec136424..01b48c2bf3 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -162,11 +162,6 @@ export class PlayerGameEngine { } } - public commit_kakan(house: House, tile: TileId) { - console.log('commit_kakan', this.state.turn, house, tile); - if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); - } - public commit_tsumoHora(house: House, handTiles: TileId[], tsumoTile: TileId): KyokuResult { console.log('commit_tsumoHora', this.state.turn, house); @@ -270,6 +265,38 @@ export class PlayerGameEngine { this.state.turn = caller; } + /** + * 大明槓します + * @param caller 大明槓した人 + * @param callee 牌を捨てた人 + */ + public commit_kan(caller: House, callee: House, tiles: TileId[], rinsyan: TileId) { + this.state.canKan = null; + + this.state.hoTiles[callee].pop(); + if (caller === this.myHouse) { + if (this.myHandTiles.includes(tiles[0])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[0]), 1); + if (this.myHandTiles.includes(tiles[1])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[1]), 1); + if (this.myHandTiles.includes(tiles[2])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[2]), 1); + if (this.myHandTiles.includes(tiles[3])) this.myHandTiles.splice(this.myHandTiles.indexOf(tiles[3]), 1); + } else { + this.state.handTiles[caller].unshift(); + this.state.handTiles[caller].unshift(); + this.state.handTiles[caller].unshift(); + } + this.state.huros[caller].push({ type: 'minkan', tiles: tiles, from: callee }); + + this.state.turn = caller; + } + + public commit_kakan(house: House, tiles: TileId[], rinsyan: TileId) { + console.log('commit_kakan', this.state.turn, house, tiles); + } + + public commit_ankan(house: House, tiles: TileId[], rinsyan: TileId) { + console.log('commit_kakan', this.state.turn, house, tiles); + } + public commit_nop() { this.state.canRon = null; this.state.canPon = null; From b32022c20c1de16660556c3f8267134eec328fa8 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 5 Feb 2024 15:02:43 +0900 Subject: [PATCH 33/64] wip --- locales/index.d.ts | 26 ++ locales/ja-JP.yml | 7 + .../backend/src/core/GlobalEventService.ts | 30 +- packages/backend/src/core/MahjongService.ts | 142 ++++---- packages/frontend/assets/mahjong/logo.png | Bin 302410 -> 360204 bytes .../frontend/assets/mahjong/tile-front.png | Bin 6024 -> 0 bytes .../frontend/src/pages/mahjong/hand-tiles.vue | 184 ++++++++++ packages/frontend/src/pages/mahjong/huro.vue | 34 +- .../frontend/src/pages/mahjong/room.game.vue | 324 ++++++++---------- .../src/pages/mahjong/room.setting.vue | 2 +- packages/frontend/src/pages/mahjong/tile.vue | 8 +- packages/misskey-mahjong/src/common.ts | 38 +- packages/misskey-mahjong/src/engine.master.ts | 171 +++++---- packages/misskey-mahjong/src/engine.player.ts | 103 +++++- 14 files changed, 695 insertions(+), 374 deletions(-) delete mode 100644 packages/frontend/assets/mahjong/tile-front.png create mode 100644 packages/frontend/src/pages/mahjong/hand-tiles.vue diff --git a/locales/index.d.ts b/locales/index.d.ts index ed9e9f9bb9..8a87c1f8f9 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -9661,6 +9661,32 @@ export interface Locale extends ILocale { * 飜 */ "fan": string; + "_fanNames": { + /** + * 満貫 + */ + "mangan": string; + /** + * 跳満 + */ + "haneman": string; + /** + * 倍満 + */ + "baiman": string; + /** + * 三倍満 + */ + "sanbaiman": string; + /** + * 役満 + */ + "yakuman": string; + /** + * 数え役満 + */ + "kazoeyakuman": string; + }; "_yakus": { /** * 立直 diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 87e7c7566c..ab493d190f 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2574,6 +2574,13 @@ _mahjong: dora: "ドラ" redDora: "赤ドラ" fan: "飜" + _fanNames: + mangan: "満貫" + haneman: "跳満" + baiman: "倍満" + sanbaiman: "三倍満" + yakuman: "役満" + kazoeyakuman: "数え役満" _yakus: "riichi": "立直" "ippatsu": "一発" diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts index 243e13e6c5..3d7c3d052a 100644 --- a/packages/backend/src/core/GlobalEventService.ts +++ b/packages/backend/src/core/GlobalEventService.ts @@ -6,7 +6,7 @@ import { Inject, Injectable } from '@nestjs/common'; import * as Redis from 'ioredis'; import * as Reversi from 'misskey-reversi'; -import * as Mahjong from 'misskey-mahjong'; +import * as Mmj from 'misskey-mahjong'; import type { MiChannel } from '@/models/Channel.js'; import type { MiUser } from '@/models/User.js'; import type { MiUserProfile } from '@/models/UserProfile.js'; @@ -209,30 +209,30 @@ export interface MahjongRoomEventTypes { room: Packed<'MahjongRoomDetailed'>; }; tsumo: { - house: Mahjong.House; - tile: Mahjong.Tile; + house: Mmj.House; + tile: Mmj.Tile; }; dahai: { - house: Mahjong.House; - tile: Mahjong.Tile; + house: Mmj.House; + tile: Mmj.Tile; riichi: boolean; }; dahaiAndTsumo: { - dahaiHouse: Mahjong.House; - dahaiTile: Mahjong.Tile; - tsumoTile: Mahjong.Tile; + dahaiHouse: Mmj.House; + dahaiTile: Mmj.Tile; + tsumoTile: Mmj.Tile; riichi: boolean; }; ponned: { - caller: Mahjong.House; - callee: Mahjong.House; - tile: Mahjong.Tile; + caller: Mmj.House; + callee: Mmj.House; + tile: Mmj.Tile; }; kanned: { - caller: Mahjong.House; - callee: Mahjong.House; - tile: Mahjong.Tile; - rinsyan: Mahjong.Tile; + caller: Mmj.House; + callee: Mmj.House; + tile: Mmj.Tile; + rinsyan: Mmj.Tile; }; ronned: { }; diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index f72e4731d6..498563ac6b 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common'; import * as Redis from 'ioredis'; import { ModuleRef } from '@nestjs/core'; import { IsNull, LessThan, MoreThan } from 'typeorm'; -import * as Mahjong from 'misskey-mahjong'; +import * as Mmj from 'misskey-mahjong'; import type { MiMahjongGame, MahjongGamesRepository, @@ -55,7 +55,7 @@ type Room = { isStarted?: boolean; timeLimitForEachTurn: number; - gameState?: Mahjong.MasterState; + gameState?: Mmj.MasterState; }; type CallingAnswers = { @@ -77,12 +77,12 @@ type NextKyokuConfirmation = { user4: boolean; }; -function getUserIdOfHouse(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.House): MiUser['id'] { - return engine.state.user1House === house ? room.user1Id : engine.state.user2House === house ? room.user2Id : engine.state.user3House === house ? room.user3Id : room.user4Id; +function getUserIdOfHouse(room: Room, mj: Mmj.MasterGameEngine, house: Mmj.House): MiUser['id'] { + return mj.user1House === house ? room.user1Id : mj.user2House === house ? room.user2Id : mj.user3House === house ? room.user3Id : room.user4Id; } -function getHouseOfUserId(room: Room, engine: Mahjong.MasterGameEngine, userId: MiUser['id']): Mahjong.House { - return userId === room.user1Id ? engine.state.user1House : userId === room.user2Id ? engine.state.user2House : userId === room.user3Id ? engine.state.user3House : engine.state.user4House; +function getHouseOfUserId(room: Room, mj: Mmj.MasterGameEngine, userId: MiUser['id']): Mmj.House { + return userId === room.user1Id ? mj.user1House : userId === room.user2Id ? mj.user2House : userId === room.user3Id ? mj.user3House : mj.user4House; } @Injectable() @@ -278,7 +278,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { throw new Error('Not ready'); } - room.gameState = Mahjong.MasterGameEngine.createInitialState(); + room.gameState = Mmj.MasterGameEngine.createInitialState(); room.isStarted = true; await this.saveRoom(room); @@ -291,11 +291,11 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { @bindThis public async packRoom(room: Room, me: MiUser) { if (room.gameState) { - const engine = new Mahjong.MasterGameEngine(room.gameState); + const mj = new Mmj.MasterGameEngine(room.gameState); const myIndex = room.user1Id === me.id ? 1 : room.user2Id === me.id ? 2 : room.user3Id === me.id ? 3 : 4; return { ...room, - gameState: engine.createPlayerState(myIndex), + gameState: mj.createPlayerState(myIndex), }; } else { return { @@ -305,52 +305,56 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - private async answer(room: Room, engine: Mahjong.MasterGameEngine, answers: CallingAnswers) { - const res = engine.commit_resolveCallingInterruption({ + private async answer(room: Room, mj: Mmj.MasterGameEngine, answers: CallingAnswers) { + const res = mj.commit_resolveCallingInterruption({ pon: answers.pon ?? false, cii: answers.cii ?? false, kan: answers.kan ?? false, - ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])] as Mahjong.House[], + ron: [...(answers.ron.e ? ['e'] : []), ...(answers.ron.s ? ['s'] : []), ...(answers.ron.w ? ['w'] : []), ...(answers.ron.n ? ['n'] : [])] as Mmj.House[], }); - room.gameState = engine.state; + room.gameState = mj.getState(); await this.saveRoom(room); switch (res.type) { case 'tsumo': this.globalEventService.publishMahjongRoomStream(room.id, 'tsumo', { house: res.house, tile: res.tile }); - this.waitForTurn(room, res.turn, engine); + this.waitForTurn(room, res.turn, mj); break; case 'ponned': this.globalEventService.publishMahjongRoomStream(room.id, 'ponned', { caller: res.caller, callee: res.callee, tiles: res.tiles }); - this.waitForTurn(room, res.turn, engine); + this.waitForTurn(room, res.turn, mj); break; case 'kanned': this.globalEventService.publishMahjongRoomStream(room.id, 'kanned', { caller: res.caller, callee: res.callee, tiles: res.tiles, rinsyan: res.rinsyan }); - this.waitForTurn(room, res.turn, engine); + this.waitForTurn(room, res.turn, mj); + break; + case 'ciied': + this.globalEventService.publishMahjongRoomStream(room.id, 'ciied', { caller: res.caller, callee: res.callee, tiles: res.tiles }); + this.waitForTurn(room, res.turn, mj); break; case 'ronned': this.globalEventService.publishMahjongRoomStream(room.id, 'ronned', { callers: res.callers, callee: res.callee, handTiles: { - e: engine.state.handTiles.e, - s: engine.state.handTiles.s, - w: engine.state.handTiles.w, - n: engine.state.handTiles.n, + e: mj.handTiles.e, + s: mj.handTiles.s, + w: mj.handTiles.w, + n: mj.handTiles.n, }, }); - this.endKyoku(room, engine); + this.endKyoku(room, mj); break; case 'ryukyoku': this.globalEventService.publishMahjongRoomStream(room.id, 'ryukyoku', { }); - this.endKyoku(room, engine); + this.endKyoku(room, mj); break; } } @bindThis - private async endKyoku(room: Room, engine: Mahjong.MasterGameEngine) { + private async endKyoku(room: Room, mj: Mmj.MasterGameEngine) { const confirmation: NextKyokuConfirmation = { user1: false, user2: false, @@ -370,18 +374,18 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (allConfirmed || (Date.now() - waitingStartedAt > NEXT_KYOKU_CONFIRMATION_TIMEOUT_MS)) { await this.redisClient.del(`mahjong:gameNextKyokuConfirmation:${room.id}`); clearInterval(interval); - this.nextKyoku(room, engine); + this.nextKyoku(room, mj); } }, 2000); } @bindThis - private async dahai(room: Room, engine: Mahjong.MasterGameEngine, house: Mahjong.House, tile: Mahjong.TileId, riichi = false) { - const res = engine.commit_dahai(house, tile, riichi); - room.gameState = engine.state; + private async dahai(room: Room, mj: Mmj.MasterGameEngine, house: Mmj.House, tile: Mmj.TileId, riichi = false) { + const res = mj.commit_dahai(house, tile, riichi); + room.gameState = mj.getState(); await this.saveRoom(room); - const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => mj.getHouse(id)); if (res.asking) { const answers: CallingAnswers = { @@ -397,13 +401,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { }; // リーチ中はポン、チー、カンできない - if (res.canPonHouse != null && engine.state.riichis[res.canPonHouse]) { + if (res.canPonHouse != null && mj.riichis[res.canPonHouse]) { answers.pon = false; } - if (res.canCiiHouse != null && engine.state.riichis[res.canCiiHouse]) { + if (res.canCiiHouse != null && mj.riichis[res.canCiiHouse]) { answers.cii = false; } - if (res.canKanHouse != null && engine.state.riichis[res.canKanHouse]) { + if (res.canKanHouse != null && mj.riichis[res.canKanHouse]) { answers.kan = false; } @@ -445,7 +449,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { console.log(allAnswered ? 'ask all answerd' : 'ask timeout'); await this.redisClient.del(`mahjong:gameCallingAsking:${room.id}`); clearInterval(interval); - this.answer(room, engine, currentAnswers); + this.answer(room, mj, currentAnswers); return; } }, 1000); @@ -454,7 +458,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } else { this.globalEventService.publishMahjongRoomStream(room.id, 'dahaiAndTsumo', { dahaiHouse: house, dahaiTile: tile, tsumoTile: res.tsumoTile, riichi }); - this.waitForTurn(room, res.next, engine); + this.waitForTurn(room, res.next, mj); } } @@ -476,52 +480,52 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { } @bindThis - public async commit_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: Mahjong.TileId, riichi = false) { + public async commit_dahai(roomId: MiMahjongGame['id'], user: MiUser, tile: Mmj.TileId, riichi = false) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = getHouseOfUserId(room, engine, user.id); + const mj = new Mmj.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, mj, user.id); await this.clearTurnWaitingTimer(room.id); - await this.dahai(room, engine, myHouse, tile, riichi); + await this.dahai(room, mj, myHouse, tile, riichi); } @bindThis - public async commit_ankan(roomId: MiMahjongGame['id'], user: MiUser, tile: Mahjong.TileId) { + public async commit_ankan(roomId: MiMahjongGame['id'], user: MiUser, tile: Mmj.TileId) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = getHouseOfUserId(room, engine, user.id); + const mj = new Mmj.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, mj, user.id); await this.clearTurnWaitingTimer(room.id); - const res = engine.commit_ankan(myHouse, tile); - room.gameState = engine.state; + const res = mj.commit_ankan(myHouse, tile); + room.gameState = mj.getState(); await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'ankanned', { house: myHouse, tiles: res.tiles, rinsyan: res.rinsyan }); - this.waitForTurn(room, myHouse, engine); + this.waitForTurn(room, myHouse, mj); } @bindThis - public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser, tile: Mahjong.TileId) { + public async commit_kakan(roomId: MiMahjongGame['id'], user: MiUser, tile: Mmj.TileId) { const room = await this.getRoom(roomId); if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = getHouseOfUserId(room, engine, user.id); + const mj = new Mmj.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, mj, user.id); await this.clearTurnWaitingTimer(room.id); - const res = engine.commit_kakan(myHouse, tile); - room.gameState = engine.state; + const res = mj.commit_kakan(myHouse, tile); + room.gameState = mj.getState(); await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'kakanned', { house: myHouse, tiles: res.tiles, rinsyan: res.rinsyan, from: res.from }); @@ -533,13 +537,13 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = getHouseOfUserId(room, engine, user.id); + const mj = new Mmj.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, mj, user.id); await this.clearTurnWaitingTimer(room.id); - const res = engine.commit_tsumoHora(myHouse); - room.gameState = engine.state; + const res = mj.commit_tsumoHora(myHouse); + room.gameState = mj.getState(); await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'tsumoHora', { house: myHouse, handTiles: res.handTiles, tsumoTile: res.tsumoTile }); @@ -551,8 +555,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = getHouseOfUserId(room, engine, user.id); + const mj = new Mmj.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, mj, user.id); // TODO: 自分に回答する権利がある状態かバリデーション @@ -618,17 +622,17 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (room == null) return; if (room.gameState == null) return; - const engine = new Mahjong.MasterGameEngine(room.gameState); - const myHouse = getHouseOfUserId(room, engine, user.id); + const mj = new Mmj.MasterGameEngine(room.gameState); + const myHouse = getHouseOfUserId(room, mj, user.id); // TODO: この辺の処理はアトミックに行いたいけどJSONサポートはRedis Stackが必要 const current = await this.redisClient.get(`mahjong:gameCallingAsking:${room.id}`); if (current == null) throw new Error('no asking found'); const currentAnswers = JSON.parse(current) as CallingAnswers; - if (engine.state.ponAsking?.caller === myHouse) currentAnswers.pon = false; - if (engine.state.ciiAsking?.caller === myHouse) currentAnswers.cii = false; - if (engine.state.kanAsking?.caller === myHouse) currentAnswers.kan = false; - if (engine.state.ronAsking != null && engine.state.ronAsking.callers.includes(myHouse)) currentAnswers.ron[myHouse] = false; + if (mj.askings.pon?.caller === myHouse) currentAnswers.pon = false; + if (mj.askings.cii?.caller === myHouse) currentAnswers.cii = false; + if (mj.askings.kan?.caller === myHouse) currentAnswers.kan = false; + if (mj.askings.ron != null && mj.askings.ron.callers.includes(myHouse)) currentAnswers.ron[myHouse] = false; await this.redisClient.set(`mahjong:gameCallingAsking:${room.id}`, JSON.stringify(currentAnswers)); } @@ -638,18 +642,18 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { * NOTE: 時間切れチェックが行われたときにタイミングによっては次のwaitingが始まっている場合があることを考慮し、Setに一意のIDを格納する構造としている * @param room * @param house - * @param engine + * @param mj */ @bindThis - private async waitForTurn(room: Room, house: Mahjong.House, engine: Mahjong.MasterGameEngine) { - const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => engine.getHouse(id)); + private async waitForTurn(room: Room, house: Mmj.House, mj: Mmj.MasterGameEngine) { + const aiHouses = [[1, room.user1Ai], [2, room.user2Ai], [3, room.user3Ai], [4, room.user4Ai]].filter(([id, ai]) => ai).map(([id, ai]) => mj.getHouse(id)); - if (engine.state.riichis[house]) { + if (mj.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り - const horaSets = Mahjong.getHoraSets(engine.handTileTypes[house]); + const horaSets = Mmj.getHoraSets(mj.handTileTypes[house]); if (horaSets.length === 0) { setTimeout(() => { - this.dahai(room, engine, house, engine.state.handTiles[house].at(-1)); + this.dahai(room, mj, house, mj.handTiles[house].at(-1)); }, 500); return; } @@ -657,7 +661,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (aiHouses.includes(house)) { setTimeout(() => { - this.dahai(room, engine, house, engine.state.handTiles[house].at(-1)); + this.dahai(room, mj, house, mj.handTiles[house].at(-1)); }, 500); return; } @@ -676,8 +680,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.redisClient.srem(`mahjong:gameTurnWaiting:${room.id}`, id); console.log('turn timeout', house, id); clearInterval(interval); - const handTiles = engine.state.handTiles[house]; - await this.dahai(room, engine, house, handTiles.at(-1)); + const handTiles = mj.handTiles[house]; + await this.dahai(room, mj, house, handTiles.at(-1)); return; } }, 2000); diff --git a/packages/frontend/assets/mahjong/logo.png b/packages/frontend/assets/mahjong/logo.png index bacdd21e81463704df11eb0574b81ac43b04744e..6ebbdbb54883238cc55f9deb917df1db6529d559 100644 GIT binary patch literal 360204 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 M*6kxV`0%VVdfHKgFfeRFWC6 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

    5>km4uw*6TUI?QO3cQpNZtQ`q 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�E<})}FW6QQ9ghF*JTe^~^ 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 z%0A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�cq&4%xezLrK1^RT+bZZ)iw5r_IU3BJ2l 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

    R?ucJ3r#y+%F$XaL<^E-9d!& zRRMsM5k`diV^^tPo;1nKO&576$v?bYSlYiYgPYIs@@ z8H?@8laP-`_hD;R3&Z>Fur*xTVEa^%gqiHz-*ol2Zi11;@huZzhDmdTGEFp9=JfDaGvfAflJ~qG5k3! z`b}pO4*vC9JUOC*^6Gx(&1b@o2EUqHi1bY0L<#A@^J3u9m7kCt?TRpE>)1ACJwr?i z_}Ey8?9K5pbyi)vzXZNW_w?noihM;?=dm|* zTlGRLp;aDEd@+9s-3)eh>zFWTjf0e5=j2~p2Ej|rT|a88hGclbaoh&qvZUXgsTtS#;IovmDfer zJqR2C*+^$zL?L043wN4kY_kcP1Z>dAq#}eE1%&GoBLUT79WI}8A53l0I{f45Fk=cL zycaq6RiXnmg8|;G@VLy|ki`tuJ}j-|)*L_62*EDywA0n;huX-(xbGaTTYpequN?(r zIUSjhFIukxytgcXr=*LHT{O91&co1X2hf?+M12TjC@0+mvqrFcd=I49*cj>~i0p?n zAZH43_aGLBelRG%1XI+0W)1zPp7ZcdtpAm6v?>J^9SH!BYm8jbWAuN?os zmk>~B5m1`U*bU8>>uB{;2v4+ckB*=#{Kcu>>!NMt?cSv#ez8?4Ou|NfvCu&I0Yjz#?+R3hpV*~3=hTRO#Ftjq))#Sj&(<;WY{7WAW zcO2xlnG#(}FJ~#@44=+y;mLsr{bx-H-H#`=pmydKbi;W(XLg#UXN+pRFTw zT%WB|Nw-V;2be$;!}bg_?4jd(kr%-P!%SWj7h``bccY6`z%0hAvdN8y{GViLlC;xF zD)`7@$vQ#z!x+oszZdshtlF^CcN!iU)y3(gCC!dzuRn?=20B^iSvHCdPIi|xuTF(z zR2}qbcZ-Gu_7e)b*=jKS_`75%$j^E;UB z8LI2)Umeo@yovF$TkFNl+~>#VqltLx31YKv?;_zfc>ns_p)DUhzzt1!du;x{2zEhE zG7|DV278*QCBE+p7{p?@$7(qVElqt_!Yk}LQP?=W*U=8jFln9@5&gJ+KC(m2v z)xD5lX{D))yNjZJhQnoXHuNMA+|BHp^aD9YKV)f-&>`J$s3yj79`c13-hz{pnC%*H>q`H<7vvlS1_t>#nWf!THv&#ij_ z_Y)6xPPVTO4O*kuw>o_L6=76D7oei&}!aer&d34~q1DQPHlzlWHDz&YXZwk_CiC*LlRO z5?)%vrH#LChl{S`^PraVI#!{32{M%~oYcnI{Be(fxUkCw&01>^LHi9qQTiEsyK$G1 zzK3OH*&CM%#(42kRH`zRfH%fm(-B;~5gud?IS0Tvgl~{~m;TOE%zLx6YQAdt*OPV4 zJBQn=q6ydjx7+Y={o(qrw7QUFZ(cjz}=XB=^XddJuf zm`%3a%Q3+Wgt#!C2wRNrFGc>#pA@mD z1sg|fXtaFf8R6t<8|7Fa7DQn$Rim1)!{%n$1K9A2H7~^tOQW9 z)5^{;-OkG3rw77e+LQjBez>(jT4tQDaYuQHYOSFqhNWT^Oirwk#t9Li%_5kvBrj*- zA$CRb+Hw+h?ehHkEi+w*%j=Y??n3-UqeM1mWtlbs1d+47mytF>qa;3#Lo;VBQwwp^ z+~Gb%NIB85jYFo&SDMYnR1e^4ZfekLH+UXLcD`l0y&(g?l+5uRaGgF*1q|O4K9jmb zS0hz`oZ=zJ(~j1AHH+%*-z3%D^ibLK^whLWOenBeLvfrKWMmqj$4=W61f14TeTO#g z5Boh$L>^asfJ1YQ^(=j6`{BN$r_~1PsDg|o8}wyq(Q&%SVF*YMbpp7ACZ?v;yvM>0 z6tbRFh0EvpbM)cp7Us?U-D7A~`a|32`(jo7ZF@-7Cu6?jD?$a7xnD19P6tt8LX&O0 zFNV%@@iscrExp^CS zw{Wg&r^5IF7qyOz8_uh4*ae0cBCXuN`#LoJ1 z?C!H5@Fu3iJqt_^FsF~Ht*u?HY2H{0VFEk&Q5OaoqQiH-=c%&eKl(IiP9k{L*Ht0* zdZ-c*73aG{<9UnxLaLwh0Bd0xOTOq^A$lvn`WUbp=LTULoSMRU%ZS;=xF@Wtey<0< zrAS-~i0I@0p19y*PS%`Tv0J-qkkcz%m$_fzp6wYIW-+0d=8m?>)#pNY1N|lCx8DD7 zi5yMsXL83MEp%t8^SB3Q7EVycTR+B~!xo8rn9}l`Mc!mn?5PHeE%CHz8BGaACQ@^B ze(|I=Xynou_ArT(=s7x(ytQ!#UT3K)NXZUqBIt0^@mI#PFH_v+j{ElXlk6#q|sSRsVel zlijl1+JNWl#cjZNFoD@!vB>z&+Y*k~a6Qc7nN|>XMZ4>QpyR~Oq2FiylKkm$0adsV934X zk=|cgMYmcA6ZSgSq!6fB*of1n7$|r_sngzJjcBGv<8CAot&75Mq%Jv58~dLpgmU_! z^kYAL(pq!m_2%t>hVIvEj@ab7AIQyxHy3<H>@mBgu?M=s=HvCq$1``?zmZb@b%5*eWpQaf9AD*UHuJL`K{ zbk|0e*Ye^5{mxk}XR(YJvJu6b6y5hMGPxAI)>R0xn^M-PH=#Ond?EUsi1fl08Z5_?{imP&xF~RHNWu$&-vjIEvP>prLjz&V|Dt)>dzo=& zl?cAq!sLp^AO8Gv_}rg{u&5eZW$k+f{NpiUh$u*gcC|ZcoGRLjDF81>{{?|fe>bGY zcXwGQ09y1__!3Yiz`TV^L|5uhDAYdRJ5=-yHO|j0s;9V*Uw;!im#)v<0G>F277iZ> zQlx)M?e@gFeGUi+4tQMb9{S@7kYt%$UEQ~v1Vw^8x?gW=oi*9FA2*&RHvR#!oKMlW zt#Q@NnMBa(Vm}N_e8!YOmUta_(8OwXZ8nn$)`WMqnP42~A3F3iuM6HC`Q}IvKc5@L zK8Pnmo^BXEf_C*#lJ8;Z6+T`JJd_cIKQ9G|3@$|WFlGCWoQ+bk>mox5nT?O(Ckkj~ z`SuySm4UM@MS1c;^RXYdXtdQq5>|igdaX`Xw-zrs!(RGUsrd(ka-_|?KiI`2+=7l! z*CFYng7-Sw>e3~>@2s?^US^K!m9IGdN~GUdJs$*09*&GM0JjDMe6Y<7*POz4QRs{a z$NjrUSY&YZ3{t%n4mP5?Bd4^3J;Wcu8t{?6kD{`cMovt*I^ff`z;MyaGZ48fQ?Bg7 zZYp?{kTq`78vG+cF#br&3~`(O%3p6GXvZgJ2_aupz;au8^tk}tPB>)qu;VITORRW2`Jk3RcfD?!_V(%HU>w| z$Q5JbjGavp)RPM0>pV+axNUehe?c7jxfeT8GaNk8k&v|DVBUJZn-HT{0U)sQrSC51 zWy;z2?&f9H46bJmV{^LL{2LYa>Po-Lmd|mYeO>l2D|GMCl(>3w;uozN9=(jsnQ$a} zwO#_-46G+QKHo(>7{D!$>o~2+=!vN4Tr-nPok5aHP69|9CH4O)ABR<_^jE7OFO>hb zv^kYyk70`IP;;r6l`lbuQHwcYCCbTe&&=>w#NXPS{Ihg%MRYYME#(ykLd>DO9dlcmuf4uyQjNkX8v5M<|3mv$%)?_#A828px@D67h{&W;9q8U`Kosz`nbBj13;qOZ|d4N^+BYWi;D{pIr$KP z?8l-IiB3qs#lXbe1gNRZZj-m2wb&jTpN)l-5quB*2`#JNw^)UQp-qqQUhFx`|)_Qvu0^T6ukp?DD(_prl+UFdUwnF!MZv;X}-Cq z?WZEX5dDolfP6Obd-0~U9qHWWR4>Ix5p)Y5CmSebB}{m(_C1e#t**`{U&hQLp(%Sf z60#uSCNjn^YW79G?@EWPJ?BIJeJY!bhmk+00guJ!=RQ$M0dyUw=e3%$@1xrCD03x$ z)a^Ha!g^uOVLM2koYj|5{DtfO46mC5>-D`TlEZQgx3Y3a+za&^2zWD}L-fL{(EEoSj2Q zJe{X=iDJ|z5$>~1BLfeAneglHD$OzLtmuB7JP(hyS2ubGhfPx}HhJaa5+2%T%>`(# zt_U_iwaUe%b!tPnr#0Cc5vA}O4!TWugW+LPvKqe8`u}`DZ~4dji~kGaFy6UZ`q-o4 z#j0I(NcId_ovR4i*pTaU7$gu`zj#gHKpHYeauGifez;dOuKM_EA!&~mtvcXSWeC

    o(nS3u>!WB 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

    ujm*A#W7j>;^ggurf}Uk! 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 diff --git a/packages/frontend/assets/mahjong/tile-front.png b/packages/frontend/assets/mahjong/tile-front.png deleted file mode 100644 index e6bc7038e1760a1ca513167305ca2ecf8fc5579a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6024 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 RV&f0=qk2ZV`Pz=*{{rMcDrW!y diff --git a/packages/frontend/src/pages/mahjong/hand-tiles.vue b/packages/frontend/src/pages/mahjong/hand-tiles.vue new file mode 100644 index 0000000000..ebfb6e8cc1 --- /dev/null +++ b/packages/frontend/src/pages/mahjong/hand-tiles.vue @@ -0,0 +1,184 @@ + + + + + + + diff --git a/packages/frontend/src/pages/mahjong/huro.vue b/packages/frontend/src/pages/mahjong/huro.vue index 1c6da57efb..4988c5aaef 100644 --- a/packages/frontend/src/pages/mahjong/huro.vue +++ b/packages/frontend/src/pages/mahjong/huro.vue @@ -5,38 +5,38 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index c1f344831a..8b8883756d 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -10,118 +10,100 @@ SPDX-License-Identifier: AGPL-3.0-only

    - {{ Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse)) === 's' ? i18n.ts._mahjong.south : Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.prevHouse(Mahjong.prevHouse(engine.myHouse))] }} + {{ Mmj.prevHouse(Mmj.prevHouse(mj.myHouse)) === 'e' ? i18n.ts._mahjong.east : Mmj.prevHouse(Mmj.prevHouse(mj.myHouse)) === 's' ? i18n.ts._mahjong.south : Mmj.prevHouse(Mmj.prevHouse(mj.myHouse)) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ mj.points[Mmj.prevHouse(Mmj.prevHouse(mj.myHouse))] }}
    - {{ Mahjong.prevHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.prevHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.prevHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.prevHouse(engine.myHouse)] }} + {{ Mmj.prevHouse(mj.myHouse) === 'e' ? i18n.ts._mahjong.east : Mmj.prevHouse(mj.myHouse) === 's' ? i18n.ts._mahjong.south : Mmj.prevHouse(mj.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ mj.points[Mmj.prevHouse(mj.myHouse)] }}
    - {{ Mahjong.nextHouse(engine.myHouse) === 'e' ? i18n.ts._mahjong.east : Mahjong.nextHouse(engine.myHouse) === 's' ? i18n.ts._mahjong.south : Mahjong.nextHouse(engine.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[Mahjong.nextHouse(engine.myHouse)] }} + {{ Mmj.nextHouse(mj.myHouse) === 'e' ? i18n.ts._mahjong.east : Mmj.nextHouse(mj.myHouse) === 's' ? i18n.ts._mahjong.south : Mmj.nextHouse(mj.myHouse) === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ mj.points[Mmj.nextHouse(mj.myHouse)] }}
    - {{ engine.myHouse === 'e' ? i18n.ts._mahjong.east : engine.myHouse === 's' ? i18n.ts._mahjong.south : engine.myHouse === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} - {{ engine.state.points[engine.myHouse] }} + {{ mj.myHouse === 'e' ? i18n.ts._mahjong.east : mj.myHouse === 's' ? i18n.ts._mahjong.south : mj.myHouse === 'w' ? i18n.ts._mahjong.west : i18n.ts._mahjong.north }} + {{ mj.points[mj.myHouse] }}
    -
    {{ engine.state.tilesCount }}
    +
    {{ mj.tilesCount }}
    -
    +
    -
    +
    -
    +
    - +
    - +
    - +
    - +
    -
    - +
    +
    -
    - +
    +
    -
    - +
    +
    -
    - +
    +
    -
    -
    - - -
    -
    - - -
    -
    +
    @@ -131,12 +113,12 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    @@ -146,12 +128,12 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    @@ -161,12 +143,12 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    @@ -176,26 +158,26 @@ SPDX-License-Identifier: AGPL-3.0-only :enterFromClass="$style.transition_serif_enterFrom" :leaveToClass="$style.transition_serif_leaveTo" > - - - - - - + + + + + +
    - Ron - Pon - Cii - Kan - Skip - Ankan - Kakan + Ron + Pon + Cii + Kan + Skip + Ankan + Kakan Tsumo - Riichi + Riichi
    @@ -224,9 +206,10 @@ SPDX-License-Identifier: AGPL-3.0-only @@ -969,6 +990,19 @@ onUnmounted(() => { height: min-content; } +.ryuukyokuContainer { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 200px; + height: min-content; + margin: auto; + z-index: 100; + pointer-events: none; +} + .sideTile { margin-bottom: -26px; } diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 64a87d6cc0..8361aaf34f 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -253,12 +253,12 @@ export class MasterGameEngine { return tile; } - private canRon(house: House, tile: TileId): boolean { + private canRon(house: House, tileId: TileId): boolean { // フリテン // TODO: ポンされるなどして自分の河にない場合の考慮 - if (this.hoTileTypes[house].includes($type(tile))) return false; + if (this.hoTileTypes[house].includes($type(tileId))) return false; - const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tile))); + const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tileId))); if (horaSets.length === 0) return false; // 完成形じゃない // TODO @@ -268,15 +268,15 @@ export class MasterGameEngine { return true; } - private canPon(house: House, tile: TileId): boolean { - return this.handTileTypes[house].filter(t => t === $type(tile)).length === 2; + private canPon(house: House, tileId: TileId): boolean { + return this.handTileTypes[house].filter(t => t === $type(tileId)).length === 2; } - private canCii(caller: House, callee: House, tile: TileId): boolean { + private canCii(caller: House, callee: House, tileId: TileId): boolean { if (callee !== Common.prevHouse(caller)) return false; const hand = this.handTileTypes[caller]; return Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes($type(tile)) && + pattern.includes($type(tileId)) && pattern.filter(t => hand.includes(t)).length >= 2); } @@ -325,20 +325,20 @@ export class MasterGameEngine { this.endKyoku(); } - public commit_dahai(house: House, tile: TileId, riichi = false) { + public commit_dahai(house: House, tileId: TileId, riichi = false) { if (this.state.turn !== house) throw new Error('Not your turn'); if (riichi) { const tempHandTiles = [...this.handTileTypes[house]]; - tempHandTiles.splice(tempHandTiles.indexOf($type(tile)), 1); + tempHandTiles.splice(tempHandTiles.indexOf($type(tileId)), 1); if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); if (this.state.points[house] < 1000) throw new Error('Not enough points'); } const handTiles = this.state.handTiles[house]; - if (!handTiles.includes(tile)) throw new Error('No such tile in your hand'); - handTiles.splice(handTiles.indexOf(tile), 1); - this.state.hoTiles[house].push(tile); + if (!handTiles.includes(tileId)) throw new Error('No such tile in your hand'); + handTiles.splice(handTiles.indexOf(tileId), 1); + this.state.hoTiles[house].push(tileId); if (riichi) { this.state.riichis[house] = true; @@ -347,24 +347,24 @@ export class MasterGameEngine { const canRonHouses: House[] = []; switch (house) { case 'e': - if (this.canRon('s', tile)) canRonHouses.push('s'); - if (this.canRon('w', tile)) canRonHouses.push('w'); - if (this.canRon('n', tile)) canRonHouses.push('n'); + if (this.canRon('s', tileId)) canRonHouses.push('s'); + if (this.canRon('w', tileId)) canRonHouses.push('w'); + if (this.canRon('n', tileId)) canRonHouses.push('n'); break; case 's': - if (this.canRon('e', tile)) canRonHouses.push('e'); - if (this.canRon('w', tile)) canRonHouses.push('w'); - if (this.canRon('n', tile)) canRonHouses.push('n'); + if (this.canRon('e', tileId)) canRonHouses.push('e'); + if (this.canRon('w', tileId)) canRonHouses.push('w'); + if (this.canRon('n', tileId)) canRonHouses.push('n'); break; case 'w': - if (this.canRon('e', tile)) canRonHouses.push('e'); - if (this.canRon('s', tile)) canRonHouses.push('s'); - if (this.canRon('n', tile)) canRonHouses.push('n'); + if (this.canRon('e', tileId)) canRonHouses.push('e'); + if (this.canRon('s', tileId)) canRonHouses.push('s'); + if (this.canRon('n', tileId)) canRonHouses.push('n'); break; case 'n': - if (this.canRon('e', tile)) canRonHouses.push('e'); - if (this.canRon('s', tile)) canRonHouses.push('s'); - if (this.canRon('w', tile)) canRonHouses.push('w'); + if (this.canRon('e', tileId)) canRonHouses.push('e'); + if (this.canRon('s', tileId)) canRonHouses.push('s'); + if (this.canRon('w', tileId)) canRonHouses.push('w'); break; } @@ -372,18 +372,18 @@ export class MasterGameEngine { let canPonHouse: House | null = null; switch (house) { - case 'e': canPonHouse = this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; break; - case 's': canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('w', tile) ? 'w' : this.canPon('n', tile) ? 'n' : null; break; - case 'w': canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('n', tile) ? 'n' : null; break; - case 'n': canPonHouse = this.canPon('e', tile) ? 'e' : this.canPon('s', tile) ? 's' : this.canPon('w', tile) ? 'w' : null; break; + case 'e': canPonHouse = this.canPon('s', tileId) ? 's' : this.canPon('w', tileId) ? 'w' : this.canPon('n', tileId) ? 'n' : null; break; + case 's': canPonHouse = this.canPon('e', tileId) ? 'e' : this.canPon('w', tileId) ? 'w' : this.canPon('n', tileId) ? 'n' : null; break; + case 'w': canPonHouse = this.canPon('e', tileId) ? 'e' : this.canPon('s', tileId) ? 's' : this.canPon('n', tileId) ? 'n' : null; break; + case 'n': canPonHouse = this.canPon('e', tileId) ? 'e' : this.canPon('s', tileId) ? 's' : this.canPon('w', tileId) ? 'w' : null; break; } let canCiiHouse: House | null = null; switch (house) { - case 'e': canCiiHouse = this.canCii('s', house, tile) ? 's' : this.canCii('w', house, tile) ? 'w' : this.canCii('n', house, tile) ? 'n' : null; break; - case 's': canCiiHouse = this.canCii('e', house, tile) ? 'e' : this.canCii('w', house, tile) ? 'w' : this.canCii('n', house, tile) ? 'n' : null; break; - case 'w': canCiiHouse = this.canCii('e', house, tile) ? 'e' : this.canCii('s', house, tile) ? 's' : this.canCii('n', house, tile) ? 'n' : null; break; - case 'n': canCiiHouse = this.canCii('e', house, tile) ? 'e' : this.canCii('s', house, tile) ? 's' : this.canCii('w', house, tile) ? 'w' : null; break; + case 'e': canCiiHouse = this.canCii('s', house, tileId) ? 's' : this.canCii('w', house, tileId) ? 'w' : this.canCii('n', house, tileId) ? 'n' : null; break; + case 's': canCiiHouse = this.canCii('e', house, tileId) ? 'e' : this.canCii('w', house, tileId) ? 'w' : this.canCii('n', house, tileId) ? 'n' : null; break; + case 'w': canCiiHouse = this.canCii('e', house, tileId) ? 'e' : this.canCii('s', house, tileId) ? 's' : this.canCii('n', house, tileId) ? 'n' : null; break; + case 'n': canCiiHouse = this.canCii('e', house, tileId) ? 'e' : this.canCii('s', house, tileId) ? 's' : this.canCii('w', house, tileId) ? 'w' : null; break; } if (canRonHouses.length > 0 || canPonHouse != null || canCiiHouse != null) { @@ -422,6 +422,18 @@ export class MasterGameEngine { }; } + // 流局 + if (this.state.tiles.length === 0) { + this.state.turn = null; + + this.endKyoku(); + + return { + asking: false as const, + ryuukyoku: true as const, + }; + } + this.state.turn = Common.nextHouse(house); const tsumoTile = this.tsumo(); @@ -433,11 +445,11 @@ export class MasterGameEngine { }; } - public commit_kakan(house: House, tile: TileId) { - const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tile)); + public commit_kakan(house: House, tileId: TileId) { + const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tileId)); if (pon == null) throw new Error('No such pon'); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tile), 1); - const tiles = [tile, ...pon.tiles]; + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tileId), 1); + const tiles = [tileId, ...pon.tiles]; this.state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); this.state.activatedDorasCount++; @@ -451,14 +463,14 @@ export class MasterGameEngine { }; } - public commit_ankan(house: House, tile: TileId) { - const t1 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(0); + public commit_ankan(house: House, tileId: TileId) { + const t1 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(1); + const t2 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(1); if (t2 == null) throw new Error('No such tile'); - const t3 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(2); + const t3 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(2); if (t3 == null) throw new Error('No such tile'); - const t4 = this.state.handTiles[house].filter(t => $type(t) === $type(tile)).at(3); + const t4 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(3); if (t4 == null) throw new Error('No such tile'); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t1), 1); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t2), 1); @@ -660,7 +672,7 @@ export class MasterGameEngine { this.endKyoku(); return { - type: 'ryukyoku' as const, + type: 'ryuukyoku' as const, }; } else { this.state.turn = this.state.nextTurnAfterAsking!; diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 4d571be782..f2ba137eff 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -152,19 +152,19 @@ export class PlayerGameEngine { return this.state.riichis[this.myHouse]; } - public commit_tsumo(house: House, tile: TileId) { - console.log('commit_tsumo', this.state.turn, house, tile); + public commit_tsumo(house: House, tileId: TileId) { + console.log('commit_tsumo', this.state.turn, house, tileId); this.state.tilesCount--; this.state.turn = house; if (house === this.myHouse) { - this.myHandTiles.push(tile); + this.myHandTiles.push(tileId); } else { this.state.handTiles[house].push(0); } } - public commit_dahai(house: House, tile: TileId, riichi = false) { - console.log('commit_dahai', this.state.turn, house, tile, riichi); + public commit_dahai(house: House, tileId: TileId, riichi = false) { + console.log('commit_dahai', this.state.turn, house, tileId, riichi); if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); if (riichi) { @@ -172,29 +172,29 @@ export class PlayerGameEngine { } if (house === this.myHouse) { - this.myHandTiles.splice(this.myHandTiles.indexOf(tile), 1); - this.state.hoTiles[this.myHouse].push(tile); + this.myHandTiles.splice(this.myHandTiles.indexOf(tileId), 1); + this.state.hoTiles[this.myHouse].push(tileId); } else { this.state.handTiles[house].pop(); - this.state.hoTiles[house].push(tile); + this.state.hoTiles[house].push(tileId); } this.state.turn = null; if (house === this.myHouse) { } else { - const canRon = Common.getHoraSets(this.myHandTiles.concat(tile).map(id => $type(id))).length > 0; - const canPon = !this.isMeRiichi && this.myHandTiles.filter(t => t === tile).length === 2; - const canKan = !this.isMeRiichi && this.myHandTiles.filter(t => t === tile).length === 3; + const canRon = Common.getHoraSets(this.myHandTiles.concat(tileId).map(id => $type(id))).length > 0; + const canPon = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tileId)).length === 2; + const canKan = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tileId)).length === 3; const canCii = !this.isMeRiichi && house === Common.prevHouse(this.myHouse) && Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes($type(tile)) && + pattern.includes($type(tileId)) && pattern.filter(t => this.myHandTileTypes.includes(t)).length >= 2); - if (canRon) this.state.canRon = { callee: house }; - if (canPon) this.state.canPon = { callee: house }; - if (canKan) this.state.canKan = { callee: house }; - if (canCii) this.state.canCii = { callee: house }; + this.state.canRon = canRon ? { callee: house } : null; + this.state.canPon = canPon ? { callee: house } : null; + this.state.canKan = canKan ? { callee: house } : null; + this.state.canCii = canCii ? { callee: house } : null; } } From 2d6f9b083f6a73532980350d57ac1a698097c795 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 6 Feb 2024 15:41:57 +0900 Subject: [PATCH 35/64] wip --- packages/backend/src/core/MahjongService.ts | 54 ++++-- .../api/stream/channels/mahjong-room.ts | 5 + packages/frontend/assets/mahjong/kaisi.png | Bin 0 -> 69570 bytes .../frontend/src/pages/mahjong/hand-tiles.vue | 8 +- .../frontend/src/pages/mahjong/room.game.vue | 59 +++++- packages/misskey-mahjong/src/common.ts | 17 +- packages/misskey-mahjong/src/engine.master.ts | 177 +++++++++++++----- packages/misskey-mahjong/src/engine.player.ts | 61 ++++-- 8 files changed, 286 insertions(+), 95 deletions(-) create mode 100644 packages/frontend/assets/mahjong/kaisi.png diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index a10720bf79..ca8c2f685e 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -280,28 +280,18 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { room.gameState = Mmj.MasterGameEngine.createInitialState(); room.isStarted = true; - await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'started', { room: room }); - return room; + this.kyokuStarted(room); } @bindThis - public async packRoom(room: Room, me: MiUser) { - if (room.gameState) { - const mj = new Mmj.MasterGameEngine(room.gameState); - const myIndex = room.user1Id === me.id ? 1 : room.user2Id === me.id ? 2 : room.user3Id === me.id ? 3 : 4; - return { - ...room, - gameState: mj.createPlayerState(myIndex), - }; - } else { - return { - ...room, - }; - } + private kyokuStarted(room: Room) { + const mj = new Mmj.MasterGameEngine(room.gameState); + + this.waitForTurn(room, mj.turn, mj); } @bindThis @@ -379,6 +369,17 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { }, 2000); } + @bindThis + private async nextKyoku(room: Room, mj: Mmj.MasterGameEngine) { + const res = mj.commit_nextKyoku(); + room.gameState = mj.getState(); + await this.saveRoom(room); + this.globalEventService.publishMahjongRoomStream(room.id, 'nextKyoku', { + room: room, + }); + this.kyokuStarted(room); + } + @bindThis private async dahai(room: Room, mj: Mmj.MasterGameEngine, house: Mmj.House, tile: Mmj.TileId, riichi = false) { const res = mj.commit_dahai(house, tile, riichi); @@ -551,6 +552,8 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.saveRoom(room); this.globalEventService.publishMahjongRoomStream(room.id, 'tsumoHora', { house: myHouse, handTiles: res.handTiles, tsumoTile: res.tsumoTile }); + + this.endKyoku(room, mj); } @bindThis @@ -700,6 +703,27 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { await this.redisClient.del(`mahjong:gameTurnWaiting:${roomId}`); } + @bindThis + public packState(room: Room, me: MiUser) { + const mj = new Mmj.MasterGameEngine(room.gameState); + const myIndex = room.user1Id === me.id ? 1 : room.user2Id === me.id ? 2 : room.user3Id === me.id ? 3 : 4; + return mj.createPlayerState(myIndex); + } + + @bindThis + public async packRoom(room: Room, me: MiUser) { + if (room.gameState) { + return { + ...room, + gameState: this.packState(room, me), + }; + } else { + return { + ...room, + }; + } + } + @bindThis public dispose(): void { } diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index de7fc4f467..7daac7839c 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -40,6 +40,11 @@ class MahjongRoomChannel extends Channel { this.send('started', { room: packed, }); + } else if (message.type === 'nextKyoku') { + const packed = this.mahjongService.packState(message.body.room, this.user!); + this.send('nextKyoku', { + state: packed, + }); } else { this.send(message.type, message.body); } diff --git a/packages/frontend/assets/mahjong/kaisi.png b/packages/frontend/assets/mahjong/kaisi.png new file mode 100644 index 0000000000000000000000000000000000000000..322d2e08e3dc4d6e07770948f537e1adda7c71f0 GIT binary patch literal 69570 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

    o9WERj?l_65+YpMa{<@Tz!HTniA97(& z_PMp=)ioJlqsW6>hnYD`>Lrn@aAZ5UwzCG%Wqm05(4` z|9J%BFCARbgk{tG+BjY7qMS6f&j)bI^P!8z&6+J(TCQy>uWvSPHv4{1Wp3iD-Q%_n z>^k#qwi#7WL4k-_cT^I z_z=OR%RaJE66}YHXA1lNXxPfTfer7Ui~dkUjXwNCN6<^&GCSCJkNgikR&*%C8K5oj zVLAWs9iJZBPf=z4WU@s?!D`xFCM#KJA|)BIXV#mt!NUF8vDhf#5}V}Lm~x)A3phgkC*no% zA8kB5Jdko%1VLo2B01FA>xoE?pgw6o>bHgCBPvm0n37mEW|O}nx~dfwR|oCZE+|!+ z4!;Y6&CtligemL0++0t-jwJ4XSX+;uZq0pI+Rli^Dt+@lcVmAOuo{@r5P5m#EQ#Yt zsk_~`$a{G#h9^%Jhet+SL?Oz%gqX+oN?)|SkZo0Ih@>}d;a_z=HTu-M?HFv(S`AT9 z)r4Gv?s(LC`u^n4+1ZLQD({hRNDY*YjHdjGl-gdBIVi{s9XDTCTXGSHQRj zTW*weS-I`yBI9Wz7CCPm_|1!fa_F?u(I$VnTZ^&8^72(~4)&5GB(e?dq)^~vh-E^D zYHhllzuQ>^9RKjV&Fo&BhyMlB_tdB~z<$fQ+oFb8y)U5sTr+4&5WPj&2U;T2H%z?2 zlUxtF&E|>~u-T>!kG7{DLGLA0Yc_OHDE?Eot@J|0>L%lq-w{?-U2nIVG)7(93$%X^ zXL0`di3g-nd81ERZbm6c-4@Io?p|3Yq-H8R(-D4D*o8X=g`~Dk&)~{P=;D+MP$s z?}swgK<97aBCG@-BZ4_g*>=S$log+SwwB!Qygonp%Ft-zD{h_y{9C3>?vD`kzT;dl zQ-;fe=TPup@S-pr(Et%Q4wOaA?#kf_{nCf1L|x6#Rj3fBpG_Gv#KjATPjEMr;9*}; zFEHC-pvkC(CO2jeq?)Q|ItHO{Ls~Sh%ncSAiX+EFO#PuPRq&T}BwiK`ai%DK`%9Sq z{{El_*)VVmmGF_k2-IiqpP!H99Hj718AK*si2ey3h@t>+0;Zo~M}Vg{1%wm=%ASOH z4QdwL*YV+Sxb;S@pUC`%Y&tidgd@Kr&>2D5dE~oy?;tJXDtQOnAsV?!N+&OW;-2m* z*c&L4HD?vNR?%mprTd3tL<@8uk0tF!}S^ zP}(mEdjgGgXW?IaZ$AP46*vS;ISH|we`)66EYhi5`}5~57)TadNSbi;2kNBvii^Jc zQ`DnF6|PH}MTg>Ibt$eweb_%aiNCVKWP(NKu{&oh$h|cI`9}{ka4*&AoA}GFWVS$P z)NPzyHB!Iu1G4;d_MW?8c4Kj5={xV=Rvj6{2!%1Ho9B2)ilSa}C9HmLGR8R)=jEP6 zASb=-WgQiz)Cb>K<+T4Ur^`d$cPfmAzbQ`LOJsb;4+@J@7&$F0RY}NiKUpj^QYcbs zW-vuu|NWUV;XLanNOZZrwg#c5riM<))T1lnGD@NS`_iB<67&{p!DP}l=LQD{As;6P zM`v(+PLt*e8hKwiIXR(4VHvrhAkMpcqb>z6|DXZX!#+Wp3Jb?|d+6<#(n`4;`nF-+ zW(?y|%>tqjA+R)5Vd#K>yExO+|H&p5J|QVY;Z$ zAr$kEehdLqzG>jtk3Qzpq1gTwFZ0?>N?jva7a=TL3Q@vauamV9L8zc2D)F?d#Rw9j zDfh75+~TpccATbn7Ez7b!mqgjl?6Op$!5ET?(FBoyfLWJ(5`!i(%!VMX`uOu8OCn_ z+B%7#i4+hu6hv)}(-LAJEZRnB%M1(tPs9u#qKXaM960j8sByek=nWWe!+BGt!pdFy zO$)=a<_35hxRsrc>YWwQ8az;!a|)hL8&w;iVqmdyPgWEmlwNu97VjqujL$ex$ES*j zhrA}KG{BZ$CI0tOtJ*pLskq0vUO7uy$#28ohoxEX8Zc*plJIMHHx|I`vHv8eu}l@E zP3<&%T$ekqDI)Qty-+3DL17P?ZQ=@dqNT}fl$ETPd-i7`bz{?Y=Y|GQjlm4vDTtPo zH1gTI*8b0l@TnMQ^&Y|SMh5#HNuo0L(bVGIlWQGkl2%{}YiMcd2d{0EEHu||ZPaOJx{4nu*5g!%xT&7jMT5>>gll03}NPDg)3*e-qg3{(P zU;dB~5~ii3$PfMoyCgl70wndhq9IY?t~VG6gRk;ab3ztwSw7kM*3C`LrBBF%)LJKj zF=+E(jnWew!}IcJbuy)T@#&J7nwzaEeC(-=DrHVw3fPbNK?4Z4Ni#<9d5jBc;K{|x zs~?UoR0JK^Vquh-0?cyb;D;QmKoa%y`T31ncrzatHr|Gt5RB~} z`Y95UP#|NF9jw*%K?%+%o4x5M-<69+=n#oJodIGvfQgui2&-v!?P0t({u-qocogj}L--)2I0=s5r+cBLZA0RHsirsa46=XE^WNlFqp(vNi;y@tZuc zi|QLxaB=x>_Itf0we0(pWJ1UgHFW)4dUvSX7sZOz&I1GVhP>mCutmi=`BNiQoBr&} zkDp2Q6CZkvrwa0T(6563(TI7eTu?ta&4J$vU>(q*&=?c-Hy`4-Af!A5lvxqf?E0@e z!f%GmQPbO&i&CX;yXg2G*rBB_j{}CrDWSZ)yb7DC-3EFWxvmVUej0d=%Z<+z3fGW~ zlg3HasQ#c`^6hJTDk>_IZV*-IT0h7Y^90QxD=?J0c;TrAyv;lRzZo|;5OIV0ePj=D zALv;Iouf7Y@%Ip50T+dblDMCr+cI~?e0E|*gYRh{wZZ)~;FC}4PbKIVpa`1#Gl`4<)!jiaTB4VfF_yjT$= z#9s_{q3VRZeE1#_3O5o>wY5B7050l0Jhl|1(H6Q3co*8`Ve8^gJr!FiRxbr8GbdHc zp-8~*RcpDhQB%d!^jsorIgXD-A5beg`rgHo=U*4TYg+gXvLiks*)%QV>T2XN)izANiKN+J#LcF1v$?{xn8Dl>?PVT9vLM z8SIwR=Nyqp#Q?Rz5BgFfEFYU8RNvrtZO`iqB!k}q3zCrQ{8)4R0G+HAwuWP<6 znKcfar7s~=0`M-z37C?CPq(eBc(z1mw5r24`grhM#x1F9lQ2R|oAJyUgG(dlCreMg4& zX!d1qgWI=PHjL>59FrHW)82<4y)im>e7cNc~7&v8O>O=||JV`?Zqa zYOz3$zp}cz+UjH48h3yMaLK_T4ET?osQ(5>h;k6Xe>3h<6jF?epnE7%VH?=7uw}Hr zgXpGxO-$U>H*u_lU!9fCp-{sTqN8O&Fh|`Pfv=22qg&hm8@x6an3Z=_haLOTYWDS+ zt7iwaU`C9ocrpunoZ1@=@&H*jw1S95iQ|+xPPsQ|6N>0?-I)iQT5ZT!6%pJ)5UKY- z%{)BbR8^kM6JLeC2-}!YD*r|E%=N=!Dv|!h*3h-Ql|F%ol-!UL76edzll0y~kbqyL zDPwWORr}e}yvvvr5gDm~e-sSzBxwN(wb?pZ*fMXv+0~kOm5QX3*|Cr{I(ps3ZFOHW ztZhExd3FpMlfj#dirt`r?&FFdVF`EOgZ-mHVJdO9IqHnP*h0Rol{qLvUUi47KV|Qp zd`V1=j&nw=QvsZfb93iZ44Td>UX3$n2FQciHZ4XjKqE+Lx!RQ9Yq=j)n6-9&7Mn)2 z=?s-8g0}koHNkgvbyaR}2EIoOuxMfHRm=ZUEFo-V)(vvDhMw+1%{rJQLJGJNRiR~&4|e@wxC!of+psc%d;dj&%@H8s&f-f$N1;=2kRNg9wz z*4ul1A|p%1Gio%bFx&hh1~Pe4ATF%Z2kh;4K;9l(oSK??wEhAlbl(9jDcgdre9Cuh zxMGa7{C4xU7*^5^?;(__z=s$pttb(jknd6#M-&cai1{N#8HF& zOswCh(n6ZO3i19*f^+u0=Vxn?v>e$wL*Y9?nM$U%h`PYvR~v2(UUxTv;o51IQjq{r zgPAJLOOb?P}3xA*f!0X&}r;{9vzR8 zUCvbUXtlpRl>8KO1;Y8;KU%oF0_F`XiDbgwrp8*D;-|HbveiavHbvJn^aD_ z2N+EOrzwVE|9wz7C&JFY%~HA&X0eH|{KkLbKnMZnaAks+9M-uiJRb*Fy&hvv5w|QX z;t7!|v5iiwK7vmHxQPrg4%K>`d#l~_ARbvgCZ_f6ovhM;g1s5 zuw(%9X6nC_lQ#(o_y7_7f>S-P0Aman<&S1Ls_j0B)gRaz-DGSwzcp;W&OCNC?4DLK zIK~MrkV%Au^GnM2K0$&;pYlfLCznRgfg9V95Gfpm<_xMjnbCds76foWf#~5%X_AbI z_;Sewiu0B*wJWlnJo2`GBn)sI0pu;hRbY4WuO5508{ zD0t*gzXo^+y60Xv>&dE-hvwLH_*d$oG6)R~O-)Y=^>{`@zH~QJIDM>MC4%-Efz4F< zZ>oq$P7_$3ZY{tJYvMR`^#UBBO~9@WlYb6!qTtx+5cKLFjFM5k3%zcs^stqJ1`Ps` zqy!ZBh&X8C@XeR-fk)M%0EY5Lr%c8A{G~PFby^Pc?59lmJPECjSE^yEL>&tE}K_cT+o_dj+7dELEo5EFt{%>vYcl}bECar`Mpz)huG3=j$a|# zULjlR4}x8-=cPBS;>(yf-!aoM@!hsuFC`3Hz+!KQ(s>X>3HD^ z$2pkfdSQ1+_=$Vwo-62%qjCd>PK>o5fUr$a(9yrn>Jn`zf+C)(goH^TN&OQwhhda2 z8>YAuK|y7iFf^6CJ8X~Q9g|Kaq`silgVOZ3i|ey_nu0OKe$!I91UPYM8fO^TLmp`N zfW|;t=)4&2^;pH?@&P9XLXBU+>4KT0poW<>iRINnk=`XbDrylxUO0gZYJ}m<-=}Mz zSx#R)HMQE;v%%jO1s3zEYD2!cDt%R%s6G`xKM@eASF1lWNbUCVvXdJ|+s{-R@>)40 zdIQ-E{rc_OH{4<{umX&|Cnz;b7&tU=lmphUYgaFH4hv?6->9p@i)}E3-Gm_TG_^^# zGp6l~0Q|kP@N9~5>Qx{@Z?7<2QeM2kK-Worr{z#t;``-wFuR5X z4T2`V#-jc+OaXG-8I}1=v8g~|l{iQW{8Z?x&U~Q*WfqF=)2T=#yos2+E%U{OeBX6{4qiri|; zJrAD<)r3T*=j6l!AL{lQO-ei}olPLkHYdnjki0kRLBLX z+MTE*7}VbTfE?>?I;Xyh*5~c5t#^{a|1ih`o@5ETlEGjw66w!PO~f4&Lu;)}7mTi- zjtfB$1JEHEANCl)`BRXI&r8Cr!6|kLpC5mo)f*?5)L|~OS{uZIkqNc6vC#sAam;A~ zE?_KCm@cM~jS&-EXra|w!EFtSmAeE66!*KiQ#LEfvd+)~tUYO14FQ@h>Rygp6GMW{Lzfp>Kh$C1$1`znwUl&uu@!zJXp zCtUFfweqtsDsvJr#j?<{zk7TI9 zUC9Xjg&*+0#SR>h<7*A!TFKp;*mLndrN(%Ia(b4=c~8WmvIcg|h0fs5g$m`Z_H10@ zd3a#ac^C_U`8Tun9VFcO;WGgz$X{SL+Wz^ue(eM(61_la1YdgN?OuOi$Ltn|VP?AG zuji)JSpI-*i|f#})DcJwR*HUrso)R03)x#>+_*Tk(y6cMwLfWg(KbpTO;cGQOtgGI z7y}A3xa5CT#gKBTXuJd`{@36Cn(}WI79Tol;6;u?3ymLH_4tgi3`Dc%jdK7bd!{$o zxck9UU>S0>u7G(&!1aL5lb1&U2w?hvpdhR(!UnHB?!yZX{<+xR1+F*jj+Qm-{K10y zgbSdB%}7UZvm_`#XE!NrjhbEh3@+(0)P5{6UQ(4#-sYZbu& zI|MZeV$f{DqX=5=z&enne~0iwL1I{AyL;lt0d6D67?`|Ph7GA&bdW8C#ksPdvhaAP z^{wEsk8;&X`tRpPsB0*{r<3GFqJ68z)Z@^Ed>a)VvOYdy<;CkZZjQfq(iz)*ec~TN zNg2_ka`k+`Q-gP^y=jVI6D06KcgX2|xsTOwL8|!3aM|;+Hq{E7d4ld=Gd|eWH(YJc z_zP-kBQqQL&Tb02QQm5zeL6_ty!ZS)z{trtQgaOANVd2d8Zn zjNPxH7 zL?@)Cjs=6S2lOYSb_ z6VvjN(agH=_9U6qorjdObdVcK5IwWU3`%4nb`G$(d{!K5>A++8*CuD@=LIcbYh#B{ zf=)r_2NW-6m?t=gske*-aarBz!6Ym7g)k46;Jg;7LH_sfpi0l$*4Ea>&4)*JM5d(3){9py zNz{|o;j2hYY6B>~djsAoWx4GKL!1HN%`#woy}xn%`tSzm*O?g;>BA~8=K&i+-Fs|y zRyV!TL>Y|n)ix_gN1?ypCRukJ^Y#9P^eJYgr?VD0qE*Oy0d+@514@uzs{HJDzLvZ4 zjg73h*dG?vdFb_fuX;YSRs_hZ^z8Wqqa3S1;j1h7;2q-|>cVYGo6cm-(b?uj~_8Jzl9;JZjc?QBd2 zYfc;ZnmU^tC%e$rh!2t`f`N?$C9z+kF-wW}pl5BZOmMviY5P5U%D8op!sit~AAtclPd^(1^b#*zm2JzGvL(Q29)5=t zSH5--NTi-zSjYvYL+qhu_w@AiW`9mj5*=DYqc4tVQ6XG6t&DNlWn?Zx*_-TxTrsM8 zo|HuS=w~AtEQvIEJRTUj-z=aNp~ZmXy};-nT03r182b$YD>n&e1m?h+gfEykB0BAx z2$O>tVhM$eyVC{Qf^i;AivXA-A_A_i(H|9hMnrtAMwEt4&-4{aM*d5oKR?FrfDJB8 z*)&?FivzJZ3S22>+gI?{JNY^aesug(ZgMDYE^+QWrOM!6=Gf5>!d_;KS6Om%i_^Nd8>NEOywcl`tw`Sm7KaWq@M-kIv z7Ba3I|C=*1&{)!YqUmL9l4RrViM*8Ilsro@Su{!fLvc)obN+%z=r!Ik`TTSIhL?Mm zLaA9-60ME&(^jqINRGj<`i%`T3i)w=bk&=DVd&!D`qfYCfm-@B`mR4?-xwO{pQl%P z_<7I2_<#hEsyuwSJOI<0ea-(S3S|&c(Ddk%mz5>;KSwuXw^H_j|1K=|bLgB`qzT@L zQ}?_=xgV}l7(|{N{VGM{wW^qXp0zNx)a)~EyXt#bJaO1#8GpZ->Cr~K5>)(1S9*)+ zGGiwr-JhPnZ0=V5y%i?ZbV~o)k;Fu{C~g@~d=!YY@4b!CUu1gQfW&zaM3!OeC%TiX|R|Gk22ny~TZ z>({T8?L&8QY#(~8{JQc%70#I0N6ebs0_>bS%(b;HNM}~-`>E^ib1D`7w!hXTl+qom z{y~<6TU3(-MW zuS!4j)4oc+uIAAxuOe!tqmvZ#;te!BZ~#I0&;|F@pOJ!Dp|gm(&c7nDAey*n;_?vo zKW`p$grvn*O!BZ%^1X4z#L5>w`o7gQ8Pm7ugFr>_yus8-Hi)1|IuN`zoKt| zHsU`dpfhuOnCWKqi4A_#zTMs(((sLqM?|9-<5%oU+mPnB#EB0oW=a3<;;Culk>{k0 zIbc4sn3x!b$cpRIui@#r_Ytx1;AdJg7Q-HUOV(TL~jW;9yN=~{PY;;PkGa1 zwZp_%QuHo~&@j}2(O2&te zR)gd59dD00;FesSH(o;)WM0Voyj?tk1g#G>T{FR6tn#a)UhE{Ppu>$aAc-AAgvw3X z`0^Zf*ybZMGsh<&MmH(Q$)#Tk6Ol$HbUd%ahBopU$Ohd29@^ECv!(Pt(>hiCL1Gz8 zHvjk`7Wnu~Sd0d731lr_W;*HZ!_pQfHdBX0L5>I3!}4xU$=*f=7t^k zr+O}fUslEak95ev8=$D+9&S)QP4cbvkM!mg)8A+zHa)^W%9rbvcKU9%>vYy&`Sf^b zkcV&n@fVF;SaSz^=#H70`+Aez{ZM{aL5kWU`l8y(PPV?nC%kgI{gs9iT11IV9#6tn6G z-~I8{kmMRTwrc8x@`k{Fh=Ed-g^P=eqW4IV`gb?r*j|&8GIY0n^X82klr@8;Ax`s^$-7(AJE(F(BnYTO#wFyC6b+wo-5AT}cvr=$1DH{r6A*g{1`<`hHj= zHGic@)O{l^xvT$v(aaCEN8Hcvpg4#SspP-oi58++`@(ZI>mY41@WEKQpC^*dvZ~va zy!Ig{=g-CG=VJCfqMeRE%wxJ&0%ONHqgF&p`KhU?QxJME_dPR5XUSswE%AzmaJZw{ zVnsSovoq6ns11oA%$v3lLt<_~6-J=f7p2go1h!w=EZN2;DF(d$Dez8n!s@ zZtZvlG3kCJ(fq?ozUqmu84}nNcmiTX^a`5Bco?t%GBQc%DZGFQV)F<5&oP|Fj3C@5 z^&Z+EY?}g*W3quUREn3dZrY`tcPps3q`z~sFL`lvmbggl$ue(bQ9Pe+)_6$s+p(XV zJ?icAp>(Qqlw@`O9MmG*8k0Re_Gg%++Y0&iDXdh5-2B*q5l#~}GqLt6XG@LR-iE1_ z^j{2g9_O<*Y8?@_K!|GmW70yux02%o{FjDu*t5J>J^r(}s3(abfrtx1;Gr>*a5gMtI5Sc&nDxmo(% z8jL=6_V-htoa}Q!a0hCpkZ0Dl3T*E_V`S%l(Bi+# z`BIX~M%kqzVv8j__a{z5f|mWAEN6Ssk$;)#H=XmNw${h~;dI2wj1usQ<2PNr5H+^p zdJ8d%dSe74it>l1ri#ax{`L@D*oEU<)FP-c{$(aojb!ZJYnN}gWnm#GJ5hRHn2D(O zBthZBB`T^z$?56tj)JEN1floAVx6FaA(ej#{s(2WdUVl&T54X2B zb9cM{zJdnuEFa>e#A3qHcKb!fUtuFaxT`wyW{bRW^Np7ihi}tFxa<|$B;@7w+f7$@ z_~2*de_zGDe~7U2@$sz#w}V0>Q$(13X=AuB8eviN5*pVSQ@Is8S4+9nG#QhXtxm)zq| zW#GbrRlO5$xTJ!@$1gyixX2%0Cy6<-`$|YTfIit5!?-@5VlE1%A_|91Rqh*d=&Og% zJ=vwUkYDDh-%8qoPdu$_ZMwOK+1jSt!z?K|9{swGAMWfiza5emi1SP${O)L1Kiqb0 zpz0c9XdhG|?}5@kDfuk^b$E-*D=e}X&ptEW8rCEbt zX=!P=@aQl~$)HII=1F3P*93|+yHm2W(O)4hnV`=hK;T}Qj$g;=Y^8rZ_jLKcndtCs zZ&z0IPA3J}`w^C!Ho50-$a?x>uZ<#8GNn~<;b^ptndG}*E=w<02GX>#;}sR4*Vos3o0Ah5LyaTqP5 z0+IM9MMd0Q-QD@OlR2?PLcE|IJq!e|kgz*1L^-JSqP`eyV5^DWz9D84N751!6OYth zXQ$&r9zeFyz6_+>I;db%yP3d=hz(9iG#F{c^vpQmHnJeDb2y<4L`~@n0?f<&&(*A1 zSG)+6b8m_$C@{su#6$wfP&xLwzrWuUtr$8{@6Lh0T2=7!K1s<<0q67;#_%~Kr1WaP z;5>*Y#q7z@lTOm`YRz}LAJbK@p7%05QA<8NOA`_PZCz~g?jgq2{+gm<{tqV)V7y~! zo+{jF>3GcYWXy6T-p(Y?Sy6^K;pm2omvPD2!CJg`lPxoaGSy;YV*`ex?eya1B|@-n%}QW%WJ zH39i``4UzQne=3fD0Rj42F z{N=5?&6|tMX0TR(FB|pMXhVZ|HoH!SCFS#JuJBw110`Z?W_Am#9!~f}EXs5^V2&j? z*RL!seP|A;hF6UE#>V|;Zm5hej~o75RFUw^6;u?r!*pX)jV>Rzp~$a`+JbEs6;K_= zHDNqM=nqM1&X94+sKI#kio~HW0dleKXP)MJaB8U!`i5wEL%F}D5Nplh3-)`g*nY1a zGFBzY&)%B@O`S*lCm19Z0{S~uH%(5+26EI*+7^TQ8W}<{@bEEQTMRP<%EUXB>7dB} z1f=}4<$Z`D|D*WSmIlE0I}uO_j8-F{HIeV%%YeK<1Yq45Q7;GrnTF>G#y-^!Cauq+(9`;{*w2)Q z#?3ds)dy)$t!HXnqHeU-!QvxCaUBVn12W;E50=s~$rUR81em*OD#axvv`M+o zcPPTP$VlHmT5ew6WdqQ<;R9K;)lVbEnm4+0!HVAETkWV--b05~1}*YA)UO~T)?QgL zF{+gz&52yh93OfTlu8ADQmwR|QjO!~N}h%0L#Z+4W&&qTV^Mz|1v7TpC+?2ugGG>0 zPh<8{QTZ&`n`p*kjtj*&_iR+KChr zo_evc>wT9L1<$UQek0kV+;|V%z)xTfxxe_e7=Eop=_t7G3-*``UT~>y)$5z$VZwch zSUayRTLzvP_no&UhToDGjz;Hxq&B9}LUGihkAEl11|3##M-yWfvDp5LXFAIKYc?YJ zwI`8{rz#2-=kg?&QO8e#d}4(@-i5EK2e1sgAcC6DhoxbE|4@OtDUYg{ksD6o!xWWY zNB582dJl0rf~aVBp=!1pUWIS%h~3oorId4{guJ}GYMmGtMpz1kLNFDFg#Fk58I80A zNH9vJ{JD>Gz`c|K7MBwCNI+@PMEB1Zr{<4HZ6S85dKLhHb^ERn;l8L|8|l0*g@XYT zy&~mtLNuE+J!zd?0f=1v!DYv&s$@aAIC+_l?yz*a4bDR?=s-<>@FBSoO&;}5;GVaM#WkJvw;|Ds481l=KX5qAvOxL#NTswRn7MX9E=L&2zwc{C9&wLqj8<-PB;L;Y#a` z7nwtXOK_~I7TmBfMpl^hPylsJNEk6DHWC+5(FD`>9Np7go}^g&pDo61jiQ|Pbq-kF|J{s>^+FWw@KOeM3P>e`E03MBu>a$UGAwP4o_2_ z<9fhz?b@|9jOztEjZ=kg;eTsT>uE|^U@gH3K2`AD@JE)(TzR70$l2KKQMOpUbu~3f z$i*?oLo+7q(iom|ymafsKd9s@bD^ZqQbFN@lE#Bl5Z0U$;Ees~F#iaLd|MvcY186$ z-ST_FUAp|Mo%#BDFd;sUht-SI1Y<@BiI7Vd;Jl^$*{-?~K2C2nMD_HMrsU9w(y#Kb??w%- zD6+}1GzmBzOM%H9@E0_*Ns;5z?e=YyN#;(E@_I$xs(9OjeYSnH$w>)2YB_7pR*mKI z<#DKFiW7^A?SdLi2di~t9@^SY2f-m;(u5H>uy&r~TGLCm*pofkq`fnT=V!fy3X>Dx z?i2pCuur*i-hHuu^H6OIhLxePc1pMIEpPHP5io5`oJe_Tf|MDM8;eG147TB->p~T3 zqB6IHP3z0@8u$^gC$aTg8+BZRPU~`9I~xN-3?$%{_4lyIO98HK$N&DloDq?f{0qq3 zhn#TH=r4&I&(gEtw-e(wH#d36BF||!jVf*Oae_~ASj=?({&vPmF%CGOqZhl=n~T|} zeEV)$6B_o8iBlnE@J9RkKvitK5zs%%Cb6r}zOuVf z<}s5;&rk^3e5<@7C3SEWvre(|4#oo|56!O7ek&z$UyIx^m7Bow;u}`95xWv`9VJ_h zH4X;J+`4ZdQp`hzSV0hdO9z-OiOPlU! zXlU%grsZQGSOi@DoMy`#{sj!a=vc4$yWcP}GV%keDicsIUu9=!r@>fH#r zT3~ywy*&(stHXHjzGfa$V3TT+GT;gY;PH96UU4itn=~Y(N3$)He*@32qBw#+BeHVT z0z*HKP}RCBiD%#y^f~YP<1ZEz;Yd6L;WYOWXwhGe2o>EXc=EEOK1Xp zeAh|XfwW?kYQGmRzqJ*@e(f6C2`a0LrrWE)O!4ht;lKk+<@}R4w@eEl%q$@B38Nk4-kHfL|8sF+Wq_2+{M~D zU-l6Nvn&GqF#U1yd$AvpxDv|sZ0e|o77Gfg;ZG}sjBAkd^Ycg-3+N;3K@JxSLhs=@ zI6-n(#h42e8ZRCS^5y5}dwuj-_obdzq#FO$kJUp8FCmB9dP)T2fQ%K;zkzj!Oz>WEq9KY#x5&aov{WJ3N+c(QjLQzKbU1fFTo(sp-3|eSV z%-e!Zqzzi&ujc|ZjyU=nfn09bH73+os5%)j!t{zHv{$%SCj>H}&$1*ZCjJ)$C=mtw zbKcmMS8_NY>@9hZ8y^L5vABYQLc}K->(97YNL4U{m8vDXKbw2BvvjO=2x0mVb1i}DH0Qu+Xy-CW* zz)#nR0*1{e)tE9o>!2xsP@f*n=|EaJIU z0~jy^919!vzwG;WN-#t3HF(if(Xc~*|JhRvZsvIbZU8s_OJuvCpQis_X~ONV7y$b(vdF_#?LAotrWbj6g6x5{HHhu&2)q~hcJqg(E{ao+Y+ zPzwK<>hr|pUQLYQI35YzJeWn*<^KGMEp-Je(?2=8t_pSfFx=i={$uLp@BnA_pEr1~ zI{tV|3rvPf3hBJOylqDZ2WQT}UaakH-!pnkNEvjlk?`k200-rW?2#er4#a!?mR}Ld z%!@w7xK0stNN-N`h@5~69Q~3Ws5+;9RGRtas}&}vG1l&ZppiN%QaW&cyteC;B_-pR zGrov!rlxVgzrmR1l@%uFZUFgMI}Z9@67~?7;9$0(8dVcU{{YV&?nv|-FEfY$m%Oro zzR0U~AA*t&e7L*UCxZ;cak-}v7#a&o0w^aJ*xJ@U;uZ?s_Bb4;qEPV=->K8t8=*mSj*pm$xr3SJsgxYxCR=TS``gNFud;)I#hSs1W% z-@|F2q02o5lEM5^Hy*yXyp=!O9;Ia)R^*X>PDnVLP77gr$694LgJyW#c=H)xlK2Z> z``X&t?gKe#KwLj|r5Zmx5bA?LMMcGxXNl`xw$LO+gViZBzKAF1e>}Upw>@KTKC;@S zRkzSJ{`4E3k?_w3=l79e!4P4~bRQSu3s~a6kTn3Om5zTolCMqVeAX_(fx8=m?!tCZAhf_k9B$@U7_s3|Zj3g2*$eb1P|0BnA`Yuq zTFfdMYUPH~*y7>>iCM2m%-irbEvfr}Q$NqFkq$@67GHcP(A)?05(@aa5@J!rAM(|tqqgqbkk(B$9U@=V9rnh^Cu3mrmm(q^&1gRwEWl) z2kPAk!o8?ENLdv>!Mo$0St9d*vz|YI5)C7i$81t%E=N(kzK=fff(8L%3QbDmI37&) znZSaZ6z0&t<%@`l!h`uAE+|rf28z68mnLLHd3i{J67y-TdS5LCw%tUCdD|>6>`9Ts zu;OU{T3x+=%XFNmm)JVuxLqVk&FC42g4 z{L&JS)z$A#;g(NnIHHRgxY&R3L@jRZ{CV)vdo}W#j(YRerxa|gP0)u2QDT`wM{qh; zVd9lEUAx2sPw@U2sN0^wFn#c;q)p+X;!6o+aYVX;pW%h)f5o!hw&Dol@ZRO;SONUX zISe@PEwwpIo*I@%EJ>8D=f|^td-gnhGztkubXLl`=VJ<0UJ)9Kxo3%Uk5r|hIPLxVb?er7W_MFu%FT#yk0)5} zHHCySUiJ7$pqLlm&hw93}`=rf^Y$d_@6)e zF&Ag4k@=5eeW=G}48AqfJh8;bMKj??J<;@Pof4Gp*2i_H@)j-vDtH`gO>*biF1hc#AfXr%)(ME;$g zvRTwS470euewMPAIdCD!fM|H7Tqs#WukY#*Dr&M3P>-n3x$J_9#C#1^?|r z7&T#ELr?(=j$CCA9=eJ|J%a%Z!QBYmcXE{Akhtj%`QeivjD>^xySwdDzSQm}s?XOO zR9nor0?(NY5}8>QV6RKUK%0WCH4TVi;HV2@`tLwrqCNyT8&;>^mKHekCp_t6!1DB2 zMxSu581~;cYL??{S^@u`#{=ntmpd-%n70Z7Zdm!d*%16N!{Q3V+uCENC1a9SRee&g zGy(4y1QEtr21pX#f`(M#&z%Bh~!UuLqDkKQ=wPp$p5e`$pL3eX9cZ+TH>K;XSB{x91pL>R?9QY$5CuR^50fDaOiai%ieq~DPr=y^zKz9-;D`tU`WOCx5HhY0nnc44Y)%o_0HY6 zx5$Ysd-g2XFa`HH2lp}Hm=0f*+=5aeuFABbzZ!;lcNV|OC@HbRh_v^Y54pfP@t3_~ z>H3Q{{Df?ruNEbN?mVj#wOl3IIkEr6(|SDP&4TJ-7)q#`{#-YNe^%i(R`|l7%NJ8I zD`pnDG9HW_=4*ExxB6m^Wefq$djo+u;Ca!^hT;bKn>Hf4`Y8lOGCCxs@c&Juj zvWnk$N=mi&07uq$;|2E>!)9jDAJJ92FXU8k=Ao^1nA9_NNCB$Nx8dRBN(wq=eH|U0 z-!MrflNwK3ZHM`m*j*@j12$p88}~$ufwzd`qNRobukSSO;=<;{QVf}}_lm2ZzCgPi zpCUz<6T>`~&Sm^|mB*2!pt#e>f&#hXD%!(RDECFfCHuvG-H~NF!f`C zb+{0`rJ%lcH=9DOjn#pOi^Z1PDF3;xaYo{vR3lZ?4j~bd<4loyDtzN2)K8MkAD7yE zO>+yS=WCuudcTi5HMo0uL1D*oDX4CL33`pI_FrC5(NRdPHA;b__P zkFP6wi?Q}neFYsx2mdnD(i&Dk%KddE{cX|oWnj@`x|vTwV}W@$B=YPPILn&@F4Ol2 z;(@$XE%J*T0jzx=DuLEJ%giS||FvsVKd@MyWDbk*XMGk?tu^=7b=ng&|<17JvaT);9@aO@nKvXfTzWW}BwohySJUkC=Udd5+PSq3LV zt|P^2Cb&4oQ><>89jd<7Z>01A+Ae8;^*cS|)gEx2gK*Mo4&a7yaBu`P;^38y1;A=V ztm1!w(qwGGk*8ZeW!dR84ZbO)bhnt&Gn5RGdw}Xo{c`sOO;SQBS`C-`X$LfqrOh8d zYQDvV606u)LMUVMo&9g9?+3>lktFz`2hNA0_2(x{lp^xzQ`>|mMR^Ac8WeJ3mwi&> zI%sXT`Ud@ez;Ky~PQ={5G=-`LiizjU0(LA$Z}{))_}F1q7ti%X>R~hcDiz1{Ou^4tw@E06V-Lda!1w z2h*f`7%|}Cq84DiaLyH6YCSYGh}mkdmK4$Hw+f04(ixn@^^6)BqASo>8IX;O zlSWm$#&nuy$#8#E!hX(08(95@(sIeB0zTtxgc(e=Zt3BFff^blCnxP;h zZ1Mmyg^}1_2-ivGTy_DSH3;rVrsP_~iq+PEBTyK8lbQxvh)H z1z@^afmPNL;imK1U`g|3aVX1kji0w~-M& zmEO)wh(8=ag@-vFCX7H;%RVljdG+}o#be3r;xy%ZoXo#+3;nSL1t{gXI~4>*LUg~0+<5w0k}ma`)xb!1N-=!+b5DJz+DB&!dYeh1`h`v4Z4@EFaagd-02e z_}^Z7tH)tPCg@g^G+Dn^LP=ak6ho=|B+aGZ;jl=-+gQq?WYbGKytLPQBjw|+n2`u1 zJ+Vp0H%OEGG*homTlAy^-++()cM*xW?d-0c{c@Y~VbI}``dI7H%zE?w^0dT?-^1nB zqtcy8``joP0@MI>Sp&iDpyxd~>$T&*F!9#!wo?q7E$f##`wds8ZGTk%E}09a`GMiq z7>s4t%m9=j_44xC2fD>OeSLkl_QNS>wmVu{Xuh;K5jkS3v)QQk^H-0O+w(TwKli0V z_9ptb8p5~jI5_^~XjIiUs8#a`_TA@_z&i;yV{mXI%wJi`w4AMn(=Z1EDTV7rj)!suNu+*71_48@;hw^=&lmZ~DgBs~>!ifmlugEi)UdtouA$e&daiI;tUych=Sf#XcG@?~eZV%h(xv(o}CW zQ;7V^m;vy*F$e(dx9lXp)-8(_y#MIP`fZsXua#GS2D$+~1A~d^23yw4m;W};j^-|+ zlP>4V?K+2*Bq1tlb?#&- zfMMByQ{~)HJ@G_=v$KA7Z{)l3S3%T8(hVA)fXeg`= zLZ{1+;?eZY(u9#PDeJ9}U?VfPWSaY?dmK0)c<~osl5TSiWVnx}WM+JG#YV9PMOZ2v zeq;R?D1QEs5DCahk8-+x>ooG^EJWIAfWgPuz{Ol?Y<%448YfKUCMjUm{v7?87X`hcNw3gd}BM54sPJ zs&0xZD__h3h5Xt+Sf9S82;CX)ax+!FW977N&0SnzTz;#s_eE4@+34sgjN8q&+D^A_ zz~Hu=WPp5se?J#6mPbc4cR??{ICN@1WlWF{+jguPFH9~+XnXt4M+X&@Sz>;Ollpp( zMz@K+BLNoWu6UdpZuofqC>O%W!{;u+?RvX~p@MjplZ2kL7GKz|4 zyFgl1x&}bq;>3h8`jA|>$$#J6ai{hkv-9?Sk|wIk!n(-T48!Hf_Iqs3f_UM4Uq(54 z0ns9W+0loU1cj}#Ghd!hFnYZV{AxaMR=JRtmk+$&Y#)4eSgo$G_E9m}-M~+l>q(w2 z_P8k)gqQ_D`#JyL@s=1s9{)lQD=Fx_ zA(__=m)*5kc@eknGJ1WNLP9s|#f#(F8x)Fv*8$Eym(+KC@%nY>esQLSd=s3ZxB^$6 zgRy_NoMW}k+_T6pO1H1h3c9vBW}4R=-8&6B%dEJi>1c$N$C7E0s+V%dn5>l^4wD)A z7_HNf@`L1h1H!*>GgIdpL2%sCe0+vxD*I=%-KBwmz&^Z6E#p`}gSZuqrnv zr`7jlZz&Amp|!^Vt)2OVhR&YeHvV_sk{D?sT}Q_i@JZRelUnFPaJTcJ?HiIu2QcV4 zcL&JvBlLRjX9WL(*kOzN?n1ZnER55lQ$M7UUYK=m?#ZQg4(Z{lR(zSD>9t@_Us~qh z%x&9^!icDf%E}(!4hy?T3#b%%>OxWYN)b-g51y<9$y~RNHH& z^UQ-C)o@{tTb%VZI)wiFR(dC<`}b#M z;`_8l0?S&DUfKBga~x;IH>RHoyzZ!QqHxwg&W(`e=_RO?~EeW7RX;F{-0~ zL*&>g;I|EvEs)$36K*sN&94pFkv!3QtGnU*jN3$Gl?YyPP zc3#AmuOJ@VU%GCY(<`fd+KujBRy<+2zd2)G#e5!KnYm6)ox-|ez^8WGOYHQghB%sU z!i>*S8`MfP<_C$8a+dNb(}Wh|#tfffwNTrKZXqgtW~sV&+kY4Y(*5S8?NdyOm;Pcy z5Ey6B_um7Cq~DDSlkFT;wRPdgI#tA$e&?o7Cx!b*o_@65DHDHQ(P|lEXQYW3SNDl) z;N||9bQ&Mf=Bj*rRBA_Adp5EiIsWv5%kgLbb1oS+$H{(@^TD0e6miqd#MPkKw(qn~ zE~%V96@_o@iwzO9uGD&~ehIwlm{T9(Ql6gv(I{5N#*ZubY@`2BYkkaTJy@N|j1yI! z%7?3WogELQ)A*Wx82#TX;=R{2Cv6R98Q&AIt$1j1xI+jFzN@ZW8Po`Lb*YpSW3a6k z_uRjK549`Ls;-R`om%va5%&ylBojwmIlTR|o^Lc(LeAWA@;_?FvCmwBzmMcgDNX09 zD*q$#7yqLvRvJ_7|CJgk-pq>C)}%D%?07e5a}u>oA@Gv0DPUb{vT^Su;pbaycKRh# zn~r{T!-rmZN8h6jH=?e_-D+)WBxiyuJ;|4N*I4QKOV2U+vOf;HzuwV(Hr95)6LH3R zE;DKfvzKbKf({yb!(5uH@1CuA72eIDOoET5Z|-;dF!q~XzXQuy*aVOwK7Wh-j3TncE`)nyYj96 z+5_B@L0v)uQ{BYpuaVnF!ao;rO$8r^Da;dTx~K|2Y|Ie;J+_}}UTQhgcwk<5c2{uo zMMh`0-^mVMab(#oSFnN`^!4zIjq2n>Q3Gp77z?@YxG{ zu4P2=*p=9&ef3MfGDEqiZ4~&Zb&Rydv(j2eIIk#7>`&3*GnI~4xoIphQn-$l@?R&_ zNzPq{um6a+H3pnEAwHQ9+HL|rfHu3FUqI&DDd58DcD|KkG3M@atU|F=#C@=M<=|-7PBfWPEss5}!iR4sm_Wpb3 z2FdRN9tp*s>;tT;&6FFY{0){ZB@BY8!q=@PwZ@EC-y0GbVmY#{2M0c~d&6_2F7bV2 zelE80zD8Kmko}Z$-=Q#Bo8dp|!R0-v!N&N};$g47mpph_-%R|o?gVPfzm{5YoZ)gU zNB3Q%FF79l@gC6@WgYNZ4QOVZdZ!s9yWbV=Q+aP_={a4tqwuW&hcl4-SBWKFUFvi_Pyu&kUss$)dAz_xf~Y}9X6)QixUAd>_=AooYp(>HlP ziAQ>GCo=vhP^YnOdMP}8Fo;WNw)t6R)>vwTue^oAz}bi{onTT1afEqDh4VEH)o4D% zb4f^mF#PK$y}H#<$DWM!#gQ}f{~ny>774TD5v9TL`^)o*FNH*DqBK;wwkm!xm`l+} zO4gf`XLDn-w5M763K_aM?O&G9#<1>r6!ORXt@oq7h7s$p-tF9}<_THa0z54DwGrbB zwl|#L77xZQt{Q1<=DT<;;-Xx`L4hJj1ZS07<4LvfvT`S_H)$M;>omxVbjJ}oj*S-!eERb_%*KI`0pV0}B0 ztm`eN!kgChy03{!pSNHP*H~7m)f6^F7Y;{RPc^5HY&AEQ`yIENj7MN&Tb_>nJp$9#r#XuZ)&SnsaQq+KijxMGXMYp literal 0 HcmV?d00001 diff --git a/packages/frontend/src/pages/mahjong/hand-tiles.vue b/packages/frontend/src/pages/mahjong/hand-tiles.vue index ebfb6e8cc1..81ad21b1b2 100644 --- a/packages/frontend/src/pages/mahjong/hand-tiles.vue +++ b/packages/frontend/src/pages/mahjong/hand-tiles.vue @@ -40,12 +40,12 @@ import { computed } from 'vue'; import * as Mmj from 'misskey-mahjong'; //#region syntax suger -function mj$(tileId: Mmj.TileId): Mmj.TileInstance { - return Mmj.findTileByIdOrFail(tileId); +function mj$(tid: Mmj.TileId): Mmj.TileInstance { + return Mmj.findTileByIdOrFail(tid); } -function mj$type(tileId: Mmj.TileId): Mmj.TileType { - return mj$(tileId).t; +function mj$type(tid: Mmj.TileId): Mmj.TileType { + return mj$(tid).t; } //#endregion diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 2f8b7af8cb..f51d192a0d 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -168,6 +168,17 @@ SPDX-License-Identifier: AGPL-3.0-only

    +
    + + + +
    +
    {{ res.pointDeltas.e }} / {{ res.pointDeltas.s }} / {{ res.pointDeltas.w }} / {{ res.pointDeltas.n }}
    + OK
    @@ -235,12 +247,12 @@ import * as os from '@/os.js'; import { confetti } from '@/scripts/confetti.js'; //#region syntax suger -function mj$(tileId: Mmj.TileId): Mmj.TileInstance { - return Mmj.findTileByIdOrFail(tileId); +function mj$(tid: Mmj.TileId): Mmj.TileInstance { + return Mmj.findTileByIdOrFail(tid); } -function mj$type(tileId: Mmj.TileId): Mmj.TileType { - return mj$(tileId).t; +function mj$type(tid: Mmj.TileId): Mmj.TileType { + return mj$(tid).t; } //#endregion @@ -256,11 +268,11 @@ const myUserNumber = computed(() => room.value.user1Id === $i.id ? 1 : room.valu const mj = shallowRef(new Mmj.PlayerGameEngine(myUserNumber.value, room.value.gameState)); const isMyTurn = computed(() => { - return mj.value.state.turn === mj.value.myHouse; + return mj.value.turn === mj.value.myHouse; }); const canHora = computed(() => { - return Mmj.getHoraSets(mj.value.myHandTiles).length > 0; + return Mmj.getHoraSets(mj.value.myHandTileTypes).length > 0; }); const selectableTiles = ref(null); @@ -286,6 +298,7 @@ const kyokuResults = ref { + ronSerifHouses[caller] = false; + }, 2000); } console.log('ronned', res); @@ -620,6 +641,9 @@ function onStreamTsumoHora(log) { }, 1500); tsumoSerifHouses[log.house] = true; + window.setTimeout(() => { + tsumoSerifHouses[log.house] = false; + }, 2000); console.log('tsumohora', res); } @@ -634,6 +658,23 @@ function onStreamRyuukyoku(log) { }, 1500); } +function onStreamNextKyoku(log) { + console.log('onStreamNextKyoku', log); + + const res = mj.value.commit_nextKyoku(log.state); + triggerRef(mj); + + iTsumoed.value = false; + showKyokuResults.value = false; + kyokuResults.value = { + e: null, + s: null, + w: null, + n: null, + }; + ryuukyokued.value = false; +} + function restoreRoom(_room) { room.value = deepClone(_room); @@ -653,6 +694,7 @@ onMounted(() => { props.connection.on('ronned', onStreamRonned); props.connection.on('tsumoHora', onStreamTsumoHora); props.connection.on('ryuukyoku', onStreamRyuukyoku); + props.connection.on('nextKyoku', onStreamNextKyoku); } }); @@ -669,6 +711,7 @@ onActivated(() => { props.connection.on('ronned', onStreamRonned); props.connection.on('tsumoHora', onStreamTsumoHora); props.connection.on('ryuukyoku', onStreamRyuukyoku); + props.connection.on('nextKyoku', onStreamNextKyoku); } }); @@ -685,6 +728,7 @@ onDeactivated(() => { props.connection.off('ronned', onStreamRonned); props.connection.off('tsumoHora', onStreamTsumoHora); props.connection.off('ryuukyoku', onStreamRyuukyoku); + props.connection.off('nextKyoku', onStreamNextKyoku); } }); @@ -701,6 +745,7 @@ onUnmounted(() => { props.connection.off('ronned', onStreamRonned); props.connection.off('tsumoHora', onStreamTsumoHora); props.connection.off('ryuukyoku', onStreamRyuukyoku); + props.connection.off('nextKyoku', onStreamNextKyoku); } }); diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index cb88faa8d2..52d6421750 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -92,14 +92,14 @@ export const TILE_ID_MAP = new Map([ /* eslint-enable no-multi-spaces */ ]); -export function findTileByIdOrFail(tileId: TileId): TileInstance { - const tile = TILE_ID_MAP.get(tileId); - if (tile == null) throw new Error(`tile not found: ${tileId}`); +export function findTileByIdOrFail(tid: TileId): TileInstance { + const tile = TILE_ID_MAP.get(tid); + if (tile == null) throw new Error(`tile not found: ${tid}`); return tile; } -export function findTileById(tileId: TileId): TileInstance | null { - return TILE_ID_MAP.get(tileId) ?? null; +export function findTileById(tid: TileId): TileInstance | null { + return TILE_ID_MAP.get(tid) ?? null; } export type House = 'e' | 's' | 'w' | 'n'; @@ -300,6 +300,13 @@ export const YAKU_DEFINITIONS = [{ calc: (state: EnvForCalcYaku) => { return state.tsumoTile != null; }, +}, { + name: 'ippatsu', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku) => { + + }, }, { name: 'red', fan: 1, diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 8361aaf34f..3e2025cb75 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -9,12 +9,12 @@ import * as Common from './common.js'; import { PlayerState } from './engine.player.js'; //#region syntax suger -function $(tileId: TileId): Common.TileInstance { - return Common.findTileByIdOrFail(tileId); +function $(tid: TileId): Common.TileInstance { + return Common.findTileByIdOrFail(tid); } -function $type(tileId: TileId): TileType { - return $(tileId).t; +function $type(tid: TileId): TileType { + return $(tid).t; } //#endregion @@ -26,7 +26,7 @@ export type MasterState = { round: 'e' | 's' | 'w' | 'n'; kyoku: number; - + turnCount: number; tiles: TileId[]; kingTiles: TileId[]; activatedDorasCount: number; @@ -59,6 +59,12 @@ export type MasterState = { w: boolean; n: boolean; }; + ippatsus: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; points: { e: number; s: number; @@ -176,6 +182,10 @@ export class MasterGameEngine { return this.state.user4House; } + public get turn(): House | null { + return this.state.turn; + } + public static createInitialState(): MasterState { const ikasama: TileId[] = [125, 129, 9, 56, 57, 61, 77, 81, 85, 133, 134, 135, 121, 122]; @@ -201,6 +211,7 @@ export class MasterGameEngine { user4House: 'n', round: 'e', kyoku: 1, + turnCount: 0, tiles, kingTiles, activatedDorasCount: 1, @@ -253,12 +264,12 @@ export class MasterGameEngine { return tile; } - private canRon(house: House, tileId: TileId): boolean { + private canRon(house: House, tid: TileId): boolean { // フリテン // TODO: ポンされるなどして自分の河にない場合の考慮 - if (this.hoTileTypes[house].includes($type(tileId))) return false; + if (this.hoTileTypes[house].includes($type(tid))) return false; - const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tileId))); + const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tid))); if (horaSets.length === 0) return false; // 完成形じゃない // TODO @@ -268,15 +279,19 @@ export class MasterGameEngine { return true; } - private canPon(house: House, tileId: TileId): boolean { - return this.handTileTypes[house].filter(t => t === $type(tileId)).length === 2; + private canPon(house: House, tid: TileId): boolean { + return this.handTileTypes[house].filter(t => t === $type(tid)).length === 2; } - private canCii(caller: House, callee: House, tileId: TileId): boolean { + private canDaiminkan(caller: House, tid: TileId): boolean { + return this.handTileTypes[caller].filter(t => t === $type(tid)).length === 3; + } + + private canCii(caller: House, callee: House, tid: TileId): boolean { if (callee !== Common.prevHouse(caller)) return false; const hand = this.handTileTypes[caller]; return Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes($type(tileId)) && + pattern.includes($type(tid)) && pattern.filter(t => hand.includes(t)).length >= 2); } @@ -325,68 +340,104 @@ export class MasterGameEngine { this.endKyoku(); } - public commit_dahai(house: House, tileId: TileId, riichi = false) { + public startTransaction() { + const newState = structuredClone(this.state); + return { + state: newState, + commit: () => { + this.state = newState; + }, + }; + } + + public commit_nextKyoku() { + const newState = MasterGameEngine.createInitialState(); + newState.kyoku = this.state.kyoku + 1; + newState.points = this.state.points; + newState.turn = 'e'; + newState.user1House = Common.nextHouse(this.state.user1House); + newState.user2House = Common.nextHouse(this.state.user2House); + newState.user3House = Common.nextHouse(this.state.user3House); + newState.user4House = Common.nextHouse(this.state.user4House); + this.state = newState; + } + + public commit_dahai(house: House, tid: TileId, riichi = false) { + const { state, commit } = this.startTransaction(); + if (this.state.turn !== house) throw new Error('Not your turn'); if (riichi) { + if (this.state.riichis[house]) throw new Error('Already riichi'); const tempHandTiles = [...this.handTileTypes[house]]; - tempHandTiles.splice(tempHandTiles.indexOf($type(tileId)), 1); + tempHandTiles.splice(tempHandTiles.indexOf($type(tid)), 1); if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); if (this.state.points[house] < 1000) throw new Error('Not enough points'); } const handTiles = this.state.handTiles[house]; - if (!handTiles.includes(tileId)) throw new Error('No such tile in your hand'); - handTiles.splice(handTiles.indexOf(tileId), 1); - this.state.hoTiles[house].push(tileId); + if (!handTiles.includes(tid)) throw new Error('No such tile in your hand'); + handTiles.splice(handTiles.indexOf(tid), 1); + this.state.hoTiles[house].push(tid); + + if (this.state.riichis[house]) { + this.state.ippatsus[house] = false; + } if (riichi) { this.state.riichis[house] = true; + this.state.ippatsus[house] = true; } const canRonHouses: House[] = []; switch (house) { case 'e': - if (this.canRon('s', tileId)) canRonHouses.push('s'); - if (this.canRon('w', tileId)) canRonHouses.push('w'); - if (this.canRon('n', tileId)) canRonHouses.push('n'); + if (this.canRon('s', tid)) canRonHouses.push('s'); + if (this.canRon('w', tid)) canRonHouses.push('w'); + if (this.canRon('n', tid)) canRonHouses.push('n'); break; case 's': - if (this.canRon('e', tileId)) canRonHouses.push('e'); - if (this.canRon('w', tileId)) canRonHouses.push('w'); - if (this.canRon('n', tileId)) canRonHouses.push('n'); + if (this.canRon('e', tid)) canRonHouses.push('e'); + if (this.canRon('w', tid)) canRonHouses.push('w'); + if (this.canRon('n', tid)) canRonHouses.push('n'); break; case 'w': - if (this.canRon('e', tileId)) canRonHouses.push('e'); - if (this.canRon('s', tileId)) canRonHouses.push('s'); - if (this.canRon('n', tileId)) canRonHouses.push('n'); + if (this.canRon('e', tid)) canRonHouses.push('e'); + if (this.canRon('s', tid)) canRonHouses.push('s'); + if (this.canRon('n', tid)) canRonHouses.push('n'); break; case 'n': - if (this.canRon('e', tileId)) canRonHouses.push('e'); - if (this.canRon('s', tileId)) canRonHouses.push('s'); - if (this.canRon('w', tileId)) canRonHouses.push('w'); + if (this.canRon('e', tid)) canRonHouses.push('e'); + if (this.canRon('s', tid)) canRonHouses.push('s'); + if (this.canRon('w', tid)) canRonHouses.push('w'); break; } - const canKanHouse: House | null = null; + let canKanHouse: House | null = null; + switch (house) { + case 'e': canKanHouse = this.canDaiminkan('s', tid) ? 's' : this.canDaiminkan('w', tid) ? 'w' : this.canDaiminkan('n', tid) ? 'n' : null; break; + case 's': canKanHouse = this.canDaiminkan('e', tid) ? 'e' : this.canDaiminkan('w', tid) ? 'w' : this.canDaiminkan('n', tid) ? 'n' : null; break; + case 'w': canKanHouse = this.canDaiminkan('e', tid) ? 'e' : this.canDaiminkan('s', tid) ? 's' : this.canDaiminkan('n', tid) ? 'n' : null; break; + case 'n': canKanHouse = this.canDaiminkan('e', tid) ? 'e' : this.canDaiminkan('s', tid) ? 's' : this.canDaiminkan('w', tid) ? 'w' : null; break; + } let canPonHouse: House | null = null; switch (house) { - case 'e': canPonHouse = this.canPon('s', tileId) ? 's' : this.canPon('w', tileId) ? 'w' : this.canPon('n', tileId) ? 'n' : null; break; - case 's': canPonHouse = this.canPon('e', tileId) ? 'e' : this.canPon('w', tileId) ? 'w' : this.canPon('n', tileId) ? 'n' : null; break; - case 'w': canPonHouse = this.canPon('e', tileId) ? 'e' : this.canPon('s', tileId) ? 's' : this.canPon('n', tileId) ? 'n' : null; break; - case 'n': canPonHouse = this.canPon('e', tileId) ? 'e' : this.canPon('s', tileId) ? 's' : this.canPon('w', tileId) ? 'w' : null; break; + case 'e': canPonHouse = this.canPon('s', tid) ? 's' : this.canPon('w', tid) ? 'w' : this.canPon('n', tid) ? 'n' : null; break; + case 's': canPonHouse = this.canPon('e', tid) ? 'e' : this.canPon('w', tid) ? 'w' : this.canPon('n', tid) ? 'n' : null; break; + case 'w': canPonHouse = this.canPon('e', tid) ? 'e' : this.canPon('s', tid) ? 's' : this.canPon('n', tid) ? 'n' : null; break; + case 'n': canPonHouse = this.canPon('e', tid) ? 'e' : this.canPon('s', tid) ? 's' : this.canPon('w', tid) ? 'w' : null; break; } let canCiiHouse: House | null = null; switch (house) { - case 'e': canCiiHouse = this.canCii('s', house, tileId) ? 's' : this.canCii('w', house, tileId) ? 'w' : this.canCii('n', house, tileId) ? 'n' : null; break; - case 's': canCiiHouse = this.canCii('e', house, tileId) ? 'e' : this.canCii('w', house, tileId) ? 'w' : this.canCii('n', house, tileId) ? 'n' : null; break; - case 'w': canCiiHouse = this.canCii('e', house, tileId) ? 'e' : this.canCii('s', house, tileId) ? 's' : this.canCii('n', house, tileId) ? 'n' : null; break; - case 'n': canCiiHouse = this.canCii('e', house, tileId) ? 'e' : this.canCii('s', house, tileId) ? 's' : this.canCii('w', house, tileId) ? 'w' : null; break; + case 'e': canCiiHouse = this.canCii('s', house, tid) ? 's' : this.canCii('w', house, tid) ? 'w' : this.canCii('n', house, tid) ? 'n' : null; break; + case 's': canCiiHouse = this.canCii('e', house, tid) ? 'e' : this.canCii('w', house, tid) ? 'w' : this.canCii('n', house, tid) ? 'n' : null; break; + case 'w': canCiiHouse = this.canCii('e', house, tid) ? 'e' : this.canCii('s', house, tid) ? 's' : this.canCii('n', house, tid) ? 'n' : null; break; + case 'n': canCiiHouse = this.canCii('e', house, tid) ? 'e' : this.canCii('s', house, tid) ? 's' : this.canCii('w', house, tid) ? 'w' : null; break; } - if (canRonHouses.length > 0 || canPonHouse != null || canCiiHouse != null) { + if (canRonHouses.length > 0 || canKanHouse != null || canPonHouse != null || canCiiHouse != null) { if (canRonHouses.length > 0) { this.state.askings.ron = { callee: house, @@ -445,13 +496,18 @@ export class MasterGameEngine { }; } - public commit_kakan(house: House, tileId: TileId) { - const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tileId)); + public commit_kakan(house: House, tid: TileId) { + const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)); if (pon == null) throw new Error('No such pon'); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tileId), 1); - const tiles = [tileId, ...pon.tiles]; + this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tid), 1); + const tiles = [tid, ...pon.tiles]; this.state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); + this.state.ippatsus.e = false; + this.state.ippatsus.s = false; + this.state.ippatsus.w = false; + this.state.ippatsus.n = false; + this.state.activatedDorasCount++; const rinsyan = this.tsumo(); @@ -463,14 +519,14 @@ export class MasterGameEngine { }; } - public commit_ankan(house: House, tileId: TileId) { - const t1 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(0); + public commit_ankan(house: House, tid: TileId) { + const t1 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(1); + const t2 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(1); if (t2 == null) throw new Error('No such tile'); - const t3 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(2); + const t3 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(2); if (t3 == null) throw new Error('No such tile'); - const t4 = this.state.handTiles[house].filter(t => $type(t) === $type(tileId)).at(3); + const t4 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(3); if (t4 == null) throw new Error('No such tile'); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t1), 1); this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t2), 1); @@ -479,6 +535,11 @@ export class MasterGameEngine { const tiles = [t1, t2, t3, t4]; this.state.huros[house].push({ type: 'ankan', tiles: tiles }); + this.state.ippatsus.e = false; + this.state.ippatsus.s = false; + this.state.ippatsus.w = false; + this.state.ippatsus.n = false; + this.state.activatedDorasCount++; const rinsyan = this.tsumo(); @@ -567,6 +628,11 @@ export class MasterGameEngine { const tiles = [tile, t1, t2, t3]; this.state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); + this.state.ippatsus.e = false; + this.state.ippatsus.s = false; + this.state.ippatsus.w = false; + this.state.ippatsus.n = false; + this.state.activatedDorasCount++; const rinsyan = this.tsumo(); @@ -594,6 +660,11 @@ export class MasterGameEngine { const tiles = [tile, t1, t2]; this.state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); + this.state.ippatsus.e = false; + this.state.ippatsus.s = false; + this.state.ippatsus.w = false; + this.state.ippatsus.n = false; + this.state.turn = pon.caller; return { @@ -654,6 +725,11 @@ export class MasterGameEngine { this.state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); + this.state.ippatsus.e = false; + this.state.ippatsus.s = false; + this.state.ippatsus.w = false; + this.state.ippatsus.n = false; + this.state.turn = cii.caller; return { @@ -699,6 +775,7 @@ export class MasterGameEngine { user4House: this.state.user4House, round: this.state.round, kyoku: this.state.kyoku, + turnCount: this.state.turnCount, tilesCount: this.state.tiles.length, doraIndicateTiles: this.state.kingTiles.slice(0, this.state.activatedDorasCount), handTiles: { @@ -756,3 +833,7 @@ export class MasterGameEngine { return structuredClone(this.state); } } + +function commit_dahai(state: MasterState): MasterState { + +} diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index f2ba137eff..d88e43df38 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -8,12 +8,12 @@ import { TileType, House, Huro, TileId, YAKU_DEFINITIONS } from './common.js'; import * as Common from './common.js'; //#region syntax suger -function $(tileId: TileId): Common.TileInstance { - return Common.findTileByIdOrFail(tileId); +function $(tid: TileId): Common.TileInstance { + return Common.findTileByIdOrFail(tid); } -function $type(tileId: TileId): TileType { - return $(tileId).t; +function $type(tid: TileId): TileType { + return $(tid).t; } //#endregion @@ -26,6 +26,7 @@ export type PlayerState = { round: 'e' | 's' | 'w' | 'n'; kyoku: number; + turnCount: number; tilesCount: number; doraIndicateTiles: TileId[]; @@ -111,6 +112,10 @@ export class PlayerGameEngine { return this.state.huros; } + public get turnCount(): number { + return this.state.turnCount; + } + public get tilesCount(): number { return this.state.tilesCount; } @@ -131,6 +136,26 @@ export class PlayerGameEngine { return this.state.canCii; } + public get turn(): House | null { + return this.state.turn; + } + + public get user1House(): House { + return this.state.user1House; + } + + public get user2House(): House { + return this.state.user2House; + } + + public get user3House(): House { + return this.state.user3House; + } + + public get user4House(): House { + return this.state.user4House; + } + public get myHouse(): House { switch (this.myUserNumber) { case 1: return this.state.user1House; @@ -152,19 +177,23 @@ export class PlayerGameEngine { return this.state.riichis[this.myHouse]; } - public commit_tsumo(house: House, tileId: TileId) { - console.log('commit_tsumo', this.state.turn, house, tileId); + public commit_nextKyoku(state: PlayerState) { + this.state = state; + } + + public commit_tsumo(house: House, tid: TileId) { + console.log('commit_tsumo', this.state.turn, house, tid); this.state.tilesCount--; this.state.turn = house; if (house === this.myHouse) { - this.myHandTiles.push(tileId); + this.myHandTiles.push(tid); } else { this.state.handTiles[house].push(0); } } - public commit_dahai(house: House, tileId: TileId, riichi = false) { - console.log('commit_dahai', this.state.turn, house, tileId, riichi); + public commit_dahai(house: House, tid: TileId, riichi = false) { + console.log('commit_dahai', this.state.turn, house, tid, riichi); if (this.state.turn !== house) throw new PlayerGameEngine.InvalidOperationError(); if (riichi) { @@ -172,23 +201,23 @@ export class PlayerGameEngine { } if (house === this.myHouse) { - this.myHandTiles.splice(this.myHandTiles.indexOf(tileId), 1); - this.state.hoTiles[this.myHouse].push(tileId); + this.myHandTiles.splice(this.myHandTiles.indexOf(tid), 1); + this.state.hoTiles[this.myHouse].push(tid); } else { this.state.handTiles[house].pop(); - this.state.hoTiles[house].push(tileId); + this.state.hoTiles[house].push(tid); } this.state.turn = null; if (house === this.myHouse) { } else { - const canRon = Common.getHoraSets(this.myHandTiles.concat(tileId).map(id => $type(id))).length > 0; - const canPon = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tileId)).length === 2; - const canKan = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tileId)).length === 3; + const canRon = Common.getHoraSets(this.myHandTiles.concat(tid).map(id => $type(id))).length > 0; + const canPon = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tid)).length === 2; + const canKan = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tid)).length === 3; const canCii = !this.isMeRiichi && house === Common.prevHouse(this.myHouse) && Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes($type(tileId)) && + pattern.includes($type(tid)) && pattern.filter(t => this.myHandTileTypes.includes(t)).length >= 2); this.state.canRon = canRon ? { callee: house } : null; From 166aeb631eb5ea363be61e12e180ae74c789d865 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 6 Feb 2024 18:21:58 +0900 Subject: [PATCH 36/64] wip --- .../frontend/src/pages/mahjong/room.game.vue | 77 +++ packages/misskey-mahjong/src/common.ts | 7 +- packages/misskey-mahjong/src/engine.master.ts | 560 ++++++++++-------- packages/misskey-mahjong/src/engine.player.ts | 8 + 4 files changed, 416 insertions(+), 236 deletions(-) diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index f51d192a0d..a0d50c3330 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -32,6 +32,26 @@ SPDX-License-Identifier: AGPL-3.0-only {{ mj.points[mj.myHouse] }}
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    {{ mj.tilesCount }}
    @@ -866,6 +886,63 @@ onUnmounted(() => { .centerPanelPoint { margin-left: 10px; } +.centerPanelIndicatorContainerToi { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + rotate: 180deg; +} +.centerPanelIndicatorContainerKami { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + rotate: 90deg; +} +.centerPanelIndicatorContainerSimo { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + rotate: -90deg; +} +.centerPanelIndicatorContainerMe { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; +} +.centerPanelIndicator { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + width: 100px; + height: 10px; + border-radius: 999px; +} +.centerPanelIndicatorIndicated { + background: #ff0; +} .handTilesOfToimen { position: absolute; diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 52d6421750..f7b4e35eca 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -284,6 +284,11 @@ type EnvForCalcYaku = { * リーチしたかどうか */ riichi: boolean; + + /** + * 一巡目以内かどうか + */ + ippatsu: boolean; }; export const YAKU_DEFINITIONS = [{ @@ -305,7 +310,7 @@ export const YAKU_DEFINITIONS = [{ fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku) => { - + return state.ippatsu; }, }, { name: 'red', diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 3e2025cb75..d5948fc026 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -18,6 +18,114 @@ function $type(tid: TileId): TileType { } //#endregion +class StateManager { + public state: MasterState; + private commitCallback: (state: MasterState) => void; + + constructor(state: MasterState, commitCallback: (state: MasterState) => void) { + this.state = structuredClone(state); + this.commitCallback = commitCallback; + } + + public commit() { + this.commitCallback(this.state); + } + + public get doras(): TileType[] { + return this.state.kingTiles.slice(0, this.state.activatedDorasCount) + .map(id => Common.nextTileForDora($type(id))); + } + + public get handTiles(): Record { + return this.state.handTiles; + } + + public get handTileTypes(): Record { + return { + e: this.state.handTiles.e.map(id => $type(id)), + s: this.state.handTiles.s.map(id => $type(id)), + w: this.state.handTiles.w.map(id => $type(id)), + n: this.state.handTiles.n.map(id => $type(id)), + }; + } + + public get hoTileTypes(): Record { + return { + e: this.state.hoTiles.e.map(id => $type(id)), + s: this.state.hoTiles.s.map(id => $type(id)), + w: this.state.hoTiles.w.map(id => $type(id)), + n: this.state.hoTiles.n.map(id => $type(id)), + }; + } + + public get riichis(): Record { + return this.state.riichis; + } + + public get askings(): MasterState['askings'] { + return this.state.askings; + } + + public get user1House(): House { + return this.state.user1House; + } + + public get user2House(): House { + return this.state.user2House; + } + + public get user3House(): House { + return this.state.user3House; + } + + public get user4House(): House { + return this.state.user4House; + } + + public get turn(): House | null { + return this.state.turn; + } + + public canRon(house: House, tid: TileId): boolean { + // フリテン + // TODO: ポンされるなどして自分の河にない場合の考慮 + if (this.hoTileTypes[house].includes($type(tid))) return false; + + const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tid))); + if (horaSets.length === 0) return false; // 完成形じゃない + + // TODO + //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); + //if (yakus.length === 0) return false; // 役がない + + return true; + } + + public canPon(house: House, tid: TileId): boolean { + return this.handTileTypes[house].filter(t => t === $type(tid)).length === 2; + } + + public canDaiminkan(caller: House, tid: TileId): boolean { + return this.handTileTypes[caller].filter(t => t === $type(tid)).length === 3; + } + + public canCii(caller: House, callee: House, tid: TileId): boolean { + if (callee !== Common.prevHouse(caller)) return false; + const hand = this.handTileTypes[caller]; + return Common.SHUNTU_PATTERNS.some(pattern => + pattern.includes($type(tid)) && + pattern.filter(t => hand.includes(t)).length >= 2); + } + + public tsumo(): TileId { + const tile = this.state.tiles.pop(); + if (tile == null) throw new Error('No tiles left'); + if (this.state.turn == null) throw new Error('Not your turn'); + this.state.handTiles[this.state.turn].push(tile); + return tile; + } +} + export type MasterState = { user1House: House; user2House: House; @@ -239,6 +347,12 @@ export class MasterGameEngine { w: false, n: false, }, + ippatsus: { + e: false, + s: false, + w: false, + n: false, + }, points: { e: 25000, s: 25000, @@ -256,45 +370,6 @@ export class MasterGameEngine { }; } - private tsumo(): TileId { - const tile = this.state.tiles.pop(); - if (tile == null) throw new Error('No tiles left'); - if (this.state.turn == null) throw new Error('Not your turn'); - this.state.handTiles[this.state.turn].push(tile); - return tile; - } - - private canRon(house: House, tid: TileId): boolean { - // フリテン - // TODO: ポンされるなどして自分の河にない場合の考慮 - if (this.hoTileTypes[house].includes($type(tid))) return false; - - const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tid))); - if (horaSets.length === 0) return false; // 完成形じゃない - - // TODO - //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); - //if (yakus.length === 0) return false; // 役がない - - return true; - } - - private canPon(house: House, tid: TileId): boolean { - return this.handTileTypes[house].filter(t => t === $type(tid)).length === 2; - } - - private canDaiminkan(caller: House, tid: TileId): boolean { - return this.handTileTypes[caller].filter(t => t === $type(tid)).length === 3; - } - - private canCii(caller: House, callee: House, tid: TileId): boolean { - if (callee !== Common.prevHouse(caller)) return false; - const hand = this.handTileTypes[caller]; - return Common.SHUNTU_PATTERNS.some(pattern => - pattern.includes($type(tid)) && - pattern.filter(t => hand.includes(t)).length >= 2); - } - public getHouse(index: 1 | 2 | 3 | 4): House { switch (index) { case 1: return this.state.user1House; @@ -304,50 +379,10 @@ export class MasterGameEngine { } } - private endKyoku() { - console.log('endKyoku'); - const newState = MasterGameEngine.createInitialState(); - newState.kyoku = this.state.kyoku + 1; - newState.points = this.state.points; - } - - /** - * ロン和了 - * @param callers ロンする人 - * @param callee ロンされる人 - */ - private ronHora(callers: House[], callee: House) { - for (const house of callers) { - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ - house: house, - handTiles: this.handTileTypes[house], - huros: this.state.huros[house], - tsumoTile: null, - ronTile: this.hoTileTypes[callee].at(-1)!, - riichi: this.state.riichis[house], - })); - const doraCount = - Common.calcOwnedDoraCount(this.handTileTypes[house], this.state.huros[house], this.doras) + - Common.calcRedDoraCount(this.state.handTiles[house], this.state.huros[house]); - const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; - const point = Common.fanToPoint(fans, house === 'e'); - this.state.points[callee] -= point; - this.state.points[house] += point; - console.log('fans point', fans, point); - console.log('yakus', house, yakus); - } - - this.endKyoku(); - } - public startTransaction() { - const newState = structuredClone(this.state); - return { - state: newState, - commit: () => { - this.state = newState; - }, - }; + return new StateManager(this.state, (newState) => { + this.state = newState; + }); } public commit_nextKyoku() { @@ -363,107 +398,109 @@ export class MasterGameEngine { } public commit_dahai(house: House, tid: TileId, riichi = false) { - const { state, commit } = this.startTransaction(); + const tx = this.startTransaction(); - if (this.state.turn !== house) throw new Error('Not your turn'); + if (tx.state.turn !== house) throw new Error('Not your turn'); if (riichi) { - if (this.state.riichis[house]) throw new Error('Already riichi'); - const tempHandTiles = [...this.handTileTypes[house]]; + if (tx.state.riichis[house]) throw new Error('Already riichi'); + const tempHandTiles = [...tx.handTileTypes[house]]; tempHandTiles.splice(tempHandTiles.indexOf($type(tid)), 1); if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); - if (this.state.points[house] < 1000) throw new Error('Not enough points'); + if (tx.state.points[house] < 1000) throw new Error('Not enough points'); } - const handTiles = this.state.handTiles[house]; + const handTiles = tx.state.handTiles[house]; if (!handTiles.includes(tid)) throw new Error('No such tile in your hand'); handTiles.splice(handTiles.indexOf(tid), 1); - this.state.hoTiles[house].push(tid); + tx.state.hoTiles[house].push(tid); - if (this.state.riichis[house]) { - this.state.ippatsus[house] = false; + if (tx.state.riichis[house]) { + tx.state.ippatsus[house] = false; } if (riichi) { - this.state.riichis[house] = true; - this.state.ippatsus[house] = true; + tx.state.riichis[house] = true; + tx.state.ippatsus[house] = true; } const canRonHouses: House[] = []; switch (house) { case 'e': - if (this.canRon('s', tid)) canRonHouses.push('s'); - if (this.canRon('w', tid)) canRonHouses.push('w'); - if (this.canRon('n', tid)) canRonHouses.push('n'); + if (tx.canRon('s', tid)) canRonHouses.push('s'); + if (tx.canRon('w', tid)) canRonHouses.push('w'); + if (tx.canRon('n', tid)) canRonHouses.push('n'); break; case 's': - if (this.canRon('e', tid)) canRonHouses.push('e'); - if (this.canRon('w', tid)) canRonHouses.push('w'); - if (this.canRon('n', tid)) canRonHouses.push('n'); + if (tx.canRon('e', tid)) canRonHouses.push('e'); + if (tx.canRon('w', tid)) canRonHouses.push('w'); + if (tx.canRon('n', tid)) canRonHouses.push('n'); break; case 'w': - if (this.canRon('e', tid)) canRonHouses.push('e'); - if (this.canRon('s', tid)) canRonHouses.push('s'); - if (this.canRon('n', tid)) canRonHouses.push('n'); + if (tx.canRon('e', tid)) canRonHouses.push('e'); + if (tx.canRon('s', tid)) canRonHouses.push('s'); + if (tx.canRon('n', tid)) canRonHouses.push('n'); break; case 'n': - if (this.canRon('e', tid)) canRonHouses.push('e'); - if (this.canRon('s', tid)) canRonHouses.push('s'); - if (this.canRon('w', tid)) canRonHouses.push('w'); + if (tx.canRon('e', tid)) canRonHouses.push('e'); + if (tx.canRon('s', tid)) canRonHouses.push('s'); + if (tx.canRon('w', tid)) canRonHouses.push('w'); break; } let canKanHouse: House | null = null; switch (house) { - case 'e': canKanHouse = this.canDaiminkan('s', tid) ? 's' : this.canDaiminkan('w', tid) ? 'w' : this.canDaiminkan('n', tid) ? 'n' : null; break; - case 's': canKanHouse = this.canDaiminkan('e', tid) ? 'e' : this.canDaiminkan('w', tid) ? 'w' : this.canDaiminkan('n', tid) ? 'n' : null; break; - case 'w': canKanHouse = this.canDaiminkan('e', tid) ? 'e' : this.canDaiminkan('s', tid) ? 's' : this.canDaiminkan('n', tid) ? 'n' : null; break; - case 'n': canKanHouse = this.canDaiminkan('e', tid) ? 'e' : this.canDaiminkan('s', tid) ? 's' : this.canDaiminkan('w', tid) ? 'w' : null; break; + case 'e': canKanHouse = tx.canDaiminkan('s', tid) ? 's' : tx.canDaiminkan('w', tid) ? 'w' : tx.canDaiminkan('n', tid) ? 'n' : null; break; + case 's': canKanHouse = tx.canDaiminkan('e', tid) ? 'e' : tx.canDaiminkan('w', tid) ? 'w' : tx.canDaiminkan('n', tid) ? 'n' : null; break; + case 'w': canKanHouse = tx.canDaiminkan('e', tid) ? 'e' : tx.canDaiminkan('s', tid) ? 's' : tx.canDaiminkan('n', tid) ? 'n' : null; break; + case 'n': canKanHouse = tx.canDaiminkan('e', tid) ? 'e' : tx.canDaiminkan('s', tid) ? 's' : tx.canDaiminkan('w', tid) ? 'w' : null; break; } let canPonHouse: House | null = null; switch (house) { - case 'e': canPonHouse = this.canPon('s', tid) ? 's' : this.canPon('w', tid) ? 'w' : this.canPon('n', tid) ? 'n' : null; break; - case 's': canPonHouse = this.canPon('e', tid) ? 'e' : this.canPon('w', tid) ? 'w' : this.canPon('n', tid) ? 'n' : null; break; - case 'w': canPonHouse = this.canPon('e', tid) ? 'e' : this.canPon('s', tid) ? 's' : this.canPon('n', tid) ? 'n' : null; break; - case 'n': canPonHouse = this.canPon('e', tid) ? 'e' : this.canPon('s', tid) ? 's' : this.canPon('w', tid) ? 'w' : null; break; + case 'e': canPonHouse = tx.canPon('s', tid) ? 's' : tx.canPon('w', tid) ? 'w' : tx.canPon('n', tid) ? 'n' : null; break; + case 's': canPonHouse = tx.canPon('e', tid) ? 'e' : tx.canPon('w', tid) ? 'w' : tx.canPon('n', tid) ? 'n' : null; break; + case 'w': canPonHouse = tx.canPon('e', tid) ? 'e' : tx.canPon('s', tid) ? 's' : tx.canPon('n', tid) ? 'n' : null; break; + case 'n': canPonHouse = tx.canPon('e', tid) ? 'e' : tx.canPon('s', tid) ? 's' : tx.canPon('w', tid) ? 'w' : null; break; } let canCiiHouse: House | null = null; switch (house) { - case 'e': canCiiHouse = this.canCii('s', house, tid) ? 's' : this.canCii('w', house, tid) ? 'w' : this.canCii('n', house, tid) ? 'n' : null; break; - case 's': canCiiHouse = this.canCii('e', house, tid) ? 'e' : this.canCii('w', house, tid) ? 'w' : this.canCii('n', house, tid) ? 'n' : null; break; - case 'w': canCiiHouse = this.canCii('e', house, tid) ? 'e' : this.canCii('s', house, tid) ? 's' : this.canCii('n', house, tid) ? 'n' : null; break; - case 'n': canCiiHouse = this.canCii('e', house, tid) ? 'e' : this.canCii('s', house, tid) ? 's' : this.canCii('w', house, tid) ? 'w' : null; break; + case 'e': canCiiHouse = tx.canCii('s', house, tid) ? 's' : tx.canCii('w', house, tid) ? 'w' : tx.canCii('n', house, tid) ? 'n' : null; break; + case 's': canCiiHouse = tx.canCii('e', house, tid) ? 'e' : tx.canCii('w', house, tid) ? 'w' : tx.canCii('n', house, tid) ? 'n' : null; break; + case 'w': canCiiHouse = tx.canCii('e', house, tid) ? 'e' : tx.canCii('s', house, tid) ? 's' : tx.canCii('n', house, tid) ? 'n' : null; break; + case 'n': canCiiHouse = tx.canCii('e', house, tid) ? 'e' : tx.canCii('s', house, tid) ? 's' : tx.canCii('w', house, tid) ? 'w' : null; break; } if (canRonHouses.length > 0 || canKanHouse != null || canPonHouse != null || canCiiHouse != null) { if (canRonHouses.length > 0) { - this.state.askings.ron = { + tx.state.askings.ron = { callee: house, callers: canRonHouses, }; } if (canKanHouse != null) { - this.state.askings.kan = { + tx.state.askings.kan = { callee: house, caller: canKanHouse, }; } if (canPonHouse != null) { - this.state.askings.pon = { + tx.state.askings.pon = { callee: house, caller: canPonHouse, }; } if (canCiiHouse != null) { - this.state.askings.cii = { + tx.state.askings.cii = { callee: house, caller: canCiiHouse, }; } - this.state.turn = null; - this.state.nextTurnAfterAsking = Common.nextHouse(house); + tx.state.turn = null; + tx.state.nextTurnAfterAsking = Common.nextHouse(house); + tx.commit(); + return { asking: true as const, canRonHouses: canRonHouses, @@ -474,10 +511,9 @@ export class MasterGameEngine { } // 流局 - if (this.state.tiles.length === 0) { - this.state.turn = null; - - this.endKyoku(); + if (tx.state.tiles.length === 0) { + tx.state.turn = null; + tx.commit(); return { asking: false as const, @@ -485,32 +521,38 @@ export class MasterGameEngine { }; } - this.state.turn = Common.nextHouse(house); + tx.state.turn = Common.nextHouse(house); - const tsumoTile = this.tsumo(); + const tsumoTile = tx.tsumo(); + + tx.commit(); return { asking: false as const, tsumoTile: tsumoTile, - next: this.state.turn, + next: tx.state.turn, }; } public commit_kakan(house: House, tid: TileId) { - const pon = this.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)); + const tx = this.startTransaction(); + + const pon = tx.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)); if (pon == null) throw new Error('No such pon'); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(tid), 1); + tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(tid), 1); const tiles = [tid, ...pon.tiles]; - this.state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); + tx.state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); - this.state.ippatsus.e = false; - this.state.ippatsus.s = false; - this.state.ippatsus.w = false; - this.state.ippatsus.n = false; + tx.state.ippatsus.e = false; + tx.state.ippatsus.s = false; + tx.state.ippatsus.w = false; + tx.state.ippatsus.n = false; - this.state.activatedDorasCount++; + tx.state.activatedDorasCount++; - const rinsyan = this.tsumo(); + const rinsyan = tx.tsumo(); + + tx.commit(); return { rinsyan, @@ -520,29 +562,33 @@ export class MasterGameEngine { } public commit_ankan(house: House, tid: TileId) { - const t1 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(0); + const tx = this.startTransaction(); + + const t1 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(1); + const t2 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(1); if (t2 == null) throw new Error('No such tile'); - const t3 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(2); + const t3 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(2); if (t3 == null) throw new Error('No such tile'); - const t4 = this.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(3); + const t4 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(3); if (t4 == null) throw new Error('No such tile'); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t1), 1); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t2), 1); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t3), 1); - this.state.handTiles[house].splice(this.state.handTiles[house].indexOf(t4), 1); + tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t1), 1); + tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t2), 1); + tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t3), 1); + tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t4), 1); const tiles = [t1, t2, t3, t4]; - this.state.huros[house].push({ type: 'ankan', tiles: tiles }); + tx.state.huros[house].push({ type: 'ankan', tiles: tiles }); - this.state.ippatsus.e = false; - this.state.ippatsus.s = false; - this.state.ippatsus.w = false; - this.state.ippatsus.n = false; + tx.state.ippatsus.e = false; + tx.state.ippatsus.s = false; + tx.state.ippatsus.w = false; + tx.state.ippatsus.n = false; - this.state.activatedDorasCount++; + tx.state.activatedDorasCount++; - const rinsyan = this.tsumo(); + const rinsyan = tx.tsumo(); + + tx.commit(); return { rinsyan, @@ -555,32 +601,35 @@ export class MasterGameEngine { * @param house */ public commit_tsumoHora(house: House) { - if (this.state.turn !== house) throw new Error('Not your turn'); + const tx = this.startTransaction(); + + if (tx.state.turn !== house) throw new Error('Not your turn'); const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, - handTiles: this.handTileTypes[house], - huros: this.state.huros[house], - tsumoTile: this.handTileTypes[house].at(-1)!, + handTiles: tx.handTileTypes[house], + huros: tx.state.huros[house], + tsumoTile: tx.handTileTypes[house].at(-1)!, ronTile: null, - riichi: this.state.riichis[house], + riichi: tx.state.riichis[house], + ippatsu: tx.state.ippatsus[house], })); const doraCount = - Common.calcOwnedDoraCount(this.handTileTypes[house], this.state.huros[house], this.doras) + - Common.calcRedDoraCount(this.state.handTiles[house], this.state.huros[house]); + Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.state.huros[house], tx.doras) + + Common.calcRedDoraCount(tx.state.handTiles[house], tx.state.huros[house]); const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); - this.state.points.e += pointDeltas.e; - this.state.points.s += pointDeltas.s; - this.state.points.w += pointDeltas.w; - this.state.points.n += pointDeltas.n; + tx.state.points.e += pointDeltas.e; + tx.state.points.s += pointDeltas.s; + tx.state.points.w += pointDeltas.w; + tx.state.points.n += pointDeltas.n; console.log('yakus', house, yakus); - this.endKyoku(); + tx.commit(); return { - handTiles: this.state.handTiles[house], - tsumoTile: this.state.handTiles[house].at(-1)!, + handTiles: tx.state.handTiles[house], + tsumoTile: tx.state.handTiles[house].at(-1)!, }; } @@ -590,20 +639,47 @@ export class MasterGameEngine { kan: boolean; ron: House[]; }) { - if (this.state.askings.pon == null && this.state.askings.cii == null && this.state.askings.kan == null && this.state.askings.ron == null) throw new Error(); + const tx = this.startTransaction(); - const pon = this.state.askings.pon; - const cii = this.state.askings.cii; - const kan = this.state.askings.kan; - const ron = this.state.askings.ron; + if (tx.state.askings.pon == null && tx.state.askings.cii == null && tx.state.askings.kan == null && tx.state.askings.ron == null) throw new Error(); - this.state.askings.pon = null; - this.state.askings.cii = null; - this.state.askings.kan = null; - this.state.askings.ron = null; + const pon = tx.state.askings.pon; + const cii = tx.state.askings.cii; + const kan = tx.state.askings.kan; + const ron = tx.state.askings.ron; + + tx.state.askings.pon = null; + tx.state.askings.cii = null; + tx.state.askings.kan = null; + tx.state.askings.ron = null; if (ron != null && answers.ron.length > 0) { - this.ronHora(answers.ron, ron.callee); + const callers = answers.ron; + const callee = ron.callee; + + for (const house of callers) { + const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ + house: house, + handTiles: tx.handTileTypes[house], + huros: tx.state.huros[house], + tsumoTile: null, + ronTile: tx.hoTileTypes[callee].at(-1)!, + riichi: tx.state.riichis[house], + ippatsu: tx.state.ippatsus[house], + })); + const doraCount = + Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.state.huros[house], tx.doras) + + Common.calcRedDoraCount(tx.state.handTiles[house], tx.state.huros[house]); + const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; + const point = Common.fanToPoint(fans, house === 'e'); + tx.state.points[callee] -= point; + tx.state.points[house] += point; + console.log('fans point', fans, point); + console.log('yakus', house, yakus); + } + + tx.commit(); + return { type: 'ronned' as const, callers: ron.callers, @@ -613,31 +689,33 @@ export class MasterGameEngine { } else if (kan != null && answers.kan) { // 大明槓 - const tile = this.state.hoTiles[kan.callee].pop()!; - const t1 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(0); + const tile = tx.state.hoTiles[kan.callee].pop()!; + const t1 = tx.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(1); + const t2 = tx.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(1); if (t2 == null) throw new Error('No such tile'); - const t3 = this.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(2); + const t3 = tx.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(2); if (t3 == null) throw new Error('No such tile'); - this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t1), 1); - this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t2), 1); - this.state.handTiles[kan.caller].splice(this.state.handTiles[kan.caller].indexOf(t3), 1); + tx.state.handTiles[kan.caller].splice(tx.state.handTiles[kan.caller].indexOf(t1), 1); + tx.state.handTiles[kan.caller].splice(tx.state.handTiles[kan.caller].indexOf(t2), 1); + tx.state.handTiles[kan.caller].splice(tx.state.handTiles[kan.caller].indexOf(t3), 1); const tiles = [tile, t1, t2, t3]; - this.state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); + tx.state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); - this.state.ippatsus.e = false; - this.state.ippatsus.s = false; - this.state.ippatsus.w = false; - this.state.ippatsus.n = false; + tx.state.ippatsus.e = false; + tx.state.ippatsus.s = false; + tx.state.ippatsus.w = false; + tx.state.ippatsus.n = false; - this.state.activatedDorasCount++; + tx.state.activatedDorasCount++; - const rinsyan = this.tsumo(); + const rinsyan = tx.tsumo(); - this.state.turn = kan.caller; + tx.state.turn = kan.caller; + + tx.commit(); return { type: 'kanned' as const, @@ -645,37 +723,39 @@ export class MasterGameEngine { callee: kan.callee, tiles: tiles, rinsyan, - turn: this.state.turn, + turn: tx.state.turn, }; } else if (pon != null && answers.pon) { - const tile = this.state.hoTiles[pon.callee].pop()!; - const t1 = this.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(0); + const tile = tx.state.hoTiles[pon.callee].pop()!; + const t1 = tx.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = this.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(1); + const t2 = tx.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(1); if (t2 == null) throw new Error('No such tile'); - this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(t1), 1); - this.state.handTiles[pon.caller].splice(this.state.handTiles[pon.caller].indexOf(t2), 1); + tx.state.handTiles[pon.caller].splice(tx.state.handTiles[pon.caller].indexOf(t1), 1); + tx.state.handTiles[pon.caller].splice(tx.state.handTiles[pon.caller].indexOf(t2), 1); const tiles = [tile, t1, t2]; - this.state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); + tx.state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); - this.state.ippatsus.e = false; - this.state.ippatsus.s = false; - this.state.ippatsus.w = false; - this.state.ippatsus.n = false; + tx.state.ippatsus.e = false; + tx.state.ippatsus.s = false; + tx.state.ippatsus.w = false; + tx.state.ippatsus.n = false; - this.state.turn = pon.caller; + tx.state.turn = pon.caller; + + tx.commit(); return { type: 'ponned' as const, caller: pon.caller, callee: pon.callee, tiles: tiles, - turn: this.state.turn, + turn: tx.state.turn, }; } else if (cii != null && answers.cii) { - const tile = this.state.hoTiles[cii.callee].pop()!; + const tile = tx.state.hoTiles[cii.callee].pop()!; let tiles: [TileId, TileId, TileId]; switch (answers.cii) { @@ -684,12 +764,12 @@ export class MasterGameEngine { if (a == null) throw new Error(); const b = Common.NEXT_TILE_FOR_SHUNTSU[a]; if (b == null) throw new Error(); - const aTile = this.state.handTiles[cii.caller].find(t => $type(t) === a); + const aTile = tx.state.handTiles[cii.caller].find(t => $type(t) === a); if (aTile == null) throw new Error(); - const bTile = this.state.handTiles[cii.caller].find(t => $type(t) === b); + const bTile = tx.state.handTiles[cii.caller].find(t => $type(t) === b); if (bTile == null) throw new Error(); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(aTile), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(bTile), 1); + tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(aTile), 1); + tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(bTile), 1); tiles = [tile, aTile, bTile]; break; } @@ -698,12 +778,12 @@ export class MasterGameEngine { if (a == null) throw new Error(); const b = Common.NEXT_TILE_FOR_SHUNTSU[$type(tile)]; if (b == null) throw new Error(); - const aTile = this.state.handTiles[cii.caller].find(t => $type(t) === a); + const aTile = tx.state.handTiles[cii.caller].find(t => $type(t) === a); if (aTile == null) throw new Error(); - const bTile = this.state.handTiles[cii.caller].find(t => $type(t) === b); + const bTile = tx.state.handTiles[cii.caller].find(t => $type(t) === b); if (bTile == null) throw new Error(); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(aTile), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(bTile), 1); + tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(aTile), 1); + tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(bTile), 1); tiles = [aTile, tile, bTile]; break; } @@ -712,55 +792,59 @@ export class MasterGameEngine { if (a == null) throw new Error(); const b = Common.PREV_TILE_FOR_SHUNTSU[a]; if (b == null) throw new Error(); - const aTile = this.state.handTiles[cii.caller].find(t => $type(t) === a); + const aTile = tx.state.handTiles[cii.caller].find(t => $type(t) === a); if (aTile == null) throw new Error(); - const bTile = this.state.handTiles[cii.caller].find(t => $type(t) === b); + const bTile = tx.state.handTiles[cii.caller].find(t => $type(t) === b); if (bTile == null) throw new Error(); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(aTile), 1); - this.state.handTiles[cii.caller].splice(this.state.handTiles[cii.caller].indexOf(bTile), 1); + tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(aTile), 1); + tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(bTile), 1); tiles = [bTile, aTile, tile]; break; } } - this.state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); + tx.state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); - this.state.ippatsus.e = false; - this.state.ippatsus.s = false; - this.state.ippatsus.w = false; - this.state.ippatsus.n = false; + tx.state.ippatsus.e = false; + tx.state.ippatsus.s = false; + tx.state.ippatsus.w = false; + tx.state.ippatsus.n = false; - this.state.turn = cii.caller; + tx.state.turn = cii.caller; + + tx.commit(); return { type: 'ciied' as const, caller: cii.caller, callee: cii.callee, tiles: tiles, - turn: this.state.turn, + turn: tx.state.turn, }; - } else if (this.state.tiles.length === 0) { + } else if (tx.state.tiles.length === 0) { // 流局 - this.state.turn = null; - this.state.nextTurnAfterAsking = null; + tx.state.turn = null; + tx.state.nextTurnAfterAsking = null; - this.endKyoku(); + tx.commit(); return { type: 'ryuukyoku' as const, }; } else { - this.state.turn = this.state.nextTurnAfterAsking!; - this.state.nextTurnAfterAsking = null; + tx.state.turn = tx.state.nextTurnAfterAsking!; + tx.state.nextTurnAfterAsking = null; - const tile = this.tsumo(); + const tile = tx.tsumo(); + + tx.commit(); return { type: 'tsumo' as const, - house: this.state.turn, + house: tx.state.turn, tile, - turn: this.state.turn, + turn: tx.state.turn, }; } } @@ -802,6 +886,12 @@ export class MasterGameEngine { w: this.state.riichis.w, n: this.state.riichis.n, }, + ippatsus: { + e: this.state.ippatsus.e, + s: this.state.ippatsus.s, + w: this.state.ippatsus.w, + n: this.state.ippatsus.n, + }, points: { e: this.state.points.e, s: this.state.points.s, diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index d88e43df38..3e4fbdb894 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -58,6 +58,12 @@ export type PlayerState = { w: boolean; n: boolean; }; + ippatsus: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; points: { e: number; s: number; @@ -237,6 +243,7 @@ export class PlayerGameEngine { tsumoTile: $type(tsumoTile), ronTile: null, riichi: this.state.riichis[house], + ippatsu: this.state.ippatsus[house], })); const doraCount = Common.calcOwnedDoraCount(handTiles.map(id => $type(id)), this.state.huros[house], this.doras) + @@ -289,6 +296,7 @@ export class PlayerGameEngine { tsumoTile: null, ronTile: $type(this.state.hoTiles[callee].at(-1)!), riichi: this.state.riichis[house], + ippatsu: this.state.ippatsus[house], })); const doraCount = Common.calcOwnedDoraCount(handTiles[house].map(id => $type(id)), this.state.huros[house], this.doras) + From 894f65f754620e7a8007a98d79c8f9ca348bf9d6 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 7 Feb 2024 20:52:11 +0900 Subject: [PATCH 37/64] wip --- packages/misskey-mahjong/src/common.ts | 37 +- packages/misskey-mahjong/src/engine.master.ts | 495 +++++++++--------- 2 files changed, 289 insertions(+), 243 deletions(-) diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index f7b4e35eca..63314e522d 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -104,6 +104,9 @@ export function findTileById(tid: TileId): TileInstance | null { export type House = 'e' | 's' | 'w' | 'n'; +/** + * 暗槓を含む + */ export type Huro = { type: 'pon'; tiles: [TileId, TileId, TileId]; @@ -121,6 +124,8 @@ export type Huro = { from: House | null; // null で加槓 }; +export const CALL_HURO_TYPES = ['pon', 'cii', 'minkan'] as const; + export const NEXT_TILE_FOR_DORA_MAP: Record = { m1: 'm2', m2: 'm3', @@ -460,7 +465,7 @@ export const YAKU_DEFINITIONS = [{ isYakuman: false, calc: (state: EnvForCalcYaku) => { // 面前じゃないとダメ - if (state.huros.length !== 0) return false; + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; // 三元牌はダメ if (state.handTiles.some(t => ['haku', 'hatsu', 'chun'].includes(t))) return false; @@ -476,6 +481,36 @@ export const YAKU_DEFINITIONS = [{ if (horaSet.mentsus.some((mentsu) => mentsu[0] === mentsu[1])) return false; }); }, +}, { + name: 'iipeko', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku) => { + // 面前じゃないとダメ + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + + const horaSets = getHoraSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + return horaSets.some(horaSet => { + // 同じ順子が2つあるか? + return horaSet.mentsus.some((mentsu) => + horaSet.mentsus.filter((mentsu2) => + mentsu2[0] === mentsu[0] && mentsu2[1] === mentsu[1] && mentsu2[2] === mentsu[2]).length >= 2); + }); + }, +}, { + name: 'toitoi', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku) => { + if (state.huros.length > 0) { + if (state.huros.some(huro => huro.type === 'cii')) return false; + } + const horaSets = getHoraSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + return horaSets.some(horaSet => { + // 全て刻子か? + if (!horaSet.mentsus.every((mentsu) => mentsu[0] === mentsu[1])) return false; + }); + }, }]; export function fanToPoint(fan: number, isParent: boolean): number { diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index d5948fc026..e611e3bc00 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -18,72 +18,89 @@ function $type(tid: TileId): TileType { } //#endregion -class StateManager { - public state: MasterState; - private commitCallback: (state: MasterState) => void; +function shuffle(array: T): T { + let currentIndex = array.length, randomIndex; - constructor(state: MasterState, commitCallback: (state: MasterState) => void) { - this.state = structuredClone(state); + // While there remain elements to shuffle. + while (currentIndex > 0) { + // Pick a remaining element. + randomIndex = Math.floor(Math.random() * currentIndex); + currentIndex--; + + // And swap it with the current element. + [array[currentIndex], array[randomIndex]] = [ + array[randomIndex], array[currentIndex]]; + } + + return array; +} + +class StateManager { + public $state: MasterState; + private commitCallback?: (state: MasterState) => void; + + constructor(state: MasterState, commitCallback?: (state: MasterState) => void) { + this.$state = structuredClone(state); this.commitCallback = commitCallback; } - public commit() { - this.commitCallback(this.state); + public $commit() { + if (this.commitCallback) this.commitCallback(this.$state); } public get doras(): TileType[] { - return this.state.kingTiles.slice(0, this.state.activatedDorasCount) + return this.$state.kingTiles.slice(0, this.$state.activatedDorasCount) .map(id => Common.nextTileForDora($type(id))); } public get handTiles(): Record { - return this.state.handTiles; + return this.$state.handTiles; } public get handTileTypes(): Record { return { - e: this.state.handTiles.e.map(id => $type(id)), - s: this.state.handTiles.s.map(id => $type(id)), - w: this.state.handTiles.w.map(id => $type(id)), - n: this.state.handTiles.n.map(id => $type(id)), + e: this.$state.handTiles.e.map(id => $type(id)), + s: this.$state.handTiles.s.map(id => $type(id)), + w: this.$state.handTiles.w.map(id => $type(id)), + n: this.$state.handTiles.n.map(id => $type(id)), }; } public get hoTileTypes(): Record { return { - e: this.state.hoTiles.e.map(id => $type(id)), - s: this.state.hoTiles.s.map(id => $type(id)), - w: this.state.hoTiles.w.map(id => $type(id)), - n: this.state.hoTiles.n.map(id => $type(id)), + e: this.$state.hoTiles.e.map(id => $type(id)), + s: this.$state.hoTiles.s.map(id => $type(id)), + w: this.$state.hoTiles.w.map(id => $type(id)), + n: this.$state.hoTiles.n.map(id => $type(id)), }; } public get riichis(): Record { - return this.state.riichis; + return this.$state.riichis; } public get askings(): MasterState['askings'] { - return this.state.askings; + return this.$state.askings; } public get user1House(): House { - return this.state.user1House; + return this.$state.user1House; } public get user2House(): House { - return this.state.user2House; + return this.$state.user2House; } public get user3House(): House { - return this.state.user3House; + return this.$state.user3House; } public get user4House(): House { - return this.state.user4House; + return this.$state.user4House; } public get turn(): House | null { - return this.state.turn; + return this.$state.turn; } public canRon(house: House, tid: TileId): boolean { @@ -118,10 +135,10 @@ class StateManager { } public tsumo(): TileId { - const tile = this.state.tiles.pop(); + const tile = this.$state.tiles.pop(); if (tile == null) throw new Error('No tiles left'); - if (this.state.turn == null) throw new Error('Not your turn'); - this.state.handTiles[this.state.turn].push(tile); + if (this.$state.turn == null) throw new Error('Not your turn'); + this.$state.handTiles[this.$state.turn].push(tile); return tile; } } @@ -233,80 +250,72 @@ export type MasterState = { }; export class MasterGameEngine { - private state: MasterState; + private stateManager: StateManager; constructor(state: MasterState) { - this.state = state; + this.stateManager = new StateManager(state); + } + + public get $state() { + return this.stateManager.$state; } public get doras(): TileType[] { - return this.state.kingTiles.slice(0, this.state.activatedDorasCount) - .map(id => Common.nextTileForDora($type(id))); + return this.stateManager.doras; } public get handTiles(): Record { - return this.state.handTiles; + return this.stateManager.handTiles; } public get handTileTypes(): Record { - return { - e: this.state.handTiles.e.map(id => $type(id)), - s: this.state.handTiles.s.map(id => $type(id)), - w: this.state.handTiles.w.map(id => $type(id)), - n: this.state.handTiles.n.map(id => $type(id)), - }; + return this.stateManager.handTileTypes; } public get hoTileTypes(): Record { - return { - e: this.state.hoTiles.e.map(id => $type(id)), - s: this.state.hoTiles.s.map(id => $type(id)), - w: this.state.hoTiles.w.map(id => $type(id)), - n: this.state.hoTiles.n.map(id => $type(id)), - }; + return this.stateManager.hoTileTypes; } public get riichis(): Record { - return this.state.riichis; + return this.stateManager.riichis; } public get askings(): MasterState['askings'] { - return this.state.askings; + return this.stateManager.askings; } public get user1House(): House { - return this.state.user1House; + return this.stateManager.user1House; } public get user2House(): House { - return this.state.user2House; + return this.stateManager.user2House; } public get user3House(): House { - return this.state.user3House; + return this.stateManager.user3House; } public get user4House(): House { - return this.state.user4House; + return this.stateManager.user4House; } public get turn(): House | null { - return this.state.turn; + return this.stateManager.turn; } public static createInitialState(): MasterState { const ikasama: TileId[] = [125, 129, 9, 56, 57, 61, 77, 81, 85, 133, 134, 135, 121, 122]; - const tiles = [...Common.TILE_ID_MAP.keys()]; - tiles.sort(() => Math.random() - 0.5); + const tiles = shuffle([...Common.TILE_ID_MAP.keys()]); - for (const tile of ikasama) { - const index = tiles.indexOf(tile); - tiles.splice(index, 1); - } + //for (const tile of ikasama) { + // const index = tiles.indexOf(tile); + // tiles.splice(index, 1); + //} - //const eHandTiles = tiles.splice(0, 14); - const eHandTiles = ikasama; + const eHandTiles = tiles.splice(0, 14); + //const eHandTiles = ikasama; const sHandTiles = tiles.splice(0, 13); const wHandTiles = tiles.splice(0, 13); const nHandTiles = tiles.splice(0, 13); @@ -372,56 +381,58 @@ export class MasterGameEngine { public getHouse(index: 1 | 2 | 3 | 4): House { switch (index) { - case 1: return this.state.user1House; - case 2: return this.state.user2House; - case 3: return this.state.user3House; - case 4: return this.state.user4House; + case 1: return this.stateManager.user1House; + case 2: return this.stateManager.user2House; + case 3: return this.stateManager.user3House; + case 4: return this.stateManager.user4House; } } public startTransaction() { - return new StateManager(this.state, (newState) => { - this.state = newState; + return new StateManager(this.stateManager.$state, (newState) => { + this.stateManager = new StateManager(newState); }); } public commit_nextKyoku() { + const tx = this.startTransaction(); const newState = MasterGameEngine.createInitialState(); - newState.kyoku = this.state.kyoku + 1; - newState.points = this.state.points; + newState.kyoku = tx.$state.kyoku + 1; + newState.points = tx.$state.points; newState.turn = 'e'; - newState.user1House = Common.nextHouse(this.state.user1House); - newState.user2House = Common.nextHouse(this.state.user2House); - newState.user3House = Common.nextHouse(this.state.user3House); - newState.user4House = Common.nextHouse(this.state.user4House); - this.state = newState; + newState.user1House = Common.nextHouse(tx.$state.user1House); + newState.user2House = Common.nextHouse(tx.$state.user2House); + newState.user3House = Common.nextHouse(tx.$state.user3House); + newState.user4House = Common.nextHouse(tx.$state.user4House); + tx.$state = newState; + tx.$commit(); } public commit_dahai(house: House, tid: TileId, riichi = false) { const tx = this.startTransaction(); - if (tx.state.turn !== house) throw new Error('Not your turn'); + if (tx.$state.turn !== house) throw new Error('Not your turn'); if (riichi) { - if (tx.state.riichis[house]) throw new Error('Already riichi'); + if (tx.$state.riichis[house]) throw new Error('Already riichi'); const tempHandTiles = [...tx.handTileTypes[house]]; tempHandTiles.splice(tempHandTiles.indexOf($type(tid)), 1); if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); - if (tx.state.points[house] < 1000) throw new Error('Not enough points'); + if (tx.$state.points[house] < 1000) throw new Error('Not enough points'); } - const handTiles = tx.state.handTiles[house]; + const handTiles = tx.$state.handTiles[house]; if (!handTiles.includes(tid)) throw new Error('No such tile in your hand'); handTiles.splice(handTiles.indexOf(tid), 1); - tx.state.hoTiles[house].push(tid); + tx.$state.hoTiles[house].push(tid); - if (tx.state.riichis[house]) { - tx.state.ippatsus[house] = false; + if (tx.$state.riichis[house]) { + tx.$state.ippatsus[house] = false; } if (riichi) { - tx.state.riichis[house] = true; - tx.state.ippatsus[house] = true; + tx.$state.riichis[house] = true; + tx.$state.ippatsus[house] = true; } const canRonHouses: House[] = []; @@ -474,32 +485,32 @@ export class MasterGameEngine { if (canRonHouses.length > 0 || canKanHouse != null || canPonHouse != null || canCiiHouse != null) { if (canRonHouses.length > 0) { - tx.state.askings.ron = { + tx.$state.askings.ron = { callee: house, callers: canRonHouses, }; } if (canKanHouse != null) { - tx.state.askings.kan = { + tx.$state.askings.kan = { callee: house, caller: canKanHouse, }; } if (canPonHouse != null) { - tx.state.askings.pon = { + tx.$state.askings.pon = { callee: house, caller: canPonHouse, }; } if (canCiiHouse != null) { - tx.state.askings.cii = { + tx.$state.askings.cii = { callee: house, caller: canCiiHouse, }; } - tx.state.turn = null; - tx.state.nextTurnAfterAsking = Common.nextHouse(house); - tx.commit(); + tx.$state.turn = null; + tx.$state.nextTurnAfterAsking = Common.nextHouse(house); + tx.$commit(); return { asking: true as const, @@ -511,9 +522,9 @@ export class MasterGameEngine { } // 流局 - if (tx.state.tiles.length === 0) { - tx.state.turn = null; - tx.commit(); + if (tx.$state.tiles.length === 0) { + tx.$state.turn = null; + tx.$commit(); return { asking: false as const, @@ -521,38 +532,38 @@ export class MasterGameEngine { }; } - tx.state.turn = Common.nextHouse(house); + tx.$state.turn = Common.nextHouse(house); const tsumoTile = tx.tsumo(); - tx.commit(); + tx.$commit(); return { asking: false as const, tsumoTile: tsumoTile, - next: tx.state.turn, + next: tx.$state.turn, }; } public commit_kakan(house: House, tid: TileId) { const tx = this.startTransaction(); - const pon = tx.state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)); + const pon = tx.$state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)); if (pon == null) throw new Error('No such pon'); - tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(tid), 1); + tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(tid), 1); const tiles = [tid, ...pon.tiles]; - tx.state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); + tx.$state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); - tx.state.ippatsus.e = false; - tx.state.ippatsus.s = false; - tx.state.ippatsus.w = false; - tx.state.ippatsus.n = false; + tx.$state.ippatsus.e = false; + tx.$state.ippatsus.s = false; + tx.$state.ippatsus.w = false; + tx.$state.ippatsus.n = false; - tx.state.activatedDorasCount++; + tx.$state.activatedDorasCount++; const rinsyan = tx.tsumo(); - tx.commit(); + tx.$commit(); return { rinsyan, @@ -564,31 +575,31 @@ export class MasterGameEngine { public commit_ankan(house: House, tid: TileId) { const tx = this.startTransaction(); - const t1 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(0); + const t1 = tx.$state.handTiles[house].filter(t => $type(t) === $type(tid)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(1); + const t2 = tx.$state.handTiles[house].filter(t => $type(t) === $type(tid)).at(1); if (t2 == null) throw new Error('No such tile'); - const t3 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(2); + const t3 = tx.$state.handTiles[house].filter(t => $type(t) === $type(tid)).at(2); if (t3 == null) throw new Error('No such tile'); - const t4 = tx.state.handTiles[house].filter(t => $type(t) === $type(tid)).at(3); + const t4 = tx.$state.handTiles[house].filter(t => $type(t) === $type(tid)).at(3); if (t4 == null) throw new Error('No such tile'); - tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t1), 1); - tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t2), 1); - tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t3), 1); - tx.state.handTiles[house].splice(tx.state.handTiles[house].indexOf(t4), 1); + tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t1), 1); + tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t2), 1); + tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t3), 1); + tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t4), 1); const tiles = [t1, t2, t3, t4]; - tx.state.huros[house].push({ type: 'ankan', tiles: tiles }); + tx.$state.huros[house].push({ type: 'ankan', tiles: tiles }); - tx.state.ippatsus.e = false; - tx.state.ippatsus.s = false; - tx.state.ippatsus.w = false; - tx.state.ippatsus.n = false; + tx.$state.ippatsus.e = false; + tx.$state.ippatsus.s = false; + tx.$state.ippatsus.w = false; + tx.$state.ippatsus.n = false; - tx.state.activatedDorasCount++; + tx.$state.activatedDorasCount++; const rinsyan = tx.tsumo(); - tx.commit(); + tx.$commit(); return { rinsyan, @@ -603,33 +614,33 @@ export class MasterGameEngine { public commit_tsumoHora(house: House) { const tx = this.startTransaction(); - if (tx.state.turn !== house) throw new Error('Not your turn'); + if (tx.$state.turn !== house) throw new Error('Not your turn'); const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, handTiles: tx.handTileTypes[house], - huros: tx.state.huros[house], + huros: tx.$state.huros[house], tsumoTile: tx.handTileTypes[house].at(-1)!, ronTile: null, - riichi: tx.state.riichis[house], - ippatsu: tx.state.ippatsus[house], + riichi: tx.$state.riichis[house], + ippatsu: tx.$state.ippatsus[house], })); const doraCount = - Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.state.huros[house], tx.doras) + - Common.calcRedDoraCount(tx.state.handTiles[house], tx.state.huros[house]); + Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.$state.huros[house], tx.doras) + + Common.calcRedDoraCount(tx.$state.handTiles[house], tx.$state.huros[house]); const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); - tx.state.points.e += pointDeltas.e; - tx.state.points.s += pointDeltas.s; - tx.state.points.w += pointDeltas.w; - tx.state.points.n += pointDeltas.n; + tx.$state.points.e += pointDeltas.e; + tx.$state.points.s += pointDeltas.s; + tx.$state.points.w += pointDeltas.w; + tx.$state.points.n += pointDeltas.n; console.log('yakus', house, yakus); - tx.commit(); + tx.$commit(); return { - handTiles: tx.state.handTiles[house], - tsumoTile: tx.state.handTiles[house].at(-1)!, + handTiles: tx.$state.handTiles[house], + tsumoTile: tx.$state.handTiles[house].at(-1)!, }; } @@ -641,17 +652,17 @@ export class MasterGameEngine { }) { const tx = this.startTransaction(); - if (tx.state.askings.pon == null && tx.state.askings.cii == null && tx.state.askings.kan == null && tx.state.askings.ron == null) throw new Error(); + if (tx.$state.askings.pon == null && tx.$state.askings.cii == null && tx.$state.askings.kan == null && tx.$state.askings.ron == null) throw new Error(); - const pon = tx.state.askings.pon; - const cii = tx.state.askings.cii; - const kan = tx.state.askings.kan; - const ron = tx.state.askings.ron; + const pon = tx.$state.askings.pon; + const cii = tx.$state.askings.cii; + const kan = tx.$state.askings.kan; + const ron = tx.$state.askings.ron; - tx.state.askings.pon = null; - tx.state.askings.cii = null; - tx.state.askings.kan = null; - tx.state.askings.ron = null; + tx.$state.askings.pon = null; + tx.$state.askings.cii = null; + tx.$state.askings.kan = null; + tx.$state.askings.ron = null; if (ron != null && answers.ron.length > 0) { const callers = answers.ron; @@ -661,24 +672,24 @@ export class MasterGameEngine { const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ house: house, handTiles: tx.handTileTypes[house], - huros: tx.state.huros[house], + huros: tx.$state.huros[house], tsumoTile: null, ronTile: tx.hoTileTypes[callee].at(-1)!, - riichi: tx.state.riichis[house], - ippatsu: tx.state.ippatsus[house], + riichi: tx.$state.riichis[house], + ippatsu: tx.$state.ippatsus[house], })); const doraCount = - Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.state.huros[house], tx.doras) + - Common.calcRedDoraCount(tx.state.handTiles[house], tx.state.huros[house]); + Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.$state.huros[house], tx.doras) + + Common.calcRedDoraCount(tx.$state.handTiles[house], tx.$state.huros[house]); const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; const point = Common.fanToPoint(fans, house === 'e'); - tx.state.points[callee] -= point; - tx.state.points[house] += point; + tx.$state.points[callee] -= point; + tx.$state.points[house] += point; console.log('fans point', fans, point); console.log('yakus', house, yakus); } - tx.commit(); + tx.$commit(); return { type: 'ronned' as const, @@ -689,33 +700,33 @@ export class MasterGameEngine { } else if (kan != null && answers.kan) { // 大明槓 - const tile = tx.state.hoTiles[kan.callee].pop()!; - const t1 = tx.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(0); + const tile = tx.$state.hoTiles[kan.callee].pop()!; + const t1 = tx.$state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = tx.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(1); + const t2 = tx.$state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(1); if (t2 == null) throw new Error('No such tile'); - const t3 = tx.state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(2); + const t3 = tx.$state.handTiles[kan.caller].filter(t => $type(t) === $type(tile)).at(2); if (t3 == null) throw new Error('No such tile'); - tx.state.handTiles[kan.caller].splice(tx.state.handTiles[kan.caller].indexOf(t1), 1); - tx.state.handTiles[kan.caller].splice(tx.state.handTiles[kan.caller].indexOf(t2), 1); - tx.state.handTiles[kan.caller].splice(tx.state.handTiles[kan.caller].indexOf(t3), 1); + tx.$state.handTiles[kan.caller].splice(tx.$state.handTiles[kan.caller].indexOf(t1), 1); + tx.$state.handTiles[kan.caller].splice(tx.$state.handTiles[kan.caller].indexOf(t2), 1); + tx.$state.handTiles[kan.caller].splice(tx.$state.handTiles[kan.caller].indexOf(t3), 1); const tiles = [tile, t1, t2, t3]; - tx.state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); + tx.$state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); - tx.state.ippatsus.e = false; - tx.state.ippatsus.s = false; - tx.state.ippatsus.w = false; - tx.state.ippatsus.n = false; + tx.$state.ippatsus.e = false; + tx.$state.ippatsus.s = false; + tx.$state.ippatsus.w = false; + tx.$state.ippatsus.n = false; - tx.state.activatedDorasCount++; + tx.$state.activatedDorasCount++; const rinsyan = tx.tsumo(); - tx.state.turn = kan.caller; + tx.$state.turn = kan.caller; - tx.commit(); + tx.$commit(); return { type: 'kanned' as const, @@ -723,39 +734,39 @@ export class MasterGameEngine { callee: kan.callee, tiles: tiles, rinsyan, - turn: tx.state.turn, + turn: tx.$state.turn, }; } else if (pon != null && answers.pon) { - const tile = tx.state.hoTiles[pon.callee].pop()!; - const t1 = tx.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(0); + const tile = tx.$state.hoTiles[pon.callee].pop()!; + const t1 = tx.$state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(0); if (t1 == null) throw new Error('No such tile'); - const t2 = tx.state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(1); + const t2 = tx.$state.handTiles[pon.caller].filter(t => $type(t) === $type(tile)).at(1); if (t2 == null) throw new Error('No such tile'); - tx.state.handTiles[pon.caller].splice(tx.state.handTiles[pon.caller].indexOf(t1), 1); - tx.state.handTiles[pon.caller].splice(tx.state.handTiles[pon.caller].indexOf(t2), 1); + tx.$state.handTiles[pon.caller].splice(tx.$state.handTiles[pon.caller].indexOf(t1), 1); + tx.$state.handTiles[pon.caller].splice(tx.$state.handTiles[pon.caller].indexOf(t2), 1); const tiles = [tile, t1, t2]; - tx.state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); + tx.$state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); - tx.state.ippatsus.e = false; - tx.state.ippatsus.s = false; - tx.state.ippatsus.w = false; - tx.state.ippatsus.n = false; + tx.$state.ippatsus.e = false; + tx.$state.ippatsus.s = false; + tx.$state.ippatsus.w = false; + tx.$state.ippatsus.n = false; - tx.state.turn = pon.caller; + tx.$state.turn = pon.caller; - tx.commit(); + tx.$commit(); return { type: 'ponned' as const, caller: pon.caller, callee: pon.callee, tiles: tiles, - turn: tx.state.turn, + turn: tx.$state.turn, }; } else if (cii != null && answers.cii) { - const tile = tx.state.hoTiles[cii.callee].pop()!; + const tile = tx.$state.hoTiles[cii.callee].pop()!; let tiles: [TileId, TileId, TileId]; switch (answers.cii) { @@ -764,12 +775,12 @@ export class MasterGameEngine { if (a == null) throw new Error(); const b = Common.NEXT_TILE_FOR_SHUNTSU[a]; if (b == null) throw new Error(); - const aTile = tx.state.handTiles[cii.caller].find(t => $type(t) === a); + const aTile = tx.$state.handTiles[cii.caller].find(t => $type(t) === a); if (aTile == null) throw new Error(); - const bTile = tx.state.handTiles[cii.caller].find(t => $type(t) === b); + const bTile = tx.$state.handTiles[cii.caller].find(t => $type(t) === b); if (bTile == null) throw new Error(); - tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(aTile), 1); - tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(bTile), 1); + tx.$state.handTiles[cii.caller].splice(tx.$state.handTiles[cii.caller].indexOf(aTile), 1); + tx.$state.handTiles[cii.caller].splice(tx.$state.handTiles[cii.caller].indexOf(bTile), 1); tiles = [tile, aTile, bTile]; break; } @@ -778,12 +789,12 @@ export class MasterGameEngine { if (a == null) throw new Error(); const b = Common.NEXT_TILE_FOR_SHUNTSU[$type(tile)]; if (b == null) throw new Error(); - const aTile = tx.state.handTiles[cii.caller].find(t => $type(t) === a); + const aTile = tx.$state.handTiles[cii.caller].find(t => $type(t) === a); if (aTile == null) throw new Error(); - const bTile = tx.state.handTiles[cii.caller].find(t => $type(t) === b); + const bTile = tx.$state.handTiles[cii.caller].find(t => $type(t) === b); if (bTile == null) throw new Error(); - tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(aTile), 1); - tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(bTile), 1); + tx.$state.handTiles[cii.caller].splice(tx.$state.handTiles[cii.caller].indexOf(aTile), 1); + tx.$state.handTiles[cii.caller].splice(tx.$state.handTiles[cii.caller].indexOf(bTile), 1); tiles = [aTile, tile, bTile]; break; } @@ -792,59 +803,59 @@ export class MasterGameEngine { if (a == null) throw new Error(); const b = Common.PREV_TILE_FOR_SHUNTSU[a]; if (b == null) throw new Error(); - const aTile = tx.state.handTiles[cii.caller].find(t => $type(t) === a); + const aTile = tx.$state.handTiles[cii.caller].find(t => $type(t) === a); if (aTile == null) throw new Error(); - const bTile = tx.state.handTiles[cii.caller].find(t => $type(t) === b); + const bTile = tx.$state.handTiles[cii.caller].find(t => $type(t) === b); if (bTile == null) throw new Error(); - tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(aTile), 1); - tx.state.handTiles[cii.caller].splice(tx.state.handTiles[cii.caller].indexOf(bTile), 1); + tx.$state.handTiles[cii.caller].splice(tx.$state.handTiles[cii.caller].indexOf(aTile), 1); + tx.$state.handTiles[cii.caller].splice(tx.$state.handTiles[cii.caller].indexOf(bTile), 1); tiles = [bTile, aTile, tile]; break; } } - tx.state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); + tx.$state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); - tx.state.ippatsus.e = false; - tx.state.ippatsus.s = false; - tx.state.ippatsus.w = false; - tx.state.ippatsus.n = false; + tx.$state.ippatsus.e = false; + tx.$state.ippatsus.s = false; + tx.$state.ippatsus.w = false; + tx.$state.ippatsus.n = false; - tx.state.turn = cii.caller; + tx.$state.turn = cii.caller; - tx.commit(); + tx.$commit(); return { type: 'ciied' as const, caller: cii.caller, callee: cii.callee, tiles: tiles, - turn: tx.state.turn, + turn: tx.$state.turn, }; - } else if (tx.state.tiles.length === 0) { + } else if (tx.$state.tiles.length === 0) { // 流局 - tx.state.turn = null; - tx.state.nextTurnAfterAsking = null; + tx.$state.turn = null; + tx.$state.nextTurnAfterAsking = null; - tx.commit(); + tx.$commit(); return { type: 'ryuukyoku' as const, }; } else { - tx.state.turn = tx.state.nextTurnAfterAsking!; - tx.state.nextTurnAfterAsking = null; + tx.$state.turn = tx.$state.nextTurnAfterAsking!; + tx.$state.nextTurnAfterAsking = null; const tile = tx.tsumo(); - tx.commit(); + tx.$commit(); return { type: 'tsumo' as const, - house: tx.state.turn, + house: tx.$state.turn, tile, - turn: tx.state.turn, + turn: tx.$state.turn, }; } } @@ -853,53 +864,53 @@ export class MasterGameEngine { const house = this.getHouse(index); return { - user1House: this.state.user1House, - user2House: this.state.user2House, - user3House: this.state.user3House, - user4House: this.state.user4House, - round: this.state.round, - kyoku: this.state.kyoku, - turnCount: this.state.turnCount, - tilesCount: this.state.tiles.length, - doraIndicateTiles: this.state.kingTiles.slice(0, this.state.activatedDorasCount), + user1House: this.$state.user1House, + user2House: this.$state.user2House, + user3House: this.$state.user3House, + user4House: this.$state.user4House, + round: this.$state.round, + kyoku: this.$state.kyoku, + turnCount: this.$state.turnCount, + tilesCount: this.$state.tiles.length, + doraIndicateTiles: this.$state.kingTiles.slice(0, this.$state.activatedDorasCount), handTiles: { - e: house === 'e' ? this.state.handTiles.e : this.state.handTiles.e.map(() => 0), - s: house === 's' ? this.state.handTiles.s : this.state.handTiles.s.map(() => 0), - w: house === 'w' ? this.state.handTiles.w : this.state.handTiles.w.map(() => 0), - n: house === 'n' ? this.state.handTiles.n : this.state.handTiles.n.map(() => 0), + e: house === 'e' ? this.$state.handTiles.e : this.$state.handTiles.e.map(() => 0), + s: house === 's' ? this.$state.handTiles.s : this.$state.handTiles.s.map(() => 0), + w: house === 'w' ? this.$state.handTiles.w : this.$state.handTiles.w.map(() => 0), + n: house === 'n' ? this.$state.handTiles.n : this.$state.handTiles.n.map(() => 0), }, hoTiles: { - e: this.state.hoTiles.e, - s: this.state.hoTiles.s, - w: this.state.hoTiles.w, - n: this.state.hoTiles.n, + e: this.$state.hoTiles.e, + s: this.$state.hoTiles.s, + w: this.$state.hoTiles.w, + n: this.$state.hoTiles.n, }, huros: { - e: this.state.huros.e, - s: this.state.huros.s, - w: this.state.huros.w, - n: this.state.huros.n, + e: this.$state.huros.e, + s: this.$state.huros.s, + w: this.$state.huros.w, + n: this.$state.huros.n, }, riichis: { - e: this.state.riichis.e, - s: this.state.riichis.s, - w: this.state.riichis.w, - n: this.state.riichis.n, + e: this.$state.riichis.e, + s: this.$state.riichis.s, + w: this.$state.riichis.w, + n: this.$state.riichis.n, }, ippatsus: { - e: this.state.ippatsus.e, - s: this.state.ippatsus.s, - w: this.state.ippatsus.w, - n: this.state.ippatsus.n, + e: this.$state.ippatsus.e, + s: this.$state.ippatsus.s, + w: this.$state.ippatsus.w, + n: this.$state.ippatsus.n, }, points: { - e: this.state.points.e, - s: this.state.points.s, - w: this.state.points.w, - n: this.state.points.n, + e: this.$state.points.e, + s: this.$state.points.s, + w: this.$state.points.w, + n: this.$state.points.n, }, latestDahaiedTile: null, - turn: this.state.turn, + turn: this.$state.turn, }; } @@ -920,7 +931,7 @@ export class MasterGameEngine { } public getState(): MasterState { - return structuredClone(this.state); + return structuredClone(this.$state); } } From bb042b46ac967a6a94bfbd97cb9b4310ff7431e4 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 9 Feb 2024 15:42:33 +0900 Subject: [PATCH 38/64] wip --- packages/backend/src/core/MahjongService.ts | 3 +- .../frontend/src/pages/mahjong/room.game.vue | 2 +- packages/misskey-mahjong/src/common.ts | 47 ++++++++++++++++--- packages/misskey-mahjong/src/engine.master.ts | 3 +- packages/misskey-mahjong/src/engine.player.ts | 2 +- 5 files changed, 44 insertions(+), 13 deletions(-) diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index ca8c2f685e..98803590e6 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -657,8 +657,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (mj.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り - const horaSets = Mmj.getHoraSets(mj.handTileTypes[house]); - if (horaSets.length === 0) { + if (!Mmj.canHora(mj.handTileTypes[house])) { setTimeout(() => { this.dahai(room, mj, house, mj.handTiles[house].at(-1)); }, 500); diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index a0d50c3330..7de89858ad 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -292,7 +292,7 @@ const isMyTurn = computed(() => { }); const canHora = computed(() => { - return Mmj.getHoraSets(mj.value.myHandTileTypes).length > 0; + return Mmj.canHora(mj.value.myHandTileTypes).length; }); const selectableTiles = ref(null); diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 63314e522d..2278a2e81f 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -237,6 +237,8 @@ export const PREV_TILE_FOR_SHUNTSU: Record = { chun: null, }; +const KOKUSHI_TILES: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; + type EnvForCalcYaku = { house: House; @@ -471,7 +473,7 @@ export const YAKU_DEFINITIONS = [{ // TODO: 両面待ちかどうか - const horaSets = getHoraSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + const horaSets = analyze1head3mentsuSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); return horaSets.some(horaSet => { // 風牌判定(役牌でなければOK) if (horaSet.head === state.seatWind) return false; @@ -489,7 +491,7 @@ export const YAKU_DEFINITIONS = [{ // 面前じゃないとダメ if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; - const horaSets = getHoraSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + const horaSets = analyze1head3mentsuSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); return horaSets.some(horaSet => { // 同じ順子が2つあるか? return horaSet.mentsus.some((mentsu) => @@ -505,12 +507,26 @@ export const YAKU_DEFINITIONS = [{ if (state.huros.length > 0) { if (state.huros.some(huro => huro.type === 'cii')) return false; } - const horaSets = getHoraSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + const horaSets = analyze1head3mentsuSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); return horaSets.some(horaSet => { // 全て刻子か? if (!horaSet.mentsus.every((mentsu) => mentsu[0] === mentsu[1])) return false; }); }, +}, { + name: 'chitoitsu', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku) => { + return isChitoitsu(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + }, +}, { + name: 'kokushi', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku) => { + return isKokushi(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); + }, }]; export function fanToPoint(fan: number, isParent: boolean): number { @@ -709,7 +725,7 @@ function extractShuntsus(tiles: TileType[]): [TileType, TileType, TileType][] { * @param handTiles ポン、チー、カンした牌を含まない手牌 * @returns */ -export function getHoraSets(handTiles: TileType[]): HoraSet[] { +function analyze1head3mentsuSets(handTiles: TileType[]): HoraSet[] { const horaSets: HoraSet[] = []; const headSet: TileType[] = []; @@ -808,6 +824,14 @@ export function getHoraSets(handTiles: TileType[]): HoraSet[] { return horaSets; } +export function canHora(handTiles: TileType[]): boolean { + if (isKokushi(handTiles)) return true; + if (isChitoitsu(handTiles)) return true; + + const horaSets = analyze1head3mentsuSets(handTiles); + return horaSets.length > 0; +} + /** * アガリ牌リストを取得 * @param handTiles ポン、チー、カンした牌を含まない手牌 @@ -815,14 +839,23 @@ export function getHoraSets(handTiles: TileType[]): HoraSet[] { export function getHoraTiles(handTiles: TileType[]): TileType[] { return TILE_TYPES.filter(tile => { const tempHandTiles = [...handTiles, tile]; - const horaSets = getHoraSets(tempHandTiles); + const horaSets = analyze1head3mentsuSets(tempHandTiles); return horaSets.length > 0; }); } -// TODO: 国士無双判定関数 +function isKokushi(handTiles: TileType[]): boolean { + return KOKUSHI_TILES.every(t => handTiles.includes(t)); +} -// TODO: 七対子判定関数 +function isChitoitsu(handTiles: TileType[]): boolean { + const countMap = new Map(); + for (const tile of handTiles) { + const count = (countMap.get(tile) ?? 0) + 1; + countMap.set(tile, count); + } + return Array.from(countMap.values()).every(c => c === 2); +} export function getTilesForRiichi(handTiles: TileType[]): TileType[] { return handTiles.filter(tile => { diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index e611e3bc00..8821192867 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -108,8 +108,7 @@ class StateManager { // TODO: ポンされるなどして自分の河にない場合の考慮 if (this.hoTileTypes[house].includes($type(tid))) return false; - const horaSets = Common.getHoraSets(this.handTileTypes[house].concat($type(tid))); - if (horaSets.length === 0) return false; // 完成形じゃない + if (!Common.canHora(this.handTileTypes[house].concat($type(tid)))) return false; // 完成形じゃない // TODO //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 3e4fbdb894..d1a9094133 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -218,7 +218,7 @@ export class PlayerGameEngine { if (house === this.myHouse) { } else { - const canRon = Common.getHoraSets(this.myHandTiles.concat(tid).map(id => $type(id))).length > 0; + const canRon = Common.canHora(this.myHandTiles.concat(tid).map(id => $type(id))); const canPon = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tid)).length === 2; const canKan = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tid)).length === 3; const canCii = !this.isMeRiichi && house === Common.prevHouse(this.myHouse) && From c47203b8887e8d6eaba17d83b8c0230c50f74905 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 11 Feb 2024 12:45:50 +0900 Subject: [PATCH 39/64] wip --- locales/ja-JP.yml | 2 +- packages/backend/src/core/MahjongService.ts | 2 +- .../frontend/src/pages/mahjong/room.game.vue | 81 +- packages/misskey-mahjong/jest.config.cjs | 212 +++++ packages/misskey-mahjong/package.json | 12 +- packages/misskey-mahjong/src/common.ts | 441 +++-------- packages/misskey-mahjong/src/common.yaku.ts | 730 ++++++++++++++++++ packages/misskey-mahjong/src/engine.master.ts | 4 +- packages/misskey-mahjong/src/engine.player.ts | 6 +- packages/misskey-mahjong/test/yaku.ts | 20 + packages/misskey-mahjong/tsconfig.json | 3 +- pnpm-lock.yaml | 76 +- 12 files changed, 1236 insertions(+), 353 deletions(-) create mode 100644 packages/misskey-mahjong/jest.config.cjs create mode 100644 packages/misskey-mahjong/src/common.yaku.ts create mode 100644 packages/misskey-mahjong/test/yaku.ts diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 632b82b7ef..2f89bb022f 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2631,7 +2631,7 @@ _mahjong: "chinroto": "清老頭" "sukantsu": "四槓子" "churen": "九蓮宝燈" - "pure-churen": "純正九連宝灯" + "churen-9": "九連宝灯九面待" "tenho": "天和" "chiho": "地和" diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index 98803590e6..e8e73d4155 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -657,7 +657,7 @@ export class MahjongService implements OnApplicationShutdown, OnModuleInit { if (mj.riichis[house]) { // リーチ時はアガリ牌でない限りツモ切り - if (!Mmj.canHora(mj.handTileTypes[house])) { + if (!Mmj.isAgarikei(mj.handTileTypes[house])) { setTimeout(() => { this.dahai(room, mj, house, mj.handTiles[house].at(-1)); }, 500); diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 7de89858ad..6d42883454 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -123,6 +123,33 @@ SPDX-License-Identifier: AGPL-3.0-only
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    @@ -292,9 +319,16 @@ const isMyTurn = computed(() => { }); const canHora = computed(() => { - return Mmj.canHora(mj.value.myHandTileTypes).length; + return Mmj.isAgarikei(mj.value.myHandTileTypes); }); +const users = computed(() => ({ + e: houseToUser('e'), + s: houseToUser('s'), + w: houseToUser('w'), + n: houseToUser('n'), +})); + const selectableTiles = ref(null); const ronSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); const ciiSerifHouses = reactive>({ e: false, s: false, w: false, n: false }); @@ -801,7 +835,7 @@ onUnmounted(() => { position: relative; width: 100%; height: 100%; - max-width: 800px; + max-width: 600px; min-height: 600px; margin: auto; box-sizing: border-box; @@ -947,7 +981,7 @@ onUnmounted(() => { .handTilesOfToimen { position: absolute; top: 0; - left: 80px; + right: 40px; } .handTileImgOfToimen { display: inline-block; @@ -963,14 +997,14 @@ onUnmounted(() => { .handTilesOfSimotya { position: absolute; - top: 80px; + bottom: 80px; right: 0; } .handTilesOfMe { position: absolute; bottom: 0; - left: 80px; + left: 0px; } .huroTilesOfMe { @@ -1066,6 +1100,43 @@ onUnmounted(() => { grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; } +.playersContainer { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 100; + pointer-events: none; +} +.player { + position: absolute; + margin: auto; + width: 180px; + height: min-content; + padding: 10px; + box-sizing: border-box; + background: #0009; + color: #fff; + border-radius: 5px; + font-size: 90%; +} +.playerOfToimen { + top: 0; + left: 0; + right: 0; +} +.playerOfKamitya { + top: 0; + left: 0; + bottom: 0; +} +.playerOfSimotya { + top: 0; + right: 0; + bottom: 0; +} + .serifContainer { position: absolute; top: 0; diff --git a/packages/misskey-mahjong/jest.config.cjs b/packages/misskey-mahjong/jest.config.cjs new file mode 100644 index 0000000000..4c87106bd6 --- /dev/null +++ b/packages/misskey-mahjong/jest.config.cjs @@ -0,0 +1,212 @@ +/* +* For a detailed explanation regarding each configuration property and type check, visit: +* https://jestjs.io/docs/en/configuration.html +*/ + +module.exports = { + // All imported modules in your tests should be mocked automatically + // automock: false, + + // Stop running tests after `n` failures + // bail: 0, + + // The directory where Jest should store its cached dependency information + // cacheDirectory: "C:\\Users\\ai\\AppData\\Local\\Temp\\jest", + + // Automatically clear mock calls and instances between every test + // clearMocks: false, + + // Indicates whether the coverage information should be collected while executing the test + // collectCoverage: false, + + // An array of glob patterns indicating a set of files for which coverage information should be collected + collectCoverageFrom: ['src/**/*.ts'], + + // The directory where Jest should output its coverage files + coverageDirectory: "coverage", + + // An array of regexp pattern strings used to skip coverage collection + // coveragePathIgnorePatterns: [ + // "\\\\node_modules\\\\" + // ], + + // Indicates which provider should be used to instrument code for coverage + coverageProvider: "v8", + + // A list of reporter names that Jest uses when writing coverage reports + // coverageReporters: [ + // "json", + // "text", + // "lcov", + // "clover" + // ], + + // An object that configures minimum threshold enforcement for coverage results + // coverageThreshold: undefined, + + // A path to a custom dependency extractor + // dependencyExtractor: undefined, + + // Make calling deprecated APIs throw helpful error messages + // errorOnDeprecated: false, + + // Force coverage collection from ignored files using an array of glob patterns + // forceCoverageMatch: [], + + // A path to a module which exports an async function that is triggered once before all test suites + // globalSetup: undefined, + + // A path to a module which exports an async function that is triggered once after all test suites + // globalTeardown: undefined, + + // A set of global variables that need to be available in all test environments + //globals: { + //"ts-jest": { + //"useESM": true, + //diagnostics: { + //exclude: ['!test/**/*.ts'], + //}, + //} + //}, + + // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. + // maxWorkers: "50%", + + // An array of directory names to be searched recursively up from the requiring module's location + // moduleDirectories: [ + // "node_modules" + // ], + + // An array of file extensions your modules use + // moduleFileExtensions: [ + // "js", + // "json", + // "jsx", + // "ts", + // "tsx", + // "node" + // ], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + // moduleNameMapper: {}, + + // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader + // modulePathIgnorePatterns: [], + + // Activates notifications for test results + // notify: false, + + // An enum that specifies notification mode. Requires { notify: true } + // notifyMode: "failure-change", + + // A preset that is used as a base for Jest's configuration + preset: "ts-jest/presets/js-with-ts-esm", + + // Run tests from one or more projects + // projects: undefined, + + // Use this configuration option to add custom reporters to Jest + // reporters: undefined, + + // Automatically reset mock state between every test + // resetMocks: false, + + // Reset the module registry before running each individual test + // resetModules: false, + + // A path to a custom resolver + resolver: "ts-jest-resolver", + + // Automatically restore mock state between every test + // restoreMocks: false, + + // The root directory that Jest should scan for tests and modules within + // rootDir: undefined, + + // A list of paths to directories that Jest should use to search for files in + roots: [ + "" + ], + + // Allows you to use a custom runner instead of Jest's default test runner + // runner: "jest-runner", + + // The paths to modules that run some code to configure or set up the testing environment before each test + // setupFiles: [], + + // A list of paths to modules that run some code to configure or set up the testing framework before each test + // setupFilesAfterEnv: [], + + // The number of seconds after which a test is considered as slow and reported as such in the results. + // slowTestThreshold: 5, + + // A list of paths to snapshot serializer modules Jest should use for snapshot testing + // snapshotSerializers: [], + + // The test environment that will be used for testing + testEnvironment: "node", + + // Options that will be passed to the testEnvironment + // testEnvironmentOptions: {}, + + // Adds a location field to test results + // testLocationInResults: false, + + // The glob patterns Jest uses to detect test files + testMatch: [ + "**/__tests__/**/*.[jt]s?(x)", + "**/?(*.)+(spec|test).[tj]s?(x)", + "/test/**/*" + ], + + // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped + // testPathIgnorePatterns: [ + // "\\\\node_modules\\\\" + // ], + + // The regexp pattern or array of patterns that Jest uses to detect test files + // testRegex: [], + + // This option allows the use of a custom results processor + // testResultsProcessor: undefined, + + // This option allows use of a custom test runner + // testRunner: "jasmine2", + + // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href + // testURL: "http://localhost", + + // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout" + // timers: "real", + + // A map from regular expressions to paths to transformers + transform: { + "^.+\\.(ts|tsx)$": [ + "ts-jest", + { + "useESM": true, + diagnostics: { + exclude: ['!test/**/*.ts'], + }, + }, + ], + }, + + // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation + // transformIgnorePatterns: [ + // "\\\\node_modules\\\\", + // "\\.pnp\\.[^\\\\]+$" + // ], + + // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them + // unmockedModulePathPatterns: undefined, + + // Indicates whether each individual test should be reported during the run + // verbose: undefined, + + // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode + // watchPathIgnorePatterns: [], + + // Whether to use watchman for file crawling + // watchman: true +}; diff --git a/packages/misskey-mahjong/package.json b/packages/misskey-mahjong/package.json index a7942b6475..f6b9f79cfb 100644 --- a/packages/misskey-mahjong/package.json +++ b/packages/misskey-mahjong/package.json @@ -22,16 +22,22 @@ "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"", "eslint": "eslint . --ext .js,.jsx,.ts,.tsx", "typecheck": "tsc --noEmit", - "lint": "pnpm typecheck && pnpm eslint" + "lint": "pnpm typecheck && pnpm eslint", + "jest": "jest --coverage --detectOpenHandles", + "test": "npm run jest" }, "devDependencies": { "@misskey-dev/eslint-plugin": "1.0.0", - "@types/node": "20.11.5", + "@types/node": "20.11.17", + "@types/jest": "29.5.12", "@typescript-eslint/eslint-plugin": "6.18.1", "@typescript-eslint/parser": "6.18.1", "eslint": "8.56.0", "nodemon": "3.0.2", - "typescript": "5.3.3" + "typescript": "5.3.3", + "jest": "29.7.0", + "ts-jest": "29.1.2", + "ts-jest-resolver": "2.0.1" }, "files": [ "built" diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 2278a2e81f..a90fb15c56 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -237,297 +237,68 @@ export const PREV_TILE_FOR_SHUNTSU: Record = { chun: null, }; -const KOKUSHI_TILES: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; - -type EnvForCalcYaku = { - house: House; - - /** - * 和了る人の手牌(副露牌および和了る際のツモ牌・ロン牌は含まない) - */ - handTiles: TileType[]; - - /** - * 河 - */ - hoTiles: TileType[]; - - /** - * 副露 - */ - huros: Huro[]; - - /** - * ツモ牌 - */ - tsumoTile: TileType | null; - - /** - * ロン牌 - */ - ronTile: TileType | null; - - /** - * ドラ表示牌 - */ - doraTiles: TileType[]; - - /** - * 赤ドラ表示牌 - */ - redDoraTiles: TileType[]; - - /** - * 場風 - */ - fieldWind: House; - - /** - * 自風 - */ - seatWind: House; - - /** - * リーチしたかどうか - */ - riichi: boolean; - - /** - * 一巡目以内かどうか - */ - ippatsu: boolean; +export const TILE_NUMBER_MAP: Record = { + m1: 1, + m2: 2, + m3: 3, + m4: 4, + m5: 5, + m6: 6, + m7: 7, + m8: 8, + m9: 9, + p1: 1, + p2: 2, + p3: 3, + p4: 4, + p5: 5, + p6: 6, + p7: 7, + p8: 8, + p9: 9, + s1: 1, + s2: 2, + s3: 3, + s4: 4, + s5: 5, + s6: 6, + s7: 7, + s8: 8, + s9: 9, + e: null, + s: null, + w: null, + n: null, + haku: null, + hatsu: null, + chun: null, }; -export const YAKU_DEFINITIONS = [{ - name: 'riichi', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.riichi; - }, -}, { - name: 'tsumo', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.tsumoTile != null; - }, -}, { - name: 'ippatsu', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.ippatsu; - }, -}, { - name: 'red', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return ( - (state.handTiles.filter(t => t === 'chun').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'chun' : - huro.type === 'ankan' ? huro.tile === 'chun' : - huro.type === 'minkan' ? huro.tile === 'chun' : - false).length >= 3) - ); - }, -}, { - name: 'white', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return ( - (state.handTiles.filter(t => t === 'haku').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'haku' : - huro.type === 'ankan' ? huro.tile === 'haku' : - huro.type === 'minkan' ? huro.tile === 'haku' : - false).length >= 3) - ); - }, -}, { - name: 'green', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return ( - (state.handTiles.filter(t => t === 'hatsu').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'hatsu' : - huro.type === 'ankan' ? huro.tile === 'hatsu' : - huro.type === 'minkan' ? huro.tile === 'hatsu' : - false).length >= 3) - ); - }, -}, { - name: 'field-wind-e', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.fieldWind === 'e' && ( - (state.handTiles.filter(t => t === 'e').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'e' : - huro.type === 'ankan' ? huro.tile === 'e' : - huro.type === 'minkan' ? huro.tile === 'e' : - false).length >= 3) - ); - }, -}, { - name: 'field-wind-s', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.fieldWind === 's' && ( - (state.handTiles.filter(t => t === 's').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 's' : - huro.type === 'ankan' ? huro.tile === 's' : - huro.type === 'minkan' ? huro.tile === 's' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-e', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.house === 'e' && ( - (state.handTiles.filter(t => t === 'e').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'e' : - huro.type === 'ankan' ? huro.tile === 'e' : - huro.type === 'minkan' ? huro.tile === 'e' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-s', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.house === 's' && ( - (state.handTiles.filter(t => t === 's').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 's' : - huro.type === 'ankan' ? huro.tile === 's' : - huro.type === 'minkan' ? huro.tile === 's' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-w', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.house === 'w' && ( - (state.handTiles.filter(t => t === 'w').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'w' : - huro.type === 'ankan' ? huro.tile === 'w' : - huro.type === 'minkan' ? huro.tile === 'w' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-n', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return state.house === 'n' && ( - (state.handTiles.filter(t => t === 'n').length >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'n' : - huro.type === 'ankan' ? huro.tile === 'n' : - huro.type === 'minkan' ? huro.tile === 'n' : - false).length >= 3) - ); - }, -}, { - name: 'tanyao', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - const yaochuTiles: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; - return ( - (!state.handTiles.some(t => yaochuTiles.includes(t))) && - (state.huros.filter(huro => - huro.type === 'pon' ? yaochuTiles.includes(huro.tile) : - huro.type === 'ankan' ? yaochuTiles.includes(huro.tile) : - huro.type === 'minkan' ? yaochuTiles.includes(huro.tile) : - huro.type === 'cii' ? huro.tiles.some(t2 => yaochuTiles.includes(t2)) : - false).length === 0) - ); - }, -}, { - name: 'pinfu', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; - // 三元牌はダメ - if (state.handTiles.some(t => ['haku', 'hatsu', 'chun'].includes(t))) return false; +export const MANZU_TILES = ['m1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9'] as const satisfies TileType[]; +export const PINZU_TILES = ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9'] as const satisfies TileType[]; +export const SOUZU_TILES = ['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9'] as const satisfies TileType[]; +export const CHAR_TILES = ['e', 's', 'w', 'n', 'haku', 'hatsu', 'chun'] as const satisfies TileType[]; +export const YAOCHU_TILES = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun'] as const satisfies TileType[]; +const KOKUSHI_TILES: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; - // TODO: 両面待ちかどうか +export function isManzu(tile: T): tile is typeof MANZU_TILES[number] { + return MANZU_TILES.includes(tile); +} - const horaSets = analyze1head3mentsuSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); - return horaSets.some(horaSet => { - // 風牌判定(役牌でなければOK) - if (horaSet.head === state.seatWind) return false; - if (horaSet.head === state.fieldWind) return false; +export function isPinzu(tile: T): tile is typeof PINZU_TILES[number] { + return PINZU_TILES.includes(tile); +} - // 全て順子か? - if (horaSet.mentsus.some((mentsu) => mentsu[0] === mentsu[1])) return false; - }); - }, -}, { - name: 'iipeko', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; +export function isSouzu(tile: T): tile is typeof SOUZU_TILES[number] { + return SOUZU_TILES.includes(tile); +} - const horaSets = analyze1head3mentsuSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); - return horaSets.some(horaSet => { - // 同じ順子が2つあるか? - return horaSet.mentsus.some((mentsu) => - horaSet.mentsus.filter((mentsu2) => - mentsu2[0] === mentsu[0] && mentsu2[1] === mentsu[1] && mentsu2[2] === mentsu[2]).length >= 2); - }); - }, -}, { - name: 'toitoi', - fan: 2, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - if (state.huros.length > 0) { - if (state.huros.some(huro => huro.type === 'cii')) return false; - } - const horaSets = analyze1head3mentsuSets(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); - return horaSets.some(horaSet => { - // 全て刻子か? - if (!horaSet.mentsus.every((mentsu) => mentsu[0] === mentsu[1])) return false; - }); - }, -}, { - name: 'chitoitsu', - fan: 2, - isYakuman: false, - calc: (state: EnvForCalcYaku) => { - return isChitoitsu(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); - }, -}, { - name: 'kokushi', - fan: 13, - isYakuman: true, - calc: (state: EnvForCalcYaku) => { - return isKokushi(state.handTiles.concat(state.tsumoTile ?? state.ronTile)); - }, -}]; +export function isSameNumberTile(a: TileType, b: TileType): boolean { + const aNumber = TILE_NUMBER_MAP[a]; + const bNumber = TILE_NUMBER_MAP[b]; + if (aNumber == null || bNumber == null) return false; + return aNumber === bNumber; +} export function fanToPoint(fan: number, isParent: boolean): number { let point; @@ -658,11 +429,19 @@ export function prevHouse(house: House): House { } } -type HoraSet = { +export type FourMentsuOneJyantou = { head: TileType; mentsus: [TileType, TileType, TileType][]; }; +export function isShuntu(tiles: [TileType, TileType, TileType]): boolean { + return tiles[0] !== tiles[1]; +} + +export function isKotsu(tiles: [TileType, TileType, TileType]): boolean { + return tiles[0] === tiles[1]; +} + export const SHUNTU_PATTERNS: [TileType, TileType, TileType][] = [ ['m1', 'm2', 'm3'], ['m2', 'm3', 'm4'], @@ -720,13 +499,8 @@ function extractShuntsus(tiles: TileType[]): [TileType, TileType, TileType][] { return shuntsus; } -/** - * アガリ形パターン一覧を取得 - * @param handTiles ポン、チー、カンした牌を含まない手牌 - * @returns - */ -function analyze1head3mentsuSets(handTiles: TileType[]): HoraSet[] { - const horaSets: HoraSet[] = []; +export function analyzeFourMentsuOneJyantou(handTiles: TileType[], all = true): FourMentsuOneJyantou[] { + const horaSets: FourMentsuOneJyantou[] = []; const headSet: TileType[] = []; const countMap = new Map(); @@ -817,6 +591,8 @@ function analyze1head3mentsuSets(handTiles: TileType[]): HoraSet[] { head, mentsus: [...kotsuPattern.map(t => [t, t, t] as [TileType, TileType, TileType]), ...shuntsus], }); + + if (!all) return horaSets; } } } @@ -824,48 +600,6 @@ function analyze1head3mentsuSets(handTiles: TileType[]): HoraSet[] { return horaSets; } -export function canHora(handTiles: TileType[]): boolean { - if (isKokushi(handTiles)) return true; - if (isChitoitsu(handTiles)) return true; - - const horaSets = analyze1head3mentsuSets(handTiles); - return horaSets.length > 0; -} - -/** - * アガリ牌リストを取得 - * @param handTiles ポン、チー、カンした牌を含まない手牌 - */ -export function getHoraTiles(handTiles: TileType[]): TileType[] { - return TILE_TYPES.filter(tile => { - const tempHandTiles = [...handTiles, tile]; - const horaSets = analyze1head3mentsuSets(tempHandTiles); - return horaSets.length > 0; - }); -} - -function isKokushi(handTiles: TileType[]): boolean { - return KOKUSHI_TILES.every(t => handTiles.includes(t)); -} - -function isChitoitsu(handTiles: TileType[]): boolean { - const countMap = new Map(); - for (const tile of handTiles) { - const count = (countMap.get(tile) ?? 0) + 1; - countMap.set(tile, count); - } - return Array.from(countMap.values()).every(c => c === 2); -} - -export function getTilesForRiichi(handTiles: TileType[]): TileType[] { - return handTiles.filter(tile => { - const tempHandTiles = [...handTiles]; - tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); - const horaTiles = getHoraTiles(tempHandTiles); - return horaTiles.length > 0; - }); -} - export function nextTileForDora(tile: TileType): TileType { return NEXT_TILE_FOR_DORA_MAP[tile]; } @@ -893,3 +627,40 @@ export function getAvailableCiiPatterns(handTiles: TileType[], targetTile: TileT } return patterns; } + +function isKokushiPattern(handTiles: TileType[]): boolean { + return KOKUSHI_TILES.every(t => handTiles.includes(t)); +} + +function isChitoitsuPattern(handTiles: TileType[]): boolean { + if (handTiles.length !== 14) return false; + const countMap = new Map(); + for (const tile of handTiles) { + const count = (countMap.get(tile) ?? 0) + 1; + countMap.set(tile, count); + } + return Array.from(countMap.values()).every(c => c === 2); +} + +export function isAgarikei(handTiles: TileType[]): boolean { + if (isKokushiPattern(handTiles)) return true; + if (isChitoitsuPattern(handTiles)) return true; + + const agarikeis = analyzeFourMentsuOneJyantou(handTiles, false); + return agarikeis.length > 0; +} + +export function isTenpai(handTiles: TileType[]): boolean { + return TILE_TYPES.some(tile => { + const tempHandTiles = [...handTiles, tile]; + return isAgarikei(tempHandTiles); + }); +} + +export function getTilesForRiichi(handTiles: TileType[]): TileType[] { + return handTiles.filter(tile => { + const tempHandTiles = [...handTiles]; + tempHandTiles.splice(tempHandTiles.indexOf(tile), 1); + return isTenpai(tempHandTiles); + }); +} diff --git a/packages/misskey-mahjong/src/common.yaku.ts b/packages/misskey-mahjong/src/common.yaku.ts new file mode 100644 index 0000000000..c993bd5ae8 --- /dev/null +++ b/packages/misskey-mahjong/src/common.yaku.ts @@ -0,0 +1,730 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { CALL_HURO_TYPES, CHAR_TILES, FourMentsuOneJyantou, House, MANZU_TILES, PINZU_TILES, SOUZU_TILES, TileType, YAOCHU_TILES, TILE_TYPES, analyzeFourMentsuOneJyantou, isShuntu, isManzu, isPinzu, isSameNumberTile, isSouzu, isKotsu } from './common.js'; + +const RYUISO_TILES: TileType[] = ['s2', 's3', 's4', 's6', 's8', 'hatsu']; +const KOKUSHI_TILES: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; + +export const NORMAL_YAKU_NAMES = [ + 'riichi', + 'ippatsu', + 'tsumo', + 'tanyao', + 'pinfu', + 'iipeko', + 'field-wind', + 'seat-wind', + 'white', + 'green', + 'red', + 'rinshan', + 'chankan', + 'haitei', + 'hotei', + 'sanshoku-dojun', + 'sanshoku-doko', + 'ittsu', + 'chanta', + 'chitoitsu', + 'toitoi', + 'sananko', + 'honroto', + 'sankantsu', + 'shosangen', + 'double-riichi', + 'honitsu', + 'junchan', + 'ryampeko', + 'chinitsu', + 'dora', + 'red-dora', +] as const; + +export const YAKUMAN_NAMES = [ + 'kokushi', + 'kokushi-13', + 'suanko', + 'suanko-tanki', + 'daisangen', + 'tsuiso', + 'shosushi', + 'daisushi', + 'ryuiso', + 'chinroto', + 'sukantsu', + 'churen', + 'churen-9', + 'tenho', + 'chiho', +] as const; + +export type YakuName = typeof NORMAL_YAKU_NAMES[number] | typeof YAKUMAN_NAMES[number]; + +export type EnvForCalcYaku = { + house: House; + + /** + * 和了る人の手牌(副露牌は含まず、ツモ、ロン牌は含む) + */ + handTiles: TileType[]; + + tenpaiTiles: TileType[]; + + /** + * 河 + */ + hoTiles: TileType[]; + + /** + * 副露 + */ + huros: ({ + type: 'pon'; + tile: TileType; + } | { + type: 'cii'; + tiles: [TileType, TileType, TileType]; + } | { + type: 'ankan'; + tile: TileType; + } | { + type: 'minkan'; + tile: TileType; + })[]; + + tsumoTile: TileType; + ronTile: TileType; + + /** + * 場風 + */ + fieldWind: House; + + /** + * 自風 + */ + seatWind: House; + + /** + * リーチしたかどうか + */ + riichi: boolean; + + /** + * 一巡目以内かどうか + */ + ippatsu: boolean; +}; + +type YakuDefiniyion = { + name: YakuName; + fan: number; + isYakuman?: boolean; + kuisagari?: boolean; + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => boolean; +}; + +function countTiles(tiles: TileType[], target: TileType): number { + return tiles.filter(t => t === target).length; +} + +export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ + name: 'tsumo', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + // 面前じゃないとダメ + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + + return state.isTsumo; + }, +}, { + name: 'riichi', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + return state.riichi; + }, +}, { + name: 'ippatsu', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + return state.ippatsu; + }, +}, { + name: 'red', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return ( + (countTiles(state.handTiles, 'chun') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'chun' : + huro.type === 'ankan' ? huro.tile === 'chun' : + huro.type === 'minkan' ? huro.tile === 'chun' : + false).length >= 3) + ); + }, +}, { + name: 'white', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return ( + (countTiles(state.handTiles, 'haku') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'haku' : + huro.type === 'ankan' ? huro.tile === 'haku' : + huro.type === 'minkan' ? huro.tile === 'haku' : + false).length >= 3) + ); + }, +}, { + name: 'green', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return ( + (countTiles(state.handTiles, 'hatsu') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'hatsu' : + huro.type === 'ankan' ? huro.tile === 'hatsu' : + huro.type === 'minkan' ? huro.tile === 'hatsu' : + false).length >= 3) + ); + }, +}, { + name: 'field-wind-e', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return state.fieldWind === 'e' && ( + (countTiles(state.handTiles, 'e') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'e' : + huro.type === 'ankan' ? huro.tile === 'e' : + huro.type === 'minkan' ? huro.tile === 'e' : + false).length >= 3) + ); + }, +}, { + name: 'field-wind-s', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return state.fieldWind === 's' && ( + (countTiles(state.handTiles, 's') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 's' : + huro.type === 'ankan' ? huro.tile === 's' : + huro.type === 'minkan' ? huro.tile === 's' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-e', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return state.house === 'e' && ( + (countTiles(state.handTiles, 'e') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'e' : + huro.type === 'ankan' ? huro.tile === 'e' : + huro.type === 'minkan' ? huro.tile === 'e' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-s', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return state.house === 's' && ( + (countTiles(state.handTiles, 's') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 's' : + huro.type === 'ankan' ? huro.tile === 's' : + huro.type === 'minkan' ? huro.tile === 's' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-w', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return state.house === 'w' && ( + (countTiles(state.handTiles, 'w') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'w' : + huro.type === 'ankan' ? huro.tile === 'w' : + huro.type === 'minkan' ? huro.tile === 'w' : + false).length >= 3) + ); + }, +}, { + name: 'seat-wind-n', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return state.house === 'n' && ( + (countTiles(state.handTiles, 'n') >= 3) || + (state.huros.filter(huro => + huro.type === 'pon' ? huro.tile === 'n' : + huro.type === 'ankan' ? huro.tile === 'n' : + huro.type === 'minkan' ? huro.tile === 'n' : + false).length >= 3) + ); + }, +}, { + name: 'tanyao', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + return ( + (!state.handTiles.some(t => YAOCHU_TILES.includes(t))) && + (state.huros.filter(huro => + huro.type === 'pon' ? YAOCHU_TILES.includes(huro.tile) : + huro.type === 'ankan' ? YAOCHU_TILES.includes(huro.tile) : + huro.type === 'minkan' ? YAOCHU_TILES.includes(huro.tile) : + huro.type === 'cii' ? huro.tiles.some(t2 => YAOCHU_TILES.includes(t2)) : + false).length === 0) + ); + }, +}, { + name: 'pinfu', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + // 面前じゃないとダメ + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + // 三元牌はダメ + if (state.handTiles.some(t => ['haku', 'hatsu', 'chun'].includes(t))) return false; + + // TODO: 両面待ちかどうか + + // 風牌判定(役牌でなければOK) + if (fourMentsuOneJyantou.head === state.seatWind) return false; + if (fourMentsuOneJyantou.head === state.fieldWind) return false; + + // 全て順子か? + if (fourMentsuOneJyantou.mentsus.some((mentsu) => mentsu[0] === mentsu[1])) return false; + + return true; + }, +}, { + name: 'honitsu', + fan: 3, + isYakuman: false, + kuisagari: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const tiles = state.handTiles; + let manzuCount = tiles.filter(t => MANZU_TILES.includes(t)).length; + let pinzuCount = tiles.filter(t => PINZU_TILES.includes(t)).length; + let souzuCount = tiles.filter(t => SOUZU_TILES.includes(t)).length; + let charCount = tiles.filter(t => CHAR_TILES.includes(t)).length; + + for (const huro of state.huros) { + const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; + manzuCount += huroTiles.filter(t => MANZU_TILES.includes(t)).length; + pinzuCount += huroTiles.filter(t => PINZU_TILES.includes(t)).length; + souzuCount += huroTiles.filter(t => SOUZU_TILES.includes(t)).length; + charCount += huroTiles.filter(t => CHAR_TILES.includes(t)).length; + } + + if (manzuCount > 0 && pinzuCount > 0) return false; + if (manzuCount > 0 && souzuCount > 0) return false; + if (pinzuCount > 0 && souzuCount > 0) return false; + if (charCount === 0) return false; + + return true; + }, +}, { + name: 'chinitsu', + fan: 6, + isYakuman: false, + kuisagari: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const tiles = state.handTiles; + let manzuCount = tiles.filter(t => MANZU_TILES.includes(t)).length; + let pinzuCount = tiles.filter(t => PINZU_TILES.includes(t)).length; + let souzuCount = tiles.filter(t => SOUZU_TILES.includes(t)).length; + let charCount = tiles.filter(t => CHAR_TILES.includes(t)).length; + + for (const huro of state.huros) { + const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; + manzuCount += huroTiles.filter(t => MANZU_TILES.includes(t)).length; + pinzuCount += huroTiles.filter(t => PINZU_TILES.includes(t)).length; + souzuCount += huroTiles.filter(t => SOUZU_TILES.includes(t)).length; + charCount += huroTiles.filter(t => CHAR_TILES.includes(t)).length; + } + + if (charCount > 0) return false; + if (manzuCount > 0 && pinzuCount > 0) return false; + if (manzuCount > 0 && souzuCount > 0) return false; + if (pinzuCount > 0 && souzuCount > 0) return false; + + return true; + }, +}, { + name: 'iipeko', + fan: 1, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + // 面前じゃないとダメ + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + + // 同じ順子が2つあるか? + return fourMentsuOneJyantou.mentsus.some((mentsu) => + fourMentsuOneJyantou.mentsus.filter((mentsu2) => + mentsu2[0] === mentsu[0] && mentsu2[1] === mentsu[1] && mentsu2[2] === mentsu[2]).length >= 2); + }, +}, { + name: 'toitoi', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + if (state.huros.length > 0) { + if (state.huros.some(huro => huro.type === 'cii')) return false; + } + + // 全て刻子か? + if (!fourMentsuOneJyantou.mentsus.every((mentsu) => mentsu[0] === mentsu[1])) return false; + + return true; + }, +}, { + name: 'sananko', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + + }, +}, { + name: 'sanshoku-dojun', + fan: 2, + isYakuman: false, + kuisagari: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const shuntsus = fourMentsuOneJyantou.mentsus.filter(tiles => isShuntu(tiles)); + + for (const shuntsu of shuntsus) { + if (isManzu(shuntsu[0])) { + if (shuntsus.some(tiles => isPinzu(tiles[0]) && isSameNumberTile(tiles[0], shuntsu[0]) && isSameNumberTile(tiles[1], shuntsu[1]) && isSameNumberTile(tiles[2], shuntsu[2]))) { + if (shuntsus.some(tiles => isSouzu(tiles[0]) && isSameNumberTile(tiles[0], shuntsu[0]) && isSameNumberTile(tiles[1], shuntsu[1]) && isSameNumberTile(tiles[2], shuntsu[2]))) { + return true; + } + } + } else if (isPinzu(shuntsu[0])) { + if (shuntsus.some(tiles => isManzu(tiles[0]) && isSameNumberTile(tiles[0], shuntsu[0]) && isSameNumberTile(tiles[1], shuntsu[1]) && isSameNumberTile(tiles[2], shuntsu[2]))) { + if (shuntsus.some(tiles => isSouzu(tiles[0]) && isSameNumberTile(tiles[0], shuntsu[0]) && isSameNumberTile(tiles[1], shuntsu[1]) && isSameNumberTile(tiles[2], shuntsu[2]))) { + return true; + } + } + } else if (isSouzu(shuntsu[0])) { + if (shuntsus.some(tiles => isManzu(tiles[0]) && isSameNumberTile(tiles[0], shuntsu[0]) && isSameNumberTile(tiles[1], shuntsu[1]) && isSameNumberTile(tiles[2], shuntsu[2]))) { + if (shuntsus.some(tiles => isPinzu(tiles[0]) && isSameNumberTile(tiles[0], shuntsu[0]) && isSameNumberTile(tiles[1], shuntsu[1]) && isSameNumberTile(tiles[2], shuntsu[2]))) { + return true; + } + } + } + } + + return false; + }, +}, { + name: 'sanshoku-doko', + fan: 2, + isYakuman: false, + kuisagari: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const kotsus = fourMentsuOneJyantou.mentsus.filter(tiles => isKotsu(tiles)); + + for (const kotsu of kotsus) { + if (isManzu(kotsu[0])) { + if (kotsus.some(tiles => isPinzu(tiles[0]) && isSameNumberTile(tiles[0], kotsu[0]))) { + if (kotsus.some(tiles => isSouzu(tiles[0]) && isSameNumberTile(tiles[0], kotsu[0]))) { + return true; + } + } + } else if (isPinzu(kotsu[0])) { + if (kotsus.some(tiles => isManzu(tiles[0]) && isSameNumberTile(tiles[0], kotsu[0]))) { + if (kotsus.some(tiles => isSouzu(tiles[0]) && isSameNumberTile(tiles[0], kotsu[0]))) { + return true; + } + } + } else if (isSouzu(kotsu[0])) { + if (kotsus.some(tiles => isManzu(tiles[0]) && isSameNumberTile(tiles[0], kotsu[0]))) { + if (kotsus.some(tiles => isPinzu(tiles[0]) && isSameNumberTile(tiles[0], kotsu[0]))) { + return true; + } + } + } + } + + return false; + }, +}, { + name: 'ittsu', + fan: 2, + isYakuman: false, + kuisagari: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const shuntsus = fourMentsuOneJyantou.mentsus.filter(tiles => isShuntu(tiles)); + + if (shuntsus.some(tiles => tiles[0] === 'm1' && tiles[1] === 'm2' && tiles[2] === 'm3')) { + if (shuntsus.some(tiles => tiles[0] === 'm4' && tiles[1] === 'm5' && tiles[2] === 'm6')) { + if (shuntsus.some(tiles => tiles[0] === 'm7' && tiles[1] === 'm8' && tiles[2] === 'm9')) { + return true; + } + } + } + if (shuntsus.some(tiles => tiles[0] === 'p1' && tiles[1] === 'p2' && tiles[2] === 'p3')) { + if (shuntsus.some(tiles => tiles[0] === 'p4' && tiles[1] === 'p5' && tiles[2] === 'p6')) { + if (shuntsus.some(tiles => tiles[0] === 'p7' && tiles[1] === 'p8' && tiles[2] === 'p9')) { + return true; + } + } + } + if (shuntsus.some(tiles => tiles[0] === 's1' && tiles[1] === 's2' && tiles[2] === 's3')) { + if (shuntsus.some(tiles => tiles[0] === 's4' && tiles[1] === 's5' && tiles[2] === 's6')) { + if (shuntsus.some(tiles => tiles[0] === 's7' && tiles[1] === 's8' && tiles[2] === 's9')) { + return true; + } + } + } + + return false; + }, +}, { + name: 'chitoitsu', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (state.huros.length > 0) return false; + const countMap = new Map(); + for (const tile of state.handTiles) { + const count = (countMap.get(tile) ?? 0) + 1; + countMap.set(tile, count); + } + return Array.from(countMap.values()).every(c => c === 2); + }, +}, { + name: 'shosangen', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const kotsuTiles = fourMentsuOneJyantou.mentsus.filter(tiles => isKotsu(tiles)).map(tiles => tiles[0]); + + for (const huro of state.huros) { + if (huro.type === 'cii') { + // nop + } else if (huro.type === 'pon') { + kotsuTiles.push(huro.tile); + } else { + kotsuTiles.push(huro.tile); + } + } + + switch (fourMentsuOneJyantou.head) { + case 'haku': return kotsuTiles.includes('hatsu') && kotsuTiles.includes('chun'); + case 'hatsu': return kotsuTiles.includes('haku') && kotsuTiles.includes('chun'); + case 'chun': return kotsuTiles.includes('haku') && kotsuTiles.includes('hatsu'); + } + + return false; + }, +}, { + name: 'daisangen', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const kotsuTiles = fourMentsuOneJyantou.mentsus.filter(tiles => isKotsu(tiles)).map(tiles => tiles[0]); + + for (const huro of state.huros) { + if (huro.type === 'cii') { + // nop + } else if (huro.type === 'pon') { + kotsuTiles.push(huro.tile); + } else { + kotsuTiles.push(huro.tile); + } + } + + return kotsuTiles.includes('haku') && kotsuTiles.includes('hatsu') && kotsuTiles.includes('chun'); + }, +}, { + name: 'shosushi', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + let all = [...state.handTiles]; + for (const huro of state.huros) { + if (huro.type === 'cii') { + all = [...all, ...huro.tiles]; + } else if (huro.type === 'pon') { + all = [...all, huro.tile, huro.tile, huro.tile]; + } else { + all = [...all, huro.tile, huro.tile, huro.tile, huro.tile]; + } + } + + switch (fourMentsuOneJyantou.head) { + case 'e': return (countTiles(all, 's') === 3) && (countTiles(all, 'w') === 3) && (countTiles(all, 'n') === 3); + case 's': return (countTiles(all, 'e') === 3) && (countTiles(all, 'w') === 3) && (countTiles(all, 'n') === 3); + case 'w': return (countTiles(all, 'e') === 3) && (countTiles(all, 's') === 3) && (countTiles(all, 'n') === 3); + case 'n': return (countTiles(all, 'e') === 3) && (countTiles(all, 's') === 3) && (countTiles(all, 'w') === 3); + } + + return false; + }, +}, { + name: 'daisushi', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const kotsuTiles = fourMentsuOneJyantou.mentsus.filter(tiles => isKotsu(tiles)).map(tiles => tiles[0]); + + for (const huro of state.huros) { + if (huro.type === 'cii') { + // nop + } else if (huro.type === 'pon') { + kotsuTiles.push(huro.tile); + } else { + kotsuTiles.push(huro.tile); + } + } + + return kotsuTiles.includes('e') && kotsuTiles.includes('s') && kotsuTiles.includes('w') && kotsuTiles.includes('n'); + }, +}, { + name: 'tsuiso', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const tiles = state.handTiles; + let manzuCount = tiles.filter(t => MANZU_TILES.includes(t)).length; + let pinzuCount = tiles.filter(t => PINZU_TILES.includes(t)).length; + let souzuCount = tiles.filter(t => SOUZU_TILES.includes(t)).length; + + for (const huro of state.huros) { + const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; + manzuCount += huroTiles.filter(t => MANZU_TILES.includes(t)).length; + pinzuCount += huroTiles.filter(t => PINZU_TILES.includes(t)).length; + souzuCount += huroTiles.filter(t => SOUZU_TILES.includes(t)).length; + } + + if (manzuCount > 0 || pinzuCount > 0 || souzuCount > 0) return false; + + return true; + }, +}, { + name: 'ryuiso', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + if (state.handTiles.some(t => !RYUISO_TILES.includes(t))) return false; + + for (const huro of state.huros) { + const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; + if (huroTiles.some(t => !RYUISO_TILES.includes(t))) return false; + } + + return true; + }, +}, { + name: 'kokushi', + fan: 13, + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + return KOKUSHI_TILES.every(t => state.handTiles.includes(t)); + }, +}]; + +export function calcYakus(state: EnvForCalcYaku): YakuName[] { + const oneHeadFourMentsuPatterns: (FourMentsuOneJyantou | null)[] = analyzeFourMentsuOneJyantou(state.handTiles); + if (oneHeadFourMentsuPatterns.length === 0) oneHeadFourMentsuPatterns.push(null); + + const yakuPatterns = oneHeadFourMentsuPatterns.map(fourMentsuOneJyantou => { + return YAKU_DEFINITIONS.map(yakuDef => { + const result = yakuDef.calc(state, fourMentsuOneJyantou); + return result ? yakuDef : null; + }).filter(yaku => yaku != null) as YakuDefiniyion[]; + }).filter(yakus => yakus.length > 0); + + const isMenzen = state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type)); + + let maxYakus = yakuPatterns[0]; + let maxFan = 0; + for (const yakus of yakuPatterns) { + let fan = 0; + for (const yaku of yakus) { + if (yaku.kuisagari && !isMenzen) { + fan += yaku.fan - 1; + } else { + fan += yaku.fan; + } + } + if (fan > maxFan) { + maxFan = fan; + maxYakus = yakus; + } + } + + return maxYakus.map(yaku => yaku.name); +} diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 8821192867..f98a0dd03c 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -108,7 +108,7 @@ class StateManager { // TODO: ポンされるなどして自分の河にない場合の考慮 if (this.hoTileTypes[house].includes($type(tid))) return false; - if (!Common.canHora(this.handTileTypes[house].concat($type(tid)))) return false; // 完成形じゃない + if (!Common.isAgarikei(this.handTileTypes[house].concat($type(tid)))) return false; // 完成形じゃない // TODO //const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc(this.state, { tsumoTile: null, ronTile: tile })); @@ -416,7 +416,7 @@ export class MasterGameEngine { if (tx.$state.riichis[house]) throw new Error('Already riichi'); const tempHandTiles = [...tx.handTileTypes[house]]; tempHandTiles.splice(tempHandTiles.indexOf($type(tid)), 1); - if (Common.getHoraTiles(tempHandTiles).length === 0) throw new Error('Not tenpai'); + if (!Common.isTenpai(tempHandTiles)) throw new Error('Not tenpai'); if (tx.$state.points[house] < 1000) throw new Error('Not enough points'); } diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index d1a9094133..7262785324 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -217,8 +217,12 @@ export class PlayerGameEngine { this.state.turn = null; if (house === this.myHouse) { + this.state.canRon = null; + this.state.canPon = null; + this.state.canKan = null; + this.state.canCii = null; } else { - const canRon = Common.canHora(this.myHandTiles.concat(tid).map(id => $type(id))); + const canRon = Common.isAgarikei(this.myHandTiles.concat(tid).map(id => $type(id))); const canPon = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tid)).length === 2; const canKan = !this.isMeRiichi && this.myHandTileTypes.filter(t => t === $type(tid)).length === 3; const canCii = !this.isMeRiichi && house === Common.prevHouse(this.myHouse) && diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts new file mode 100644 index 0000000000..ef67a6d80a --- /dev/null +++ b/packages/misskey-mahjong/test/yaku.ts @@ -0,0 +1,20 @@ +/* + * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import * as assert from 'node:assert'; +import { calcYakus } from '../src/common.yaku.js'; + +describe('Yaku', () => { + describe('Riichi', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + riichi: true, + }), ['riichi']); + }); + } +} diff --git a/packages/misskey-mahjong/tsconfig.json b/packages/misskey-mahjong/tsconfig.json index f56b65e868..da94aefea0 100644 --- a/packages/misskey-mahjong/tsconfig.json +++ b/packages/misskey-mahjong/tsconfig.json @@ -27,7 +27,6 @@ "src/**/*" ], "exclude": [ - "node_modules", - "test/**/*" + "node_modules" ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 617e79e660..0b0ac08603 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1190,9 +1190,12 @@ importers: '@misskey-dev/eslint-plugin': specifier: 1.0.0 version: 1.0.0(@typescript-eslint/eslint-plugin@6.18.1)(@typescript-eslint/parser@6.18.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + '@types/jest': + specifier: 29.5.12 + version: 29.5.12 '@types/node': - specifier: 20.11.5 - version: 20.11.5 + specifier: 20.11.17 + version: 20.11.17 '@typescript-eslint/eslint-plugin': specifier: 6.18.1 version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3) @@ -1202,9 +1205,18 @@ importers: eslint: specifier: 8.56.0 version: 8.56.0 + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@20.11.17) nodemon: specifier: 3.0.2 version: 3.0.2 + ts-jest: + specifier: 29.1.2 + version: 29.1.2(@babel/core@7.23.5)(esbuild@0.19.11)(jest@29.7.0)(typescript@5.3.3) + ts-jest-resolver: + specifier: 2.0.1 + version: 2.0.1 typescript: specifier: 5.3.3 version: 5.3.3 @@ -8252,6 +8264,13 @@ packages: pretty-format: 29.7.0 dev: true + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + /@types/js-yaml@4.0.9: resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} dev: true @@ -10024,6 +10043,13 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) + /bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + dependencies: + fast-json-stable-stringify: 2.1.0 + dev: true + /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: @@ -15048,7 +15074,6 @@ packages: /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: false /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -15193,6 +15218,10 @@ packages: semver: 7.5.4 dev: true + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + /make-fetch-happen@13.0.0: resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} engines: {node: ^16.14.0 || >=18.0.0} @@ -19399,6 +19428,47 @@ packages: engines: {node: '>=6.10'} dev: true + /ts-jest-resolver@2.0.1: + resolution: {integrity: sha512-FolE73BqVZCs8/RbLKxC67iaAtKpBWx7PeLKFW2zJQlOf9j851I7JRxSDenri2NFvVH3QP7v3S8q1AmL24Zb9Q==} + dependencies: + jest-resolve: 29.7.0 + dev: true + + /ts-jest@29.1.2(@babel/core@7.23.5)(esbuild@0.19.11)(jest@29.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} + engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + '@babel/core': 7.23.5 + bs-logger: 0.2.6 + esbuild: 0.19.11 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@20.11.17) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.5.4 + typescript: 5.3.3 + yargs-parser: 21.1.1 + dev: true + /ts-map@1.0.3: resolution: {integrity: sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w==} dev: true From 3f810a856c5c3024145782dada80929b098e86b7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 11 Feb 2024 14:23:37 +0900 Subject: [PATCH 40/64] wip --- packages/misskey-mahjong/src/common.yaku.ts | 120 +++++++++++++++++--- packages/misskey-mahjong/test/yaku.ts | 100 +++++++++++++++- 2 files changed, 201 insertions(+), 19 deletions(-) diff --git a/packages/misskey-mahjong/src/common.yaku.ts b/packages/misskey-mahjong/src/common.yaku.ts index c993bd5ae8..2ca3475083 100644 --- a/packages/misskey-mahjong/src/common.yaku.ts +++ b/packages/misskey-mahjong/src/common.yaku.ts @@ -15,8 +15,14 @@ export const NORMAL_YAKU_NAMES = [ 'tanyao', 'pinfu', 'iipeko', - 'field-wind', - 'seat-wind', + 'field-wind-e', + 'field-wind-s', + 'field-wind-w', + 'field-wind-n', + 'seat-wind-e', + 'seat-wind-s', + 'seat-wind-w', + 'seat-wind-n', 'white', 'green', 'red', @@ -71,8 +77,6 @@ export type EnvForCalcYaku = { */ handTiles: TileType[]; - tenpaiTiles: TileType[]; - /** * 河 */ @@ -121,8 +125,10 @@ export type EnvForCalcYaku = { type YakuDefiniyion = { name: YakuName; - fan: number; + upper?: YakuName; + fan?: number; isYakuman?: boolean; + isDoubleYakuman?: boolean; kuisagari?: boolean; calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => boolean; }; @@ -131,7 +137,7 @@ function countTiles(tiles: TileType[], target: TileType): number { return tiles.filter(t => t === target).length; } -export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ +export const NORAML_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ name: 'tsumo', fan: 1, isYakuman: false, @@ -141,7 +147,7 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ // 面前じゃないとダメ if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; - return state.isTsumo; + return state.tsumoTile != null; }, }, { name: 'riichi', @@ -579,9 +585,10 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ return false; }, -}, { +}]; + +export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ name: 'daisangen', - fan: 13, isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { if (fourMentsuOneJyantou == null) return false; @@ -602,7 +609,6 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ }, }, { name: 'shosushi', - fan: 13, isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { if (fourMentsuOneJyantou == null) return false; @@ -629,7 +635,6 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ }, }, { name: 'daisushi', - fan: 13, isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { if (fourMentsuOneJyantou == null) return false; @@ -650,7 +655,6 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ }, }, { name: 'tsuiso', - fan: 13, isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { if (fourMentsuOneJyantou == null) return false; @@ -673,7 +677,6 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ }, }, { name: 'ryuiso', - fan: 13, isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { if (fourMentsuOneJyantou == null) return false; @@ -687,9 +690,76 @@ export const YAKU_DEFINITIONS: YakuDefiniyion[] = [{ return true; }, +}, { + name: 'churen-9', + isYakuman: true, + isDoubleYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + // 面前じゃないとダメ + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + + const agariTile = state.tsumoTile ?? state.ronTile; + const tempaiTiles = [...state.handTiles]; + tempaiTiles.splice(state.handTiles.indexOf(agariTile), 1); + + if (isManzu(agariTile)) { + if ((countTiles(tempaiTiles, 'm1') === 3) && (countTiles(tempaiTiles, 'm9') === 3)) { + if (tempaiTiles.includes('m2') && tempaiTiles.includes('m3') && tempaiTiles.includes('m4') && tempaiTiles.includes('m5') && tempaiTiles.includes('m6') && tempaiTiles.includes('m7') && tempaiTiles.includes('m8')) { + return true; + } + } + } else if (isPinzu(agariTile)) { + if ((countTiles(tempaiTiles, 'p1') === 3) && (countTiles(tempaiTiles, 'p9') === 3)) { + if (tempaiTiles.includes('p2') && tempaiTiles.includes('p3') && tempaiTiles.includes('p4') && tempaiTiles.includes('p5') && tempaiTiles.includes('p6') && tempaiTiles.includes('p7') && tempaiTiles.includes('p8')) { + return true; + } + } + } else if (isSouzu(agariTile)) { + if ((countTiles(tempaiTiles, 's1') === 3) && (countTiles(tempaiTiles, 's9') === 3)) { + if (tempaiTiles.includes('s2') && tempaiTiles.includes('s3') && tempaiTiles.includes('s4') && tempaiTiles.includes('s5') && tempaiTiles.includes('s6') && tempaiTiles.includes('s7') && tempaiTiles.includes('s8')) { + return true; + } + } + } + + return false; + }, +}, { + name: 'churen', + upper: 'churen-9', + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + // 面前じゃないとダメ + if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + + if (isManzu(state.handTiles[0])) { + if ((countTiles(state.handTiles, 'm1') === 3) && (countTiles(state.handTiles, 'm9') === 3)) { + if (state.handTiles.includes('m2') && state.handTiles.includes('m3') && state.handTiles.includes('m4') && state.handTiles.includes('m5') && state.handTiles.includes('m6') && state.handTiles.includes('m7') && state.handTiles.includes('m8')) { + return true; + } + } + } else if (isPinzu(state.handTiles[0])) { + if ((countTiles(state.handTiles, 'p1') === 3) && (countTiles(state.handTiles, 'p9') === 3)) { + if (state.handTiles.includes('p2') && state.handTiles.includes('p3') && state.handTiles.includes('p4') && state.handTiles.includes('p5') && state.handTiles.includes('p6') && state.handTiles.includes('p7') && state.handTiles.includes('p8')) { + return true; + } + } + } else if (isSouzu(state.handTiles[0])) { + if ((countTiles(state.handTiles, 's1') === 3) && (countTiles(state.handTiles, 's9') === 3)) { + if (state.handTiles.includes('s2') && state.handTiles.includes('s3') && state.handTiles.includes('s4') && state.handTiles.includes('s5') && state.handTiles.includes('s6') && state.handTiles.includes('s7') && state.handTiles.includes('s8')) { + return true; + } + } + } + + return false; + }, }, { name: 'kokushi', - fan: 13, isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { return KOKUSHI_TILES.every(t => state.handTiles.includes(t)); @@ -700,8 +770,24 @@ export function calcYakus(state: EnvForCalcYaku): YakuName[] { const oneHeadFourMentsuPatterns: (FourMentsuOneJyantou | null)[] = analyzeFourMentsuOneJyantou(state.handTiles); if (oneHeadFourMentsuPatterns.length === 0) oneHeadFourMentsuPatterns.push(null); + const yakumanPatterns = oneHeadFourMentsuPatterns.map(fourMentsuOneJyantou => { + const matchedYakus: YakuDefiniyion[] = []; + for (const yakuDef of YAKUMAN_DEFINITIONS) { + if (yakuDef.upper && matchedYakus.some(yaku => yaku.name === yakuDef.upper)) continue; + const matched = yakuDef.calc(state, fourMentsuOneJyantou); + if (matched) { + matchedYakus.push(yakuDef); + } + } + return matchedYakus; + }).filter(yakus => yakus.length > 0); + + if (yakumanPatterns.length > 0) { + return yakumanPatterns[0].map(yaku => yaku.name); + } + const yakuPatterns = oneHeadFourMentsuPatterns.map(fourMentsuOneJyantou => { - return YAKU_DEFINITIONS.map(yakuDef => { + return NORAML_YAKU_DEFINITIONS.map(yakuDef => { const result = yakuDef.calc(state, fourMentsuOneJyantou); return result ? yakuDef : null; }).filter(yaku => yaku != null) as YakuDefiniyion[]; @@ -715,9 +801,9 @@ export function calcYakus(state: EnvForCalcYaku): YakuName[] { let fan = 0; for (const yaku of yakus) { if (yaku.kuisagari && !isMenzen) { - fan += yaku.fan - 1; + fan += yaku.fan! - 1; } else { - fan += yaku.fan; + fan += yaku.fan!; } } if (fan > maxFan) { diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts index ef67a6d80a..835ac1b5b8 100644 --- a/packages/misskey-mahjong/test/yaku.ts +++ b/packages/misskey-mahjong/test/yaku.ts @@ -16,5 +16,101 @@ describe('Yaku', () => { riichi: true, }), ['riichi']); }); - } -} + }); + + describe('churen', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm5'], + huros: [], + tsumoTile: 'm5', + }), ['churen']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm2'], + huros: [], + tsumoTile: 'm2', + }).includes('churen'), false); + }); + }); + + describe('churen-9', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm1'], + huros: [], + tsumoTile: 'm1', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm2'], + huros: [], + tsumoTile: 'm2', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm3'], + huros: [], + tsumoTile: 'm3', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm4'], + huros: [], + tsumoTile: 'm4', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm5'], + huros: [], + tsumoTile: 'm5', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm6'], + huros: [], + tsumoTile: 'm6', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm7'], + huros: [], + tsumoTile: 'm7', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm8'], + huros: [], + tsumoTile: 'm8', + }), ['churen-9']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm9'], + huros: [], + tsumoTile: 'm9', + }), ['churen-9']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm5'], + huros: [], + tsumoTile: 'm5', + }).includes('churen-9'), false); + }); + }); +}); From 622fc44645d726e7ee82379772dc53321d2d1aa6 Mon Sep 17 00:00:00 2001 From: im_tan Date: Mon, 12 Feb 2024 09:06:00 +0900 Subject: [PATCH 41/64] add kokushi test (#13262) --- packages/misskey-mahjong/test/yaku.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts index 835ac1b5b8..6cbfbf100a 100644 --- a/packages/misskey-mahjong/test/yaku.ts +++ b/packages/misskey-mahjong/test/yaku.ts @@ -18,6 +18,26 @@ describe('Yaku', () => { }); }); + describe('kokushi', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e'] , + huros: [], + tumoTiles: 'm1', + }), ['kokushi']); + }); + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm3'] , + huros: [], + tumoTiles: 'm3', + }).includes('kokushi'), false); + }); + }); + + describe('churen', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ From b04a0c99a4ba5871185aed66c9e5fe3094eb7331 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 12 Feb 2024 11:50:46 +0900 Subject: [PATCH 42/64] wip --- packages/backend/migration/1706234054207-mahjong.js | 2 +- packages/backend/src/core/MahjongService.ts | 2 +- packages/backend/src/models/json-schema/mahjong-room.ts | 2 +- .../backend/src/server/api/endpoints/mahjong/cancel-match.ts | 2 +- .../backend/src/server/api/endpoints/mahjong/create-room.ts | 2 +- packages/backend/src/server/api/endpoints/mahjong/games.ts | 2 +- packages/backend/src/server/api/endpoints/mahjong/join-room.ts | 2 +- packages/backend/src/server/api/endpoints/mahjong/show-room.ts | 2 +- packages/backend/src/server/api/endpoints/mahjong/verify.ts | 2 +- packages/backend/src/server/api/stream/channels/mahjong-room.ts | 2 +- packages/frontend/src/pages/mahjong/hand-tiles.vue | 2 +- packages/frontend/src/pages/mahjong/huro.vue | 2 +- packages/frontend/src/pages/mahjong/index.vue | 2 +- packages/frontend/src/pages/mahjong/room.game.vue | 2 +- packages/frontend/src/pages/mahjong/room.setting.vue | 2 +- packages/frontend/src/pages/mahjong/room.vue | 2 +- packages/frontend/src/pages/mahjong/tile.vue | 2 +- packages/misskey-mahjong/src/common.ts | 2 +- packages/misskey-mahjong/src/common.yaku.ts | 2 +- packages/misskey-mahjong/src/engine.master.ts | 2 +- packages/misskey-mahjong/src/engine.player.ts | 2 +- packages/misskey-mahjong/src/index.ts | 2 +- packages/misskey-mahjong/src/serializer.ts | 2 +- packages/misskey-mahjong/test/yaku.ts | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/backend/migration/1706234054207-mahjong.js b/packages/backend/migration/1706234054207-mahjong.js index d4178cf822..2f78ebb7ce 100644 --- a/packages/backend/migration/1706234054207-mahjong.js +++ b/packages/backend/migration/1706234054207-mahjong.js @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/core/MahjongService.ts b/packages/backend/src/core/MahjongService.ts index e8e73d4155..19693b0fa0 100644 --- a/packages/backend/src/core/MahjongService.ts +++ b/packages/backend/src/core/MahjongService.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/models/json-schema/mahjong-room.ts b/packages/backend/src/models/json-schema/mahjong-room.ts index ce666b2b83..d6e4e517dd 100644 --- a/packages/backend/src/models/json-schema/mahjong-room.ts +++ b/packages/backend/src/models/json-schema/mahjong-room.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts b/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts index 8edc049500..99a2a3078b 100644 --- a/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts +++ b/packages/backend/src/server/api/endpoints/mahjong/cancel-match.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/endpoints/mahjong/create-room.ts b/packages/backend/src/server/api/endpoints/mahjong/create-room.ts index 4689a62af3..0a991d343c 100644 --- a/packages/backend/src/server/api/endpoints/mahjong/create-room.ts +++ b/packages/backend/src/server/api/endpoints/mahjong/create-room.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/endpoints/mahjong/games.ts b/packages/backend/src/server/api/endpoints/mahjong/games.ts index c1b2ff1702..6b06068727 100644 --- a/packages/backend/src/server/api/endpoints/mahjong/games.ts +++ b/packages/backend/src/server/api/endpoints/mahjong/games.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/endpoints/mahjong/join-room.ts b/packages/backend/src/server/api/endpoints/mahjong/join-room.ts index 47a7dd8472..ba1a22d9f7 100644 --- a/packages/backend/src/server/api/endpoints/mahjong/join-room.ts +++ b/packages/backend/src/server/api/endpoints/mahjong/join-room.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/endpoints/mahjong/show-room.ts b/packages/backend/src/server/api/endpoints/mahjong/show-room.ts index a1b7074c49..2562c19223 100644 --- a/packages/backend/src/server/api/endpoints/mahjong/show-room.ts +++ b/packages/backend/src/server/api/endpoints/mahjong/show-room.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/endpoints/mahjong/verify.ts b/packages/backend/src/server/api/endpoints/mahjong/verify.ts index 5f5af6ce67..981735a3d7 100644 --- a/packages/backend/src/server/api/endpoints/mahjong/verify.ts +++ b/packages/backend/src/server/api/endpoints/mahjong/verify.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 7daac7839c..353d0b5ba7 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/frontend/src/pages/mahjong/hand-tiles.vue b/packages/frontend/src/pages/mahjong/hand-tiles.vue index 81ad21b1b2..bc7c857138 100644 --- a/packages/frontend/src/pages/mahjong/hand-tiles.vue +++ b/packages/frontend/src/pages/mahjong/hand-tiles.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/src/pages/mahjong/huro.vue b/packages/frontend/src/pages/mahjong/huro.vue index 4988c5aaef..487999217e 100644 --- a/packages/frontend/src/pages/mahjong/huro.vue +++ b/packages/frontend/src/pages/mahjong/huro.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/src/pages/mahjong/index.vue b/packages/frontend/src/pages/mahjong/index.vue index 1aada0095a..6ca938f73a 100644 --- a/packages/frontend/src/pages/mahjong/index.vue +++ b/packages/frontend/src/pages/mahjong/index.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index 6d42883454..0f71d6ce63 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/src/pages/mahjong/room.setting.vue b/packages/frontend/src/pages/mahjong/room.setting.vue index c83aaf86d1..36d2eb0387 100644 --- a/packages/frontend/src/pages/mahjong/room.setting.vue +++ b/packages/frontend/src/pages/mahjong/room.setting.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/src/pages/mahjong/room.vue b/packages/frontend/src/pages/mahjong/room.vue index b087b2beae..5119e25660 100644 --- a/packages/frontend/src/pages/mahjong/room.vue +++ b/packages/frontend/src/pages/mahjong/room.vue @@ -1,5 +1,5 @@ diff --git a/packages/frontend/src/pages/mahjong/tile.vue b/packages/frontend/src/pages/mahjong/tile.vue index 9f2185d1e4..aa7ec8f6d2 100644 --- a/packages/frontend/src/pages/mahjong/tile.vue +++ b/packages/frontend/src/pages/mahjong/tile.vue @@ -1,5 +1,5 @@ diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index a90fb15c56..18ac16ee32 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/misskey-mahjong/src/common.yaku.ts b/packages/misskey-mahjong/src/common.yaku.ts index 2ca3475083..a11a9764df 100644 --- a/packages/misskey-mahjong/src/common.yaku.ts +++ b/packages/misskey-mahjong/src/common.yaku.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index f98a0dd03c..c2e0669159 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 7262785324..3ca716c9ea 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/misskey-mahjong/src/index.ts b/packages/misskey-mahjong/src/index.ts index 7960984c48..da85bb6f22 100644 --- a/packages/misskey-mahjong/src/index.ts +++ b/packages/misskey-mahjong/src/index.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/misskey-mahjong/src/serializer.ts b/packages/misskey-mahjong/src/serializer.ts index 36279f1c87..8c9d14990b 100644 --- a/packages/misskey-mahjong/src/serializer.ts +++ b/packages/misskey-mahjong/src/serializer.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts index 6cbfbf100a..a7e2b8ffd9 100644 --- a/packages/misskey-mahjong/test/yaku.ts +++ b/packages/misskey-mahjong/test/yaku.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: syuilo and other misskey contributors + * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ From af9ebf7034281e39a6cd6e78d2139009aee947e0 Mon Sep 17 00:00:00 2001 From: im_tan Date: Mon, 12 Feb 2024 18:38:55 +0900 Subject: [PATCH 43/64] =?UTF-8?q?test:=20[Mi=E9=BA=BB=E9=9B=80]=20?= =?UTF-8?q?=E5=BD=B9=E6=BA=80=EF=BC=88=E5=A4=A9=E5=92=8C=E3=80=81=E5=9C=B0?= =?UTF-8?q?=E5=92=8C=E3=82=92=E9=99=A4=E3=81=8F=EF=BC=89=E3=81=AE=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=20(#13263)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add daisangen test * add suanko test * add suanko-tanki test * add tsuiso test * fix typo * add test-shosushi * add test-daisushi * add ryuiso-test * add chinroto-test * add sukantsu-test * add kokushi-13-test --- packages/misskey-mahjong/test/yaku.ts | 293 +++++++++++++++++++++++++- 1 file changed, 291 insertions(+), 2 deletions(-) diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts index a7e2b8ffd9..0eb92893b9 100644 --- a/packages/misskey-mahjong/test/yaku.ts +++ b/packages/misskey-mahjong/test/yaku.ts @@ -22,11 +22,12 @@ describe('Yaku', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ house: 'e', - handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e'] , + handTiles: ['m1', 'm1', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , huros: [], - tumoTiles: 'm1', + tumoTiles: 'm9', }), ['kokushi']); }); + it('invalid', () => { assert.deepStrictEqual(calcYakus({ house: 'e', @@ -37,6 +38,294 @@ describe('Yaku', () => { }); }); + describe('kokushi-13', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm1'] , + huros: [], + tumoTiles: 'm1', + }), ['kokushi-13']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , + huros: [], + tumoTiles: 'm1', + }).includes('kokushi-13'), false); + }); + }); + + describe('suanko', () => { + it('valid',() => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], + huros: [], + tsumoTile: 'chun', + }), ['suanko']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], + huros: [{type: 'ankan', :tile: 'm1'}], + tsumoTile: 'chun', + }), ['suanko']); + }); + + it('invalid',() => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], + huros: [{type: 'pom', tile: 'm1'}], + ronTile: 'e', + }).includes('suanko'), false); + + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], + huros: [], + ronTile: 'e', + }).includes('suanko'), false); + + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], + huros: [], + ronTile: 'e', + }).includes('suanko'), false); + }); + }); + + describe('suanko-tanki', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], + huros: [], + tsumoTile: 'e', + }), ['suanko-tanki']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], + huros: [{type: 'ankan', tile: 'm1'}], + tsumoTile: 'e', + }), ['suanko-tanki']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], + huros: [], + tsumoTile: 'chun', + }).includes('suanko-tanki'), false); + }); + }) + + describe('daisangen', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['haku', 'haku', 'haku', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'p2', 'p2', 'p2', 's2', 's2'], + huros: [], + tsumoTile: 's2', + }), ['daisangen']); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'p2', 'p2', 'p2', 's2', 's2'], + huros: [{type: 'pon', tile: 'haku'}], + tsumoTile: 's2', + }), ['daisangen']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['haku', 'haku', 'haku', 'chun', 'chun', 'hatsu', 'hatsu', 'hatsu', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2'] , + huros: [], + tumoTiles: 'm2', + }).includes('daisangen'), false); + }); + }); + + describe('tsuiso', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['haku', 'haku', 'haku', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [], + tsumoTile: 's', + }), ['tsuiso']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [{type: 'pon', tile: 'haku'}], + tsumoTile: 's', + }), ['tsuiso']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [], + tsumoTile: 's', + }).includes('tsuiso'), false); + + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [{type: 'pon', tile: 'm1'}], + tsumoTile: 's', + }).includes('tuiso'), false); + }); + }) + + describe('shosushi', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [], + tsumoTile: 's', + }), ['shosushi']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'w', 'w', 'w', 's', 's'], + huros: [{type: 'pon', tile: 'e'}], + tsumoTile: 's', + }), ['shosushi']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [], + tsumoTile: 's', + }).includes('shosushi'), false); + + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [{type: 'pon', tile: 'm1'}], + tsumoTile: 's', + }).includes('shosushi'), false); + }); + }) + + describe('daisushi', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's', 's'], + huros: [], + tsumoTile: 's', + }), ['daisushi']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'n', 'n', 'n', 'w', 'w', 'w', 's', 's', 's'], + huros: [{type: 'pon', tile: 'e'}], + tsumoTile: 'e', + }), ['daisushi']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [], + tsumoTile: 's', + }).includes('daisushi'), false); + + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + huros: [{type: 'pon', tile: 'm1'}], + tsumoTile: 'e', + }).includes('daisushi'), false); + }); + }) + + describe('ryuiso', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['s2', 's2', 's2', 's2', 's3', 's4', 's6', 's6', 's6', 's8', 's8', 's8', 'hatsu', 'hatsu'], + huros: [], + tsumoTile: 'hatsu', + }), ['ryuiso']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8'], + huros: [{type: 'pon', tile: 'hatsu'}], + tsumoTile: 's8', + }), ['ryuiso']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8','haku','haku','haku'], + huros: [], + tsumoTile: 's', + }).includes('ryuiso'), false); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8'], + huros: [{type: 'pon', tile: 'haku'}], + tsumoTile: 's', + }).includes('ryuiso'), false); + }); + }) + + describe('chinroto', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m1','m1','m1''m9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], + huros: [], + tsumoTile: 'p1', + }), ['chinroto']); + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['m9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], + huros: [{type: 'pon', tile: 'm1'}], + tsumoTile: 'p1', + }), ['chinroto']); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8','haku','haku','haku'], + huros: [], + tsumoTile: 's', + }).includes('chinroto'), false); + }); + }) + + describe('sukantsu', () => { + it('valid', () =>{ + assert.deepStrictEqual(calcYakus({ + house: '', + handTiles: ['p1', 'p1'], + huros: [{type: 'ankan', tile: 'm1'}, {type: 'ankan', tile: 'm2'}, {type: 'minkan', tile: 'm3'}, {type: 'minkan', tile: 'chun'}], + tsumoTile: 'p1', + }), ['sukantsu']); + }); + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm2'], + huros: [], + tsumoTile: 'm2', + }).includes('sukantsu'), false); + }); + }) describe('churen', () => { it('valid', () => { From 0e27fa59d4bec2c1b3888ec7e970d6a0d9b2ad68 Mon Sep 17 00:00:00 2001 From: im_tan Date: Mon, 19 Feb 2024 16:51:56 +0900 Subject: [PATCH 44/64] =?UTF-8?q?test:=20[Mi=E9=BA=BB=E9=9B=80]=20?= =?UTF-8?q?=E4=B8=80=E9=83=A8=E3=82=92=E9=99=A4=E3=81=8F=E5=90=84=E7=A8=AE?= =?UTF-8?q?=E5=BD=B9=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=20(#13397)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix typo * add letter-tiles tests * add ippatsu test * add tanyao and pinfu test * fix ippatsu test * add wind tests * add iipeko and chitoitsu test * add sanshoku-doujunn sanshoku-doo ittsu junchan tests * add toitoi sananko test * add ryanpeko test * add honroto sankantsu honitsu chintisu tests * add shosangen test --- packages/misskey-mahjong/test/yaku.ts | 552 ++++++++++++++++++++++++-- 1 file changed, 517 insertions(+), 35 deletions(-) diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts index 0eb92893b9..dc184d2fb8 100644 --- a/packages/misskey-mahjong/test/yaku.ts +++ b/packages/misskey-mahjong/test/yaku.ts @@ -18,13 +18,495 @@ describe('Yaku', () => { }); }); + describe('white', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'haku'}], + tsumoTile: 'm3', + riichi: true, + }).includes('white'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'haku'}], + tsumoTile: 'm3', + riichi: false, + }), ['white']); + }); + }); + + describe('red', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'chun'}], + tsumoTile: 'm3', + riichi: true, + }).includes('red'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'chun'}], + tsumoTile: 'm3', + riichi: false, + }), ['red']); + }); + }); + + describe('green', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'hatsu'}], + tsumoTile: 'm3', + riichi: true, + }).includes('green'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'hatsu'}], + tsumoTile: 'm3', + riichi: false, + }), ['green']); + }); + }); + + describe('field-wind', () => { + it('north', () => { + assert.deepStrictEqual(calcYakus({ + house: 'n', + seat: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'n', 'n', 'n'], + huros: [], + tsumoTile: 's', + }).includes('field-wind-n'), true); + }); + it('east', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + seat: 'n', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'e', 'e', 'e'], + huros: [], + tsumoTile: 'e', + }).includes('field-wind-e'), true); + }); + it('south', () => { + assert.deepStrictEqual(calcYakus({ + house: 's', + house: 'n', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 's', 's', 's'], + huros: [], + tsumoTile: 's', + }).includes('field-wind-s'), true); + }); + it('west', () => { + assert.deepStrictEqual(calcYakus({ + house: 'w', + house: 'n', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'w', 'w', 'w'], + huros: [], + tsumoTile: 'w', + }).includes('field-wind-w'), true); + }); + }); + describe('seat-wind', () => { + it('north', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + seat: 'n', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'n', 'n', 'n'], + huros: [], + ronTile: 's', + }).includes('seat-wind-n'), true); + }); + it('east', () => { + assert.deepStrictEqual(calcYakus({ + house: 's', + seat: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'e', 'e', 'e'], + huros: [], + ronTile: 'e', + }).includes('seat-wind-e'), true); + }); + it('south', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + house: 's', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 's', 's', 's'], + huros: [], + ronoTile: 's', + }).includes('seat-wind-s'), true); + }); + it('west', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + house: 'w', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'w', 'w', 'w'], + huros: [], + ronTile: 'w', + }).includes('seat-wind-w'), true); + }); + }); + + describe('ippatsu', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + riichi: true, + tsumoTile: 'm3', + ippatsu: true, + }).includes('ippatsu'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + riichi: true, + ronTile: 'm3', + ippatsu: true, + }).includes('ippatsu'), true); + }); + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + riichi: true, + }).includes('ippatsu'), false); + }); + }); + + describe('tanyao', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm2', 'm2', 'p6', 'p7', 'p8', 's3', 's3', 's3', 's4', 's5', 's6', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + }).includes('tanyao'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['p6', 'p7', 'p8', 's3', 's3', 's3', 's4', 's5', 's6', 'm3', 'm3'], + huros: [{type: 'pon', tile: 'm2'}], + tsumoTile: 'm3', + }).includes('tanyao'), true); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p7', 'p8', 's3', 's3', 's3', 's4', 's5', 's6', 'm3', 'm3'], + ippatsu: true, + huros: [], + }).includes('tanyao'), false); + }); + }); + + describe('pinfu', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], + huros: [], + tsumoTile: 's7', + }).includes('pinfu'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'p6', 'p6', 'p6', 'p5', 'p6', 'p7', 's9', 's9', 's7', 's8', 's9'], + huros: [], + tsumoTile: 's9', + }).includes('pinfu'), false); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'p6', 'p6', 'p6', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], + huros: [], + tsumoTile: 's7', + }).includes('pinfu'), false); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'p6', 'p6', 'p6', 'p5', 'p6', 'p7', 's9', 's9', 's7', 's8', 's9'], + huros: [], + tsumoTile: 's7', + }).includes('pinfu'), false); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], + huros: [], + ronTile: 's7', + }).includes('pinfu'), true); + }); + }); + + describe('iipeko', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 's9', 's9', 's4', 's5', 's6'], + huros: [], + tsumoTile: 's6', + }).includes('iipeko'), true); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'p5', 'p6', 'p7', 's9', 's9', 's4', 's5', 's6'], + huros: [{type: 'cii', tiles: ['m2','m3','m4']}], + riichi: true, + tsumoTile: 's6', + }).includes('iipeko'), false); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], + huros: [], + tsumoTile: 'p1', + }).includes('iipeko'), false); + }); + }); + describe('ryanpeko', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], + huros: [], + tsumoTile: 'p1', + }).includes('ryanpeko'), true); + }); + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], + huros: [{type: 'cii', tiles: ['m2','m3','m4']}], + tsumoTile: 'p1', + }).includes('ryanpeko'), true); + }); + }); + + describe('sanshoku-dojun', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 'p1', 'p2', 'p3', 's1', 's2', 's3', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + }).includes('sanshoku-dojun'), true); + + }); + }); + + describe('sanshoku-doko', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm2', 'm2', 'p2', 'p2', 'p2', 's2', 's2', 's2', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + }).includes('sanshoku-doko'), true); + + }); + }); + + describe('ittsu', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + }).includes('ittsu'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm3', 'm4', 's4', 's5', 's6', 's7', 's8', 's9', 'm3', 'm3'], + huros: [{type: 'cii', tiles:['s1', 's2', 's3']}], + tsumoTile: 'm3', + }).includes('ittsu'), true); + }); + }); + + describe('chanta', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'p7', 'p8', 'p9', 'haku', 'haku'], + huros: [], + tsumoTile: 'haku', + }).includes('chanta'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'haku', 'haku'], + huros: [{type: 'pon', tile : 'p9'}], + tsumoTile: 'haku', + }).includes('chanta'), true); + }); + }); + + describe('junchan', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'p7', 'p8', 'p9', 'm9', 'm9'], + huros: [], + tsumoTile: 'm9', + }).includes('junchan'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'm9', 'm9'], + huros: [{type: 'pon', tile : 'p9'}], + tsumoTile: 'm9', + }).includes('junchan'), true); + }); + }); + + describe('chitoitsu', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm2', 'm2', 'm8', 'm8', 'p5', 'p5', 'p7', 's7', 's9', 's9', 'p2', 'p2'], + huros: [], + tsumoTile: 'p2', + }).includes('chitoitsu'), true); + }); + }); + + describe('toitoi', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's7', 's7', 'p2', 'p2'], + huros: [], + tsumoTile: 'p2', + }).includes('toitoi'), true); + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's7', 's7', 'p2', 'p2'], + huros: [{type: 'pon', tile: 'm1'}], + tsumoTile: 'p2', + }).includes('toitoi'), true); + }); + }); + + describe('sananko', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's8', 's9', 'p2', 'p2'], + huros: [], + tsumoTile: 'p2', + }).includes('sananko'), true); + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'p5', 'p5', 'p5', 's7', 's7', 's7', 'p2', 'p2'], + huros: [{type: 'ankan', tile: 'm2'}], + tsumoTile: 'p2', + }).includes('sananko'), true); + }); + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'p5', 'p5', 'p5', 's7', 's8', 's9', 'p2', 'p2'], + huros: [{type: 'minkan', tile: 'm2'}], + tsumoTile: 'p2', + }).includes('sananko'), false); + }); + }); + + describe('honroto', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm9', 'm9', 'm9', 'p9', 'p9', 'p9', 'hatsu', 'hatsu', 'hatsu', 'n', 'n'], + huros: [], + tsumoTile: 'n', + }).includes('toitoi'), true); + + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m9', 'm9', 'm9', 'p9', 'p9', 'p9', 'hatsu', 'hatsu', 'hatsu', 'n', 'n'], + huros: [{type: 'pon', tile: 'm1'}], + tsumoTile: 'p2', + }).includes('toitoi'), true); + }); + }); + + describe('sankantsu', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m9', 'm9', 'm9', 'n', 'n'], + huros: [[{type: 'ankan', tile: 'm1'}, {type: 'ankan', tile: 'm2'}, {type: 'minkan', tile: 'm3'}]], + tsumoTile: 'p2', + }).includes('sankantsu'), true); + }); + }); + + describe('honitsu', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm5', 'm6', 'm7', 'm9', 'm9', 'm9', 'n', 'n'], + huros: [], + tsumoTile: 'n', + }).includes('honitsu'), true); + }); + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm5', 'm6', 'm7', 'm9', 'm9', 'm9', 'm8', 'm8'], + huros: [], + tsumoTile: 'm8', + }).includes('honitsu'), false); + }); + }); + + describe('chinitsu', () => { + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['m1', 'm1', 'm1', 'm5', 'm6', 'm7', 'm9', 'm9', 'm9', 'm8', 'm8'], + huros: [], + tsumoTile: 'm8', + }).includes('chinitsu'), true); + }); + }); + describe('shosangen', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + house: 'e', + handTiles: ['haku', 'haku', 'haku', 'chun', 'chun', 'hatsu', 'hatsu', 'hatsu', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2'] , + huros: [], + tsumoTile: 'm2', + }).includes('shosangen'), true); + }); + }); + describe('kokushi', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ house: 'e', handTiles: ['m1', 'm1', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , huros: [], - tumoTiles: 'm9', + tsumoTile: 'm9', }), ['kokushi']); }); @@ -33,7 +515,7 @@ describe('Yaku', () => { house: 'e', handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm3'] , huros: [], - tumoTiles: 'm3', + tsumoTile: 'm3', }).includes('kokushi'), false); }); }); @@ -44,7 +526,7 @@ describe('Yaku', () => { house: 'e', handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm1'] , huros: [], - tumoTiles: 'm1', + tsumoTile: 'm1', }), ['kokushi-13']); }); @@ -53,7 +535,7 @@ describe('Yaku', () => { house: 'e', handTiles: ['m1', 'm1', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , huros: [], - tumoTiles: 'm1', + tsumoTile: 'm1', }).includes('kokushi-13'), false); }); }); @@ -61,36 +543,36 @@ describe('Yaku', () => { describe('suanko', () => { it('valid',() => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], huros: [], tsumoTile: 'chun', }), ['suanko']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], - huros: [{type: 'ankan', :tile: 'm1'}], + huros: [{type: 'ankan', tile: 'm1'}], tsumoTile: 'chun', }), ['suanko']); }); it('invalid',() => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], - huros: [{type: 'pom', tile: 'm1'}], + huros: [{type: 'pon', tile: 'm1'}], ronTile: 'e', }).includes('suanko'), false); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], huros: [], ronTile: 'e', }).includes('suanko'), false); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], huros: [], ronTile: 'e', @@ -101,13 +583,13 @@ describe('Yaku', () => { describe('suanko-tanki', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], huros: [], tsumoTile: 'e', }), ['suanko-tanki']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], huros: [{type: 'ankan', tile: 'm1'}], tsumoTile: 'e', @@ -116,7 +598,7 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], huros: [], tsumoTile: 'chun', @@ -146,7 +628,7 @@ describe('Yaku', () => { house: 'e', handTiles: ['haku', 'haku', 'haku', 'chun', 'chun', 'hatsu', 'hatsu', 'hatsu', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2'] , huros: [], - tumoTiles: 'm2', + tsumoTile: 'm2', }).includes('daisangen'), false); }); }); @@ -154,13 +636,13 @@ describe('Yaku', () => { describe('tsuiso', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['haku', 'haku', 'haku', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }), ['tsuiso']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'haku'}], tsumoTile: 's', @@ -169,14 +651,14 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }).includes('tsuiso'), false); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 's', @@ -187,13 +669,13 @@ describe('Yaku', () => { describe('shosushi', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }), ['shosushi']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'e'}], tsumoTile: 's', @@ -202,14 +684,14 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }).includes('shosushi'), false); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 's', @@ -220,13 +702,13 @@ describe('Yaku', () => { describe('daisushi', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's', 's'], huros: [], tsumoTile: 's', }), ['daisushi']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'n', 'n', 'n', 'w', 'w', 'w', 's', 's', 's'], huros: [{type: 'pon', tile: 'e'}], tsumoTile: 'e', @@ -235,14 +717,14 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }).includes('daisushi'), false); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 'e', @@ -253,13 +735,13 @@ describe('Yaku', () => { describe('ryuiso', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's4', 's6', 's6', 's6', 's8', 's8', 's8', 'hatsu', 'hatsu'], huros: [], tsumoTile: 'hatsu', }), ['ryuiso']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8'], huros: [{type: 'pon', tile: 'hatsu'}], tsumoTile: 's8', @@ -268,13 +750,13 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8','haku','haku','haku'], huros: [], tsumoTile: 's', }).includes('ryuiso'), false); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8'], huros: [{type: 'pon', tile: 'haku'}], tsumoTile: 's', @@ -285,13 +767,13 @@ describe('Yaku', () => { describe('chinroto', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m1','m1','m1''m9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], huros: [], tsumoTile: 'p1', }), ['chinroto']); assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['m9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 'p1', @@ -300,7 +782,7 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8','haku','haku','haku'], huros: [], tsumoTile: 's', @@ -311,7 +793,7 @@ describe('Yaku', () => { describe('sukantsu', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: '', + house: 'e', handTiles: ['p1', 'p1'], huros: [{type: 'ankan', tile: 'm1'}, {type: 'ankan', tile: 'm2'}, {type: 'minkan', tile: 'm3'}, {type: 'minkan', tile: 'chun'}], tsumoTile: 'p1', From 4597d5db91412a5c9092dd269518c9cbcfc9a3f5 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:10:18 +0900 Subject: [PATCH 45/64] wip --- packages/misskey-mahjong/src/engine.master.ts | 2 +- packages/misskey-mahjong/src/engine.player.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index c2e0669159..1dc14c292e 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -4,7 +4,7 @@ */ import CRC32 from 'crc-32'; -import { TileType, House, Huro, TILE_TYPES, YAKU_DEFINITIONS, TileId } from './common.js'; +import { TileType, House, Huro, TileId } from './common.js'; import * as Common from './common.js'; import { PlayerState } from './engine.player.js'; diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index 3ca716c9ea..cc5acab8a0 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -4,7 +4,7 @@ */ import CRC32 from 'crc-32'; -import { TileType, House, Huro, TileId, YAKU_DEFINITIONS } from './common.js'; +import { TileType, House, Huro, TileId } from './common.js'; import * as Common from './common.js'; //#region syntax suger From 6c9f6e80573569559f72c08ea30d17876b00c109 Mon Sep 17 00:00:00 2001 From: Take-John <105504345+takejohn@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:09:07 +0900 Subject: [PATCH 46/64] =?UTF-8?q?fix(mahjong):=20=E9=BA=BB=E9=9B=80?= =?UTF-8?q?=E3=82=92=E3=83=97=E3=83=AC=E3=82=A4=E3=81=A7=E3=81=8D=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3=20(#1426?= =?UTF-8?q?8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ビルドによる自動的なソース更新 * 麻雀関連のキーバリューペアを追加 * 役の定義をまとめてエクスポート * タイポ修正 * Revert "麻雀関連のキーバリューペアを追加" This reverts commit c349cdf70c69af89d93ed7db035efaaacf2c2785. * misskey-jsのビルドによる自動更新 --- locales/index.d.ts | 4 ++-- packages/misskey-js/src/autogen/endpoint.ts | 3 +++ packages/misskey-mahjong/src/common.yaku.ts | 6 ++++-- packages/misskey-mahjong/src/engine.master.ts | 1 + packages/misskey-mahjong/src/engine.player.ts | 1 + 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index 74b830764f..f8136844e3 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -10257,9 +10257,9 @@ export interface Locale extends ILocale { */ "churen": string; /** - * 純正九連宝灯 + * 九連宝灯九面待 */ - "pure-churen": string; + "churen-9": string; /** * 天和 */ diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts index 3e55913097..a05798b542 100644 --- a/packages/misskey-js/src/autogen/endpoint.ts +++ b/packages/misskey-js/src/autogen/endpoint.ts @@ -1343,4 +1343,7 @@ export const endpointReqTypes: Record t === target).length; } -export const NORAML_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ +export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ name: 'tsumo', fan: 1, isYakuman: false, @@ -766,6 +766,8 @@ export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ }, }]; +export const YAKU_DEFINITIONS = NORMAL_YAKU_DEFINITIONS.concat(YAKUMAN_DEFINITIONS); + export function calcYakus(state: EnvForCalcYaku): YakuName[] { const oneHeadFourMentsuPatterns: (FourMentsuOneJyantou | null)[] = analyzeFourMentsuOneJyantou(state.handTiles); if (oneHeadFourMentsuPatterns.length === 0) oneHeadFourMentsuPatterns.push(null); @@ -787,7 +789,7 @@ export function calcYakus(state: EnvForCalcYaku): YakuName[] { } const yakuPatterns = oneHeadFourMentsuPatterns.map(fourMentsuOneJyantou => { - return NORAML_YAKU_DEFINITIONS.map(yakuDef => { + return NORMAL_YAKU_DEFINITIONS.map(yakuDef => { const result = yakuDef.calc(state, fourMentsuOneJyantou); return result ? yakuDef : null; }).filter(yaku => yaku != null) as YakuDefiniyion[]; diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 1dc14c292e..45c10cfc74 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -7,6 +7,7 @@ import CRC32 from 'crc-32'; import { TileType, House, Huro, TileId } from './common.js'; import * as Common from './common.js'; import { PlayerState } from './engine.player.js'; +import { YAKU_DEFINITIONS } from "./common.yaku.js"; //#region syntax suger function $(tid: TileId): Common.TileInstance { diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index cc5acab8a0..c16d81b046 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -6,6 +6,7 @@ import CRC32 from 'crc-32'; import { TileType, House, Huro, TileId } from './common.js'; import * as Common from './common.js'; +import { YAKU_DEFINITIONS } from './common.yaku.js'; //#region syntax suger function $(tid: TileId): Common.TileInstance { From bf818a665600625b73b3ec0f2670dada92caef54 Mon Sep 17 00:00:00 2001 From: Take-John <105504345+takejohn@users.noreply.github.com> Date: Thu, 15 Aug 2024 12:29:31 +0900 Subject: [PATCH 47/64] =?UTF-8?q?feature(mahjong):=20=E6=90=B6=E6=A7=93/?= =?UTF-8?q?=E3=83=89=E3=83=A9=E4=BB=A5=E5=A4=96=E3=81=AE=E9=BA=BB=E9=9B=80?= =?UTF-8?q?=E3=81=AE=E5=BD=B9=E3=82=92=E5=AE=9F=E8=A3=85=20(#14346)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ビルドによる自動的なソース更新 * 麻雀関連のキーバリューペアを追加 * 役の定義をまとめてエクスポート * タイポ修正 * Revert "麻雀関連のキーバリューペアを追加" This reverts commit c349cdf70c69af89d93ed7db035efaaacf2c2785. * misskey-jsのビルドによる自動更新 * 型エラーに対処 * riichiがtrueの場合に門前であるかを確認 * EnvForCalcYakuのhouseプロパティを廃止 * 風牌の役の共通部分をクラスで定義 * タイポ修正 * 役牌をクラスで共通化 * 一盃口と二盃口のテストを通す * 一盃口・二盃口判定関数の調整 * 一気通貫の判定にチーによる順子も考慮する * 混全帯幺九の実装 * 純全帯幺九の実装 * 七対子の実装とテストの修正 * tsumoTileまたはronTileを必須に * 待ちを確認して平和の判定を可能に * 三暗刻と四暗刻、四暗刻単騎の実装 * 四暗刻であるために通常の役を判定できない牌姿のテストを修正 * 混老頭と清老頭を実装 * 三槓子と四槓子を実装 * 平和の実装とテストを修正 * 小三元のテストを修正 * 国士無双に対子の確認を追加 * 国士無双十三面待ちを実装し、テストを修正 * 一部の役の七対子形を認め、テストを追加 * 手牌の数を確認 * 役の定義をカプセル化して型エラーの対処 * ツモ・ロンの判定を修正 * calcYakusの引数のhandTilesを修正 * calcYakusに渡す風をseatWindに修正 * 嶺上開花の実装 * 海底摸月の実装 * FourMentsuOneJyantouWithWait型の作成 * 河底撈魚の実装 * ダブル立直の実装 * 天和・地和の実装 * エンジンのテストを作成 * エンジンによる地和のテストを追加 * 嶺上開花のテスト * ライセンスの記述を追加 * ダブル立直一発ツモのテスト * ダブル立直海底ツモのテスト * ダブル立直河底のテスト * 役満も処理できるように * 点数のテスト * 打牌時にrinshanFlags[house]をfalseに * 七対子形の字一色を認める * typo --- packages/misskey-mahjong/src/common.fu.ts | 63 ++ packages/misskey-mahjong/src/common.ts | 57 +- packages/misskey-mahjong/src/common.yaku.ts | 737 ++++++++++++------ packages/misskey-mahjong/src/engine.master.ts | 196 +++-- packages/misskey-mahjong/src/engine.player.ts | 70 +- packages/misskey-mahjong/test/engine.ts | 235 ++++++ packages/misskey-mahjong/test/fu.ts | 70 ++ packages/misskey-mahjong/test/yaku.ts | 481 ++++++++---- 8 files changed, 1417 insertions(+), 492 deletions(-) create mode 100644 packages/misskey-mahjong/src/common.fu.ts create mode 100644 packages/misskey-mahjong/test/engine.ts create mode 100644 packages/misskey-mahjong/test/fu.ts diff --git a/packages/misskey-mahjong/src/common.fu.ts b/packages/misskey-mahjong/src/common.fu.ts new file mode 100644 index 0000000000..820529dce1 --- /dev/null +++ b/packages/misskey-mahjong/src/common.fu.ts @@ -0,0 +1,63 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { FourMentsuOneJyantou, mentsuEquals, TILE_NUMBER_MAP, TileType } from "./common.js"; + +export type Shape = 'fourMentsuOneJyantou' | 'chitoitsu' | 'kokushi'; + +/** + * 4面子1雀頭と待ちに関わる部分 + */ +export type FourMentsuOneJyantouWithWait = FourMentsuOneJyantou & { + agariTile: TileType; +} & ({ + waitedFor: 'head'; +} | { + waitedFor: 'mentsu'; + waitedTaatsu: [TileType, TileType]; +}); + +export function calcWaitPatterns(fourMentsuOneJyantou: FourMentsuOneJyantou | null, agariTile: TileType): FourMentsuOneJyantouWithWait[] | [null] { + if (fourMentsuOneJyantou == null) return [null]; + + const result: FourMentsuOneJyantouWithWait[] = []; + + if (fourMentsuOneJyantou.head == agariTile) { + result.push({ + head: fourMentsuOneJyantou.head, + mentsus: fourMentsuOneJyantou.mentsus, + waitedFor: 'head', + agariTile, + }); + } + + const checkedMentsus: [TileType, TileType, TileType][] = []; + for (const mentsu of fourMentsuOneJyantou.mentsus) { + if (checkedMentsus.some(checkedMentsu => mentsuEquals(mentsu, checkedMentsu))) continue; + const agariTileIndex = mentsu.indexOf(agariTile); + if (agariTileIndex < 0) continue; + result.push({ + head: fourMentsuOneJyantou.head, + mentsus: fourMentsuOneJyantou.mentsus, + waitedFor: 'mentsu', + agariTile, + waitedTaatsu: mentsu.toSpliced(agariTileIndex, 1) as [TileType, TileType], + }) + checkedMentsus.push(mentsu); + } + + return result; +} + +export function isRyanmen(taatsu: [TileType, TileType]): boolean { + const number1 = TILE_NUMBER_MAP[taatsu[0]]; + const number2 = TILE_NUMBER_MAP[taatsu[1]]; + if (number1 == null || number2 == null) return false; + return number1 != 1 && number2 != 9 && number1 + 1 == number2; +} + +export function isToitsu(taatsu: [TileType, TileType]): boolean { + return taatsu[0] == taatsu[1]; +} diff --git a/packages/misskey-mahjong/src/common.ts b/packages/misskey-mahjong/src/common.ts index 18ac16ee32..265d6b513f 100644 --- a/packages/misskey-mahjong/src/common.ts +++ b/packages/misskey-mahjong/src/common.ts @@ -109,21 +109,29 @@ export type House = 'e' | 's' | 'w' | 'n'; */ export type Huro = { type: 'pon'; - tiles: [TileId, TileId, TileId]; + tiles: readonly [TileId, TileId, TileId]; from: House; } | { type: 'cii'; - tiles: [TileId, TileId, TileId]; + tiles: readonly [TileId, TileId, TileId]; from: House; } | { type: 'ankan'; - tiles: [TileId, TileId, TileId, TileId]; + tiles: readonly [TileId, TileId, TileId, TileId]; } | { type: 'minkan'; - tiles: [TileId, TileId, TileId, TileId]; + tiles: readonly [TileId, TileId, TileId, TileId]; from: House | null; // null で加槓 }; +export type PointFactor = { + isYakuman: false; + fan: number; +} | { + isYakuman: true; + value: number; +} + export const CALL_HURO_TYPES = ['pon', 'cii', 'minkan'] as const; export const NEXT_TILE_FOR_DORA_MAP: Record = { @@ -279,18 +287,23 @@ export const PINZU_TILES = ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9' export const SOUZU_TILES = ['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9'] as const satisfies TileType[]; export const CHAR_TILES = ['e', 's', 'w', 'n', 'haku', 'hatsu', 'chun'] as const satisfies TileType[]; export const YAOCHU_TILES = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun'] as const satisfies TileType[]; +export const TERMINAL_TILES = ['m1', 'm9', 'p1', 'p9', 's1', 's9'] as const satisfies TileType[]; const KOKUSHI_TILES: TileType[] = ['m1', 'm9', 'p1', 'p9', 's1', 's9', 'e', 's', 'w', 'n', 'haku', 'hatsu', 'chun']; -export function isManzu(tile: T): tile is typeof MANZU_TILES[number] { - return MANZU_TILES.includes(tile); +export function includes>(array: A, searchElement: unknown): searchElement is A[number] { + return array.includes(searchElement); } -export function isPinzu(tile: T): tile is typeof PINZU_TILES[number] { - return PINZU_TILES.includes(tile); +export function isManzu(tile: TileType): tile is typeof MANZU_TILES[number] { + return includes(MANZU_TILES, tile); } -export function isSouzu(tile: T): tile is typeof SOUZU_TILES[number] { - return SOUZU_TILES.includes(tile); +export function isPinzu(tile: TileType): tile is typeof PINZU_TILES[number] { + return includes(PINZU_TILES, tile); +} + +export function isSouzu(tile: TileType): tile is typeof SOUZU_TILES[number] { + return includes(SOUZU_TILES, tile); } export function isSameNumberTile(a: TileType, b: TileType): boolean { @@ -328,16 +341,24 @@ export function fanToPoint(fan: number, isParent: boolean): number { return point; } +export function calcPoint(factor: PointFactor, isParent: boolean): number { + if (factor.isYakuman) { + return 32000 * factor.value * (isParent ? 1.5 : 1); + } else { + return fanToPoint(factor.fan, isParent); + } +} + export function calcOwnedDoraCount(handTiles: TileType[], huros: Huro[], doras: TileType[]): number { let count = 0; for (const t of handTiles) { if (doras.includes(t)) count++; } for (const huro of huros) { - if (huro.type === 'pon' && doras.includes(huro.tile)) count += 3; - if (huro.type === 'cii') count += huro.tiles.filter(t => doras.includes(t)).length; - if (huro.type === 'minkan' && doras.includes(huro.tile)) count += 4; - if (huro.type === 'ankan' && doras.includes(huro.tile)) count += 4; + if (huro.type === 'pon' && includes(doras, huro.tiles[0])) count += 3; + if (huro.type === 'cii') count += huro.tiles.filter(t => includes(doras, t)).length; + if (huro.type === 'minkan' && includes(doras, huro.tiles[0])) count += 4; + if (huro.type === 'ankan' && includes(doras, huro.tiles[0])) count += 4; } return count; } @@ -355,7 +376,7 @@ export function calcRedDoraCount(handTiles: TileId[], huros: Huro[]): number { return count; } -export function calcTsumoHoraPointDeltas(house: House, fans: number): Record { +export function calcTsumoHoraPointDeltas(house: House, fansOrFactor: number | PointFactor): Record { const isParent = house === 'e'; const deltas: Record = { @@ -365,7 +386,7 @@ export function calcTsumoHoraPointDeltas(house: House, fans: number): Record | Required; + +abstract class YakuSetBase { + public readonly isYakuman: IsYakuman; + + public readonly yakus: YakuData[]; + + public get yakuNames(): YakuName[] { + return this.yakus.map(yaku => yaku.name); + } + + constructor(isYakuman: IsYakuman, yakus: YakuData[]) { + this.isYakuman = isYakuman; + this.yakus = yakus; + } +} + +class NormalYakuSet extends YakuSetBase { + public readonly isMenzen: boolean; + + public readonly fan: number; + + constructor(isMenzen: boolean, yakus: Required[]) { + super(false, yakus); + this.isMenzen = isMenzen; + this.fan = yakus.reduce((fan, yaku) => fan + (!isMenzen && yaku.kuisagari ? yaku.fan - 1 : yaku.fan), 0); + } +} + +class YakumanSet extends YakuSetBase { + /** + * 何倍役満か + */ + public readonly value: number; + + constructor(yakus: Required[]) { + super(true, yakus); + this.value = yakus.reduce((value, yaku) => value + (yaku.isDoubleYakuman ? 2 : 1), 0); + } +} + +export type YakuSet = NormalYakuSet | YakumanSet; + +type YakuDefinitionBase = { + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantouWithWait | null) => boolean; }; -type YakuDefiniyion = { - name: YakuName; - upper?: YakuName; - fan?: number; - isYakuman?: boolean; - isDoubleYakuman?: boolean; - kuisagari?: boolean; - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => boolean; -}; +type NormalYakuDefinition = YakuDefinitionBase & NormalYakuData; + +type YakumanDefinition = YakuDefinitionBase & YakumanData; function countTiles(tiles: TileType[], target: TileType): number { return tiles.filter(t => t === target).length; } -export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ +class Yakuhai implements NormalYakuDefinition { + readonly name: NormalYakuName; + + readonly fan = 1; + + readonly isYakuman = false; + + readonly tile: typeof CHAR_TILES[number]; + + constructor(name: NormalYakuName, house: typeof CHAR_TILES[number]) { + this.name = name; + this.tile = house; + } + + calc(state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null): boolean { + if (fourMentsuOneJyantou == null) return false; + + return ( + (countTiles(state.handTiles, this.tile) >= 3) || + (state.huros.some(huro => + huro.type === 'pon' ? huro.tile === this.tile : + huro.type === 'ankan' ? huro.tile === this.tile : + huro.type === 'minkan' ? huro.tile === this.tile : + false)) + ); + } +} + +class FieldWind extends Yakuhai { + calc(state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null): boolean { + return super.calc(state, fourMentsuOneJyantou) && state.fieldWind === this.tile; + } +} + +class SeatWind extends Yakuhai { + calc(state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null): boolean { + return super.calc(state, fourMentsuOneJyantou) && state.seatWind === this.tile; + } +} + +/** + * 2つの同じ面子の組を数える (一盃口なら1、二盃口なら2) + */ +function countIndenticalMentsuPairs(mentsus: [TileType, TileType, TileType][]) { + let result = 0; + const singleMentsus: [TileType, TileType, TileType][] = []; + loop: for (const mentsu of mentsus) { + for (let i = 0 ; i < singleMentsus.length ; i++) { + if (mentsuEquals(mentsu, singleMentsus[i])) { + result++; + singleMentsus.splice(i, 1); + continue loop; + } + } + singleMentsus.push(mentsu); + } + return result; +} + +/** + * 暗刻の数を数える (三暗刻なら3、四暗刻なら4) + */ +function countAnkos(state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantouWithWait) { + let ankans = state.huros.filter(huro => huro.type == 'ankan').length; + const handKotsus = fourMentsuOneJyantou.mentsus.filter(mentsu => isKotsu(mentsu)).length; + + // ロンによりできた刻子は暗刻ではない + if (state.ronTile != null && fourMentsuOneJyantou.waitedFor == 'mentsu' && isToitsu(fourMentsuOneJyantou.waitedTaatsu)) { + return ankans + handKotsus - 1; + } + + return ankans + handKotsus; +} + +export const NORMAL_YAKU_DEFINITIONS: NormalYakuDefinition[] = [{ name: 'tsumo', fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + // 門前じゃないとダメ + if (state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type))) return false; return state.tsumoTile != null; }, @@ -154,173 +320,67 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - return state.riichi; + return !state.doubleRiichi && (state.riichi ?? false); }, +}, { + name: 'double-riichi', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku) => { + return state.doubleRiichi ?? false; + } }, { name: 'ippatsu', fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - return state.ippatsu; + return state.ippatsu ?? false; }, }, { - name: 'red', + name: 'rinshan', fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return ( - (countTiles(state.handTiles, 'chun') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'chun' : - huro.type === 'ankan' ? huro.tile === 'chun' : - huro.type === 'minkan' ? huro.tile === 'chun' : - false).length >= 3) - ); - }, + return (state.tsumoTile != null && state.rinshan) ?? false; + } }, { - name: 'white', + name: 'haitei', fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return ( - (countTiles(state.handTiles, 'haku') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'haku' : - huro.type === 'ankan' ? huro.tile === 'haku' : - huro.type === 'minkan' ? huro.tile === 'haku' : - false).length >= 3) - ); - }, + return (state.tsumoTile != null && state.haitei) ?? false; + } }, { - name: 'green', + name: 'hotei', fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return ( - (countTiles(state.handTiles, 'hatsu') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'hatsu' : - huro.type === 'ankan' ? huro.tile === 'hatsu' : - huro.type === 'minkan' ? huro.tile === 'hatsu' : - false).length >= 3) - ); - }, -}, { - name: 'field-wind-e', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return state.fieldWind === 'e' && ( - (countTiles(state.handTiles, 'e') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'e' : - huro.type === 'ankan' ? huro.tile === 'e' : - huro.type === 'minkan' ? huro.tile === 'e' : - false).length >= 3) - ); - }, -}, { - name: 'field-wind-s', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return state.fieldWind === 's' && ( - (countTiles(state.handTiles, 's') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 's' : - huro.type === 'ankan' ? huro.tile === 's' : - huro.type === 'minkan' ? huro.tile === 's' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-e', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return state.house === 'e' && ( - (countTiles(state.handTiles, 'e') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'e' : - huro.type === 'ankan' ? huro.tile === 'e' : - huro.type === 'minkan' ? huro.tile === 'e' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-s', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return state.house === 's' && ( - (countTiles(state.handTiles, 's') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 's' : - huro.type === 'ankan' ? huro.tile === 's' : - huro.type === 'minkan' ? huro.tile === 's' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-w', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return state.house === 'w' && ( - (countTiles(state.handTiles, 'w') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'w' : - huro.type === 'ankan' ? huro.tile === 'w' : - huro.type === 'minkan' ? huro.tile === 'w' : - false).length >= 3) - ); - }, -}, { - name: 'seat-wind-n', - fan: 1, - isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - - return state.house === 'n' && ( - (countTiles(state.handTiles, 'n') >= 3) || - (state.huros.filter(huro => - huro.type === 'pon' ? huro.tile === 'n' : - huro.type === 'ankan' ? huro.tile === 'n' : - huro.type === 'minkan' ? huro.tile === 'n' : - false).length >= 3) - ); - }, -}, { + return (state.ronTile != null && state.hotei) ?? false; + } +}, +new Yakuhai('red', 'chun'), +new Yakuhai('white', 'haku'), +new Yakuhai('green', 'hatsu'), +new FieldWind('field-wind-e', 'e'), +new FieldWind('field-wind-s', 's'), +new FieldWind('field-wind-w', 'w'), +new FieldWind('field-wind-n', 'n'), +new SeatWind('seat-wind-e', 'e'), +new SeatWind('seat-wind-s', 's'), +new SeatWind('seat-wind-w', 'w'), +new SeatWind('seat-wind-n', 'n'), +{ name: 'tanyao', fan: 1, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - return ( - (!state.handTiles.some(t => YAOCHU_TILES.includes(t))) && + (!state.handTiles.some(t => includes(YAOCHU_TILES, t))) && (state.huros.filter(huro => - huro.type === 'pon' ? YAOCHU_TILES.includes(huro.tile) : - huro.type === 'ankan' ? YAOCHU_TILES.includes(huro.tile) : - huro.type === 'minkan' ? YAOCHU_TILES.includes(huro.tile) : - huro.type === 'cii' ? huro.tiles.some(t2 => YAOCHU_TILES.includes(t2)) : + huro.type === 'pon' ? includes(YAOCHU_TILES, huro.tile) : + huro.type === 'ankan' ? includes(YAOCHU_TILES, huro.tile) : + huro.type === 'minkan' ? includes(YAOCHU_TILES, huro.tile) : + huro.type === 'cii' ? huro.tiles.some(t2 => includes(YAOCHU_TILES, t2)) : false).length === 0) ); }, @@ -328,15 +388,16 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ name: 'pinfu', fan: 1, isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantouWithWait | null) => { if (fourMentsuOneJyantou == null) return false; // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + if (state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type))) return false; // 三元牌はダメ if (state.handTiles.some(t => ['haku', 'hatsu', 'chun'].includes(t))) return false; - // TODO: 両面待ちかどうか + // 両面待ちかどうか + if (!(fourMentsuOneJyantou != null && fourMentsuOneJyantou.waitedFor == 'mentsu' && isRyanmen(fourMentsuOneJyantou.waitedTaatsu))) return false; // 風牌判定(役牌でなければOK) if (fourMentsuOneJyantou.head === state.seatWind) return false; @@ -353,20 +414,18 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ isYakuman: false, kuisagari: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - const tiles = state.handTiles; - let manzuCount = tiles.filter(t => MANZU_TILES.includes(t)).length; - let pinzuCount = tiles.filter(t => PINZU_TILES.includes(t)).length; - let souzuCount = tiles.filter(t => SOUZU_TILES.includes(t)).length; - let charCount = tiles.filter(t => CHAR_TILES.includes(t)).length; + let manzuCount = tiles.filter(t => includes(MANZU_TILES, t)).length; + let pinzuCount = tiles.filter(t => includes(PINZU_TILES, t)).length; + let souzuCount = tiles.filter(t => includes(SOUZU_TILES, t)).length; + let charCount = tiles.filter(t => includes(CHAR_TILES, t)).length; for (const huro of state.huros) { const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; - manzuCount += huroTiles.filter(t => MANZU_TILES.includes(t)).length; - pinzuCount += huroTiles.filter(t => PINZU_TILES.includes(t)).length; - souzuCount += huroTiles.filter(t => SOUZU_TILES.includes(t)).length; - charCount += huroTiles.filter(t => CHAR_TILES.includes(t)).length; + manzuCount += huroTiles.filter(t => includes(MANZU_TILES, t)).length; + pinzuCount += huroTiles.filter(t => includes(PINZU_TILES, t)).length; + souzuCount += huroTiles.filter(t => includes(SOUZU_TILES, t)).length; + charCount += huroTiles.filter(t => includes(CHAR_TILES, t)).length; } if (manzuCount > 0 && pinzuCount > 0) return false; @@ -382,20 +441,18 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ isYakuman: false, kuisagari: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - const tiles = state.handTiles; - let manzuCount = tiles.filter(t => MANZU_TILES.includes(t)).length; - let pinzuCount = tiles.filter(t => PINZU_TILES.includes(t)).length; - let souzuCount = tiles.filter(t => SOUZU_TILES.includes(t)).length; - let charCount = tiles.filter(t => CHAR_TILES.includes(t)).length; + let manzuCount = tiles.filter(t => includes(MANZU_TILES, t)).length; + let pinzuCount = tiles.filter(t => includes(PINZU_TILES, t)).length; + let souzuCount = tiles.filter(t => includes(SOUZU_TILES, t)).length; + let charCount = tiles.filter(t => includes(CHAR_TILES, t)).length; for (const huro of state.huros) { const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; - manzuCount += huroTiles.filter(t => MANZU_TILES.includes(t)).length; - pinzuCount += huroTiles.filter(t => PINZU_TILES.includes(t)).length; - souzuCount += huroTiles.filter(t => SOUZU_TILES.includes(t)).length; - charCount += huroTiles.filter(t => CHAR_TILES.includes(t)).length; + manzuCount += huroTiles.filter(t => includes(MANZU_TILES, t)).length; + pinzuCount += huroTiles.filter(t => includes(PINZU_TILES, t)).length; + souzuCount += huroTiles.filter(t => includes(SOUZU_TILES, t)).length; + charCount += huroTiles.filter(t => includes(CHAR_TILES, t)).length; } if (charCount > 0) return false; @@ -413,12 +470,23 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ if (fourMentsuOneJyantou == null) return false; // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + if (state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type))) return false; // 同じ順子が2つあるか? - return fourMentsuOneJyantou.mentsus.some((mentsu) => - fourMentsuOneJyantou.mentsus.filter((mentsu2) => - mentsu2[0] === mentsu[0] && mentsu2[1] === mentsu[1] && mentsu2[2] === mentsu[2]).length >= 2); + return countIndenticalMentsuPairs(fourMentsuOneJyantou.mentsus) == 1; + }, +}, { + name: 'ryampeko', + fan: 3, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + // 面前じゃないとダメ + if (state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type))) return false; + + // 2つの同じ順子が2組あるか? + return countIndenticalMentsuPairs(fourMentsuOneJyantou.mentsus) == 2; }, }, { name: 'toitoi', @@ -440,9 +508,25 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ name: 'sananko', fan: 2, isYakuman: false, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantouWithWait | null) => { + return fourMentsuOneJyantou != null && countAnkos(state, fourMentsuOneJyantou) == 3; }, +}, { + name: 'honroto', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku) => { + return state.huros.every(huro => huro.type != 'cii' && includes(YAOCHU_TILES, huro.tile)) && + state.handTiles.every(tile => includes(YAOCHU_TILES, tile)); + } +}, { + name: 'sankantsu', + fan: 2, + isYakuman: false, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + return fourMentsuOneJyantou != null && + state.huros.filter(huro => huro.type == 'ankan' || huro.type == 'minkan').length == 3; + } }, { name: 'sanshoku-dojun', fan: 2, @@ -520,6 +604,7 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ if (fourMentsuOneJyantou == null) return false; const shuntsus = fourMentsuOneJyantou.mentsus.filter(tiles => isShuntu(tiles)); + shuntsus.push(...state.huros.filter(huro => huro.type == 'cii').map(huro => huro.tiles)); if (shuntsus.some(tiles => tiles[0] === 'm1' && tiles[1] === 'm2' && tiles[2] === 'm3')) { if (shuntsus.some(tiles => tiles[0] === 'm4' && tiles[1] === 'm5' && tiles[2] === 'm6')) { @@ -545,11 +630,63 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ return false; }, +}, { + name: 'chanta', + fan: 2, + isYakuman: false, + kuisagari: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const { head, mentsus } = fourMentsuOneJyantou; + const { huros } = state; + + // 雀頭は幺九牌じゃないとダメ + if (!includes(YAOCHU_TILES, head)) return false; + + // 順子は1つ以上じゃないとダメ + if (!mentsus.some(mentsu => isShuntu(mentsu))) return false; + + // いずれかの雀頭か面子に字牌を含まないとダメ + if (!(includes(CHAR_TILES, head) || + mentsus.some(mentsu => includes(CHAR_TILES, mentsu[0])) || + huros.some(huro => huro.type != 'cii' && includes(CHAR_TILES, huro.tile)))) return false; + + // 全ての面子に幺九牌が含まれる + return (mentsus.every(mentsu => mentsu.some(tile => includes(YAOCHU_TILES, tile))) && + huros.every(huro => huro.type == 'cii' ? + huro.tiles.some(tile => includes(YAOCHU_TILES, tile)) : + includes(YAOCHU_TILES, huro.tile))); + }, +}, { + name: 'junchan', + fan: 3, + isYakuman: false, + kuisagari: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou == null) return false; + + const { head, mentsus } = fourMentsuOneJyantou; + const { huros } = state; + + // 雀頭は老頭牌じゃないとダメ + if (!includes(TERMINAL_TILES, head)) return false; + + // 順子は1つ以上じゃないとダメ + if (!mentsus.some(mentsu => isShuntu(mentsu))) return false; + + // 全ての面子に老頭牌が含まれる + return (mentsus.every(mentsu => mentsu.some(tile => includes(TERMINAL_TILES, tile))) && + huros.every(huro => huro.type == 'cii' ? + huro.tiles.some(tile => includes(TERMINAL_TILES, tile)) : + includes(TERMINAL_TILES, huro.tile))); + }, }, { name: 'chitoitsu', fan: 2, isYakuman: false, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + if (fourMentsuOneJyantou != null) return false; if (state.huros.length > 0) return false; const countMap = new Map(); for (const tile of state.handTiles) { @@ -587,7 +724,21 @@ export const NORMAL_YAKU_DEFINITIONS: YakuDefiniyion[] = [{ }, }]; -export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ +export const YAKUMAN_DEFINITIONS: YakumanDefinition[] = [{ + name: 'suanko-tanki', + isYakuman: true, + isDoubleYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantouWithWait | null) => { + return fourMentsuOneJyantou != null && fourMentsuOneJyantou.waitedFor == 'head' && countAnkos(state, fourMentsuOneJyantou) == 4; + } +}, { + name: 'suanko', + isYakuman: true, + upper: 'suanko-tanki', + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantouWithWait | null) => { + return fourMentsuOneJyantou != null && countAnkos(state, fourMentsuOneJyantou) == 4; + } +}, { name: 'daisangen', isYakuman: true, calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { @@ -656,19 +807,17 @@ export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ }, { name: 'tsuiso', isYakuman: true, - calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - if (fourMentsuOneJyantou == null) return false; - + calc: (state: EnvForCalcYaku) => { const tiles = state.handTiles; - let manzuCount = tiles.filter(t => MANZU_TILES.includes(t)).length; - let pinzuCount = tiles.filter(t => PINZU_TILES.includes(t)).length; - let souzuCount = tiles.filter(t => SOUZU_TILES.includes(t)).length; + let manzuCount = tiles.filter(t => includes(MANZU_TILES, t)).length; + let pinzuCount = tiles.filter(t => includes(PINZU_TILES, t)).length; + let souzuCount = tiles.filter(t => includes(SOUZU_TILES, t)).length; for (const huro of state.huros) { const huroTiles = huro.type === 'cii' ? huro.tiles : huro.type === 'pon' ? [huro.tile, huro.tile, huro.tile] : [huro.tile, huro.tile, huro.tile, huro.tile]; - manzuCount += huroTiles.filter(t => MANZU_TILES.includes(t)).length; - pinzuCount += huroTiles.filter(t => PINZU_TILES.includes(t)).length; - souzuCount += huroTiles.filter(t => SOUZU_TILES.includes(t)).length; + manzuCount += huroTiles.filter(t => includes(MANZU_TILES, t)).length; + pinzuCount += huroTiles.filter(t => includes(PINZU_TILES, t)).length; + souzuCount += huroTiles.filter(t => includes(SOUZU_TILES, t)).length; } if (manzuCount > 0 || pinzuCount > 0 || souzuCount > 0) return false; @@ -690,6 +839,21 @@ export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ return true; }, +}, { + name: 'chinroto', + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + return fourMentsuOneJyantou != null && + state.huros.every(huro => huro.type != 'cii' && includes(TERMINAL_TILES, huro.tile)) && + state.handTiles.every(tile => includes(TERMINAL_TILES, tile)); + } +}, { + name: 'sukantsu', + isYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + return fourMentsuOneJyantou != null && + state.huros.filter(huro => huro.type == 'ankan' || huro.type == 'minkan').length == 4; + } }, { name: 'churen-9', isYakuman: true, @@ -698,9 +862,12 @@ export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ if (fourMentsuOneJyantou == null) return false; // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + if (state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type))) return false; const agariTile = state.tsumoTile ?? state.ronTile; + if (agariTile == null) { + return false; + } const tempaiTiles = [...state.handTiles]; tempaiTiles.splice(state.handTiles.indexOf(agariTile), 1); @@ -734,7 +901,7 @@ export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ if (fourMentsuOneJyantou == null) return false; // 面前じゃないとダメ - if (state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type))) return false; + if (state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type))) return false; if (isManzu(state.handTiles[0])) { if ((countTiles(state.handTiles, 'm1') === 3) && (countTiles(state.handTiles, 'm9') === 3)) { @@ -758,44 +925,120 @@ export const YAKUMAN_DEFINITIONS: YakuDefiniyion[] = [{ return false; }, +}, { + name: 'kokushi-13', + isYakuman: true, + isDoubleYakuman: true, + calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { + const agariTile = state.tsumoTile ?? state.ronTile; + return KOKUSHI_TILES.every(t => state.handTiles.includes(t)) && countTiles(state.handTiles, agariTile) == 2; + } }, { name: 'kokushi', isYakuman: true, + upper: 'kokushi-13', calc: (state: EnvForCalcYaku, fourMentsuOneJyantou: FourMentsuOneJyantou | null) => { - return KOKUSHI_TILES.every(t => state.handTiles.includes(t)); + return KOKUSHI_TILES.every(t => state.handTiles.includes(t)) && KOKUSHI_TILES.some(t => countTiles(state.handTiles, t) == 2); }, +}, { + name: 'tenho', + isYakuman: true, + calc: (state: EnvForCalcYaku) => { + return (state.firstTurn ?? false) && state.tsumoTile != null && state.seatWind == 'e'; + } +}, { + name: 'chiho', + isYakuman: true, + calc: (state: EnvForCalcYaku) => { + return (state.firstTurn ?? false) && state.tsumoTile != null && state.seatWind != 'e'; + } }]; -export const YAKU_DEFINITIONS = NORMAL_YAKU_DEFINITIONS.concat(YAKUMAN_DEFINITIONS); +export function convertHuroForCalcYaku(huro: Huro): HuroForCalcYaku { + switch (huro.type) { + case 'pon': + case 'ankan': + case 'minkan': + return { + type: huro.type, + tile: TILE_ID_MAP.get(huro.tiles[0])!.t, + } + case 'cii': + return { + type: 'cii', + tiles: huro.tiles.map(tile => TILE_ID_MAP.get(tile)!.t) as [TileType, TileType, TileType], + }; + } +} + +const NORMAL_YAKU_DATA_MAP = new Map>( + NORMAL_YAKU_DEFINITIONS.map(yaku => [yaku.name, { + name: yaku.name, + upper: yaku.upper ?? null, + fan: yaku.fan, + isYakuman: false, + kuisagari: yaku.kuisagari ?? false, + }] as const) +); + +const YAKUMAN_DATA_MAP = new Map>( + YAKUMAN_DEFINITIONS.map(yaku => [yaku.name, { + name: yaku.name, + upper: yaku.upper ?? null, + fan: null, + isYakuman: true, + isDoubleYakuman: yaku.isDoubleYakuman ?? false, + }]) +); + +export function calcYakusWithDetail(state: EnvForCalcYaku): YakuSet { + if (state.riichi && state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type)) ) { + throw new TypeError('Invalid riichi state with call huros'); + } + + const agariTile = state.tsumoTile ?? state.ronTile; + if (!state.handTiles.includes(agariTile)) { + throw new TypeError('Agari tile not included in hand tiles'); + } + + if (state.handTiles.length + state.huros.length * 3 != 14) { + throw new TypeError('Invalid tile count'); + } -export function calcYakus(state: EnvForCalcYaku): YakuName[] { const oneHeadFourMentsuPatterns: (FourMentsuOneJyantou | null)[] = analyzeFourMentsuOneJyantou(state.handTiles); if (oneHeadFourMentsuPatterns.length === 0) oneHeadFourMentsuPatterns.push(null); - const yakumanPatterns = oneHeadFourMentsuPatterns.map(fourMentsuOneJyantou => { - const matchedYakus: YakuDefiniyion[] = []; - for (const yakuDef of YAKUMAN_DEFINITIONS) { - if (yakuDef.upper && matchedYakus.some(yaku => yaku.name === yakuDef.upper)) continue; - const matched = yakuDef.calc(state, fourMentsuOneJyantou); - if (matched) { - matchedYakus.push(yakuDef); + const waitPatterns = oneHeadFourMentsuPatterns.map( + fourMentsuOneJyantou => calcWaitPatterns(fourMentsuOneJyantou, agariTile) + ).flat(); + + const yakumanPatterns = waitPatterns.map(fourMentsuOneJyantouWithWait => { + const matchedYakus: Required[] = []; + for (const yakuDef of YAKUMAN_DEFINITIONS) { + if (yakuDef.upper && matchedYakus.some(yaku => yaku.name === yakuDef.upper)) continue; + const matched = yakuDef.calc(state, fourMentsuOneJyantouWithWait); + if (matched) { + matchedYakus.push(YAKUMAN_DATA_MAP.get(yakuDef.name)!); + } } - } - return matchedYakus; - }).filter(yakus => yakus.length > 0); + return matchedYakus; + }).filter(yakus => yakus.length > 0); if (yakumanPatterns.length > 0) { - return yakumanPatterns[0].map(yaku => yaku.name); + return new YakumanSet(yakumanPatterns[0]); } - const yakuPatterns = oneHeadFourMentsuPatterns.map(fourMentsuOneJyantou => { - return NORMAL_YAKU_DEFINITIONS.map(yakuDef => { - const result = yakuDef.calc(state, fourMentsuOneJyantou); - return result ? yakuDef : null; - }).filter(yaku => yaku != null) as YakuDefiniyion[]; - }).filter(yakus => yakus.length > 0); + const yakuPatterns = waitPatterns.map( + fourMentsuOneJyantouWithWait => NORMAL_YAKU_DEFINITIONS.filter( + yakuDef => yakuDef.calc(state, fourMentsuOneJyantouWithWait) + ).map(yakuDef => NORMAL_YAKU_DATA_MAP.get(yakuDef.name)!) + ).filter(yakus => yakus.length > 0); - const isMenzen = state.huros.some(huro => CALL_HURO_TYPES.includes(huro.type)); + const isMenzen = state.huros.some(huro => includes(CALL_HURO_TYPES, huro.type)); + + if (yakuPatterns.length == 0) { + return new NormalYakuSet(isMenzen, []); + } let maxYakus = yakuPatterns[0]; let maxFan = 0; @@ -814,5 +1057,9 @@ export function calcYakus(state: EnvForCalcYaku): YakuName[] { } } - return maxYakus.map(yaku => yaku.name); + return new NormalYakuSet(isMenzen, maxYakus); +} + +export function calcYakus(state: EnvForCalcYaku): YakuName[] { + return calcYakusWithDetail(state).yakuNames; } diff --git a/packages/misskey-mahjong/src/engine.master.ts b/packages/misskey-mahjong/src/engine.master.ts index 45c10cfc74..f27fafd011 100644 --- a/packages/misskey-mahjong/src/engine.master.ts +++ b/packages/misskey-mahjong/src/engine.master.ts @@ -7,7 +7,9 @@ import CRC32 from 'crc-32'; import { TileType, House, Huro, TileId } from './common.js'; import * as Common from './common.js'; import { PlayerState } from './engine.player.js'; -import { YAKU_DEFINITIONS } from "./common.yaku.js"; +import { calcYakusWithDetail, convertHuroForCalcYaku, YakuData, YakuSet } from './common.yaku.js'; + +export const INITIAL_POINT = 25000; //#region syntax suger function $(tid: TileId): Common.TileInstance { @@ -134,13 +136,33 @@ class StateManager { pattern.filter(t => hand.includes(t)).length >= 2); } - public tsumo(): TileId { - const tile = this.$state.tiles.pop(); + private withTsumoTile(tile: TileId | undefined, isRinshan: boolean): TileId { if (tile == null) throw new Error('No tiles left'); if (this.$state.turn == null) throw new Error('Not your turn'); this.$state.handTiles[this.$state.turn].push(tile); + this.$state.rinshanFlags[this.$state.turn] = isRinshan; return tile; } + + public tsumo(): TileId { + return this.withTsumoTile(this.$state.tiles.pop(), false); + } + + public rinshanTsumo(): TileId { + return this.withTsumoTile(this.$state.tiles.shift(), true); + } + + public clearFirstTurnAndIppatsus(): void { + this.$state.firstTurnFlags.e = false; + this.$state.firstTurnFlags.s = false; + this.$state.firstTurnFlags.w = false; + this.$state.firstTurnFlags.n = false; + + this.$state.ippatsus.e = false; + this.$state.ippatsus.s = false; + this.$state.ippatsus.w = false; + this.$state.ippatsus.n = false; + } } export type MasterState = { @@ -178,18 +200,36 @@ export type MasterState = { w: Huro[]; n: Huro[]; }; + firstTurnFlags: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; riichis: { e: boolean; s: boolean; w: boolean; n: boolean; }; + doubleRiichis: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; ippatsus: { e: boolean; s: boolean; w: boolean; n: boolean; }; + rinshanFlags: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + } points: { e: number; s: number; @@ -304,7 +344,7 @@ export class MasterGameEngine { return this.stateManager.turn; } - public static createInitialState(): MasterState { + public static createInitialState(preset: Partial = {}): MasterState { const ikasama: TileId[] = [125, 129, 9, 56, 57, 61, 77, 81, 85, 133, 134, 135, 121, 122]; const tiles = shuffle([...Common.TILE_ID_MAP.keys()]); @@ -350,23 +390,41 @@ export class MasterGameEngine { w: [], n: [], }, + firstTurnFlags: { + e: true, + s: true, + w: true, + n: true, + }, riichis: { e: false, s: false, w: false, n: false, }, + doubleRiichis: { + e: false, + s: false, + w: false, + n: false, + }, ippatsus: { e: false, s: false, w: false, n: false, }, + rinshanFlags: { + e: false, + s: false, + w: false, + n: false, + }, points: { - e: 25000, - s: 25000, - w: 25000, - n: 25000, + e: INITIAL_POINT, + s: INITIAL_POINT, + w: INITIAL_POINT, + n: INITIAL_POINT, }, turn: 'e', nextTurnAfterAsking: null, @@ -376,6 +434,7 @@ export class MasterGameEngine { cii: null, kan: null, }, + ...preset, }; } @@ -433,8 +492,14 @@ export class MasterGameEngine { if (riichi) { tx.$state.riichis[house] = true; tx.$state.ippatsus[house] = true; + if (tx.$state.firstTurnFlags[house]) { + tx.$state.doubleRiichis[house] = true; + } } + tx.$state.firstTurnFlags[house] = false; + tx.$state.rinshanFlags[house] = false; + const canRonHouses: House[] = []; switch (house) { case 'e': @@ -548,20 +613,17 @@ export class MasterGameEngine { public commit_kakan(house: House, tid: TileId) { const tx = this.startTransaction(); - const pon = tx.$state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)); + const pon = tx.$state.huros[house].find(h => h.type === 'pon' && $type(h.tiles[0]) === $type(tid)) as Huro & {type: 'pon'}; if (pon == null) throw new Error('No such pon'); tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(tid), 1); - const tiles = [tid, ...pon.tiles]; + const tiles = [tid, ...pon.tiles] as const; tx.$state.huros[house].push({ type: 'minkan', tiles: tiles, from: pon.from }); - tx.$state.ippatsus.e = false; - tx.$state.ippatsus.s = false; - tx.$state.ippatsus.w = false; - tx.$state.ippatsus.n = false; + tx.clearFirstTurnAndIppatsus(); tx.$state.activatedDorasCount++; - const rinsyan = tx.tsumo(); + const rinsyan = tx.rinshanTsumo(); tx.$commit(); @@ -587,17 +649,14 @@ export class MasterGameEngine { tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t2), 1); tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t3), 1); tx.$state.handTiles[house].splice(tx.$state.handTiles[house].indexOf(t4), 1); - const tiles = [t1, t2, t3, t4]; + const tiles = [t1, t2, t3, t4] as const; tx.$state.huros[house].push({ type: 'ankan', tiles: tiles }); - tx.$state.ippatsus.e = false; - tx.$state.ippatsus.s = false; - tx.$state.ippatsus.w = false; - tx.$state.ippatsus.n = false; + tx.clearFirstTurnAndIppatsus(); tx.$state.activatedDorasCount++; - const rinsyan = tx.tsumo(); + const rinsyan = tx.rinshanTsumo(); tx.$commit(); @@ -611,36 +670,40 @@ export class MasterGameEngine { * ツモ和了 * @param house */ - public commit_tsumoHora(house: House) { + public commit_tsumoHora(house: House, doLog = true) { const tx = this.startTransaction(); if (tx.$state.turn !== house) throw new Error('Not your turn'); - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ - house: house, + const yakus = calcYakusWithDetail({ + seatWind: house, handTiles: tx.handTileTypes[house], - huros: tx.$state.huros[house], + huros: tx.$state.huros[house].map(convertHuroForCalcYaku), tsumoTile: tx.handTileTypes[house].at(-1)!, ronTile: null, + firstTurn: tx.$state.firstTurnFlags[house], riichi: tx.$state.riichis[house], + doubleRiichi: tx.$state.doubleRiichis[house], ippatsu: tx.$state.ippatsus[house], - })); + rinshan: tx.$state.rinshanFlags[house], + haitei: tx.$state.tiles.length == 0, + }); const doraCount = Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.$state.huros[house], tx.doras) + Common.calcRedDoraCount(tx.$state.handTiles[house], tx.$state.huros[house]); - const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; - const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); + const pointDeltas = Common.calcTsumoHoraPointDeltas(house, yakus); tx.$state.points.e += pointDeltas.e; tx.$state.points.s += pointDeltas.s; tx.$state.points.w += pointDeltas.w; tx.$state.points.n += pointDeltas.n; - console.log('yakus', house, yakus); + if (doLog) console.log('yakus', house, yakus); tx.$commit(); return { handTiles: tx.$state.handTiles[house], tsumoTile: tx.$state.handTiles[house].at(-1)!, + yakus, }; } @@ -649,7 +712,7 @@ export class MasterGameEngine { cii: false | 'x__' | '_x_' | '__x'; kan: boolean; ron: House[]; - }) { + }, doLog = true) { const tx = this.startTransaction(); if (tx.$state.askings.pon == null && tx.$state.askings.cii == null && tx.$state.askings.kan == null && tx.$state.askings.ron == null) throw new Error(); @@ -668,26 +731,31 @@ export class MasterGameEngine { const callers = answers.ron; const callee = ron.callee; - for (const house of callers) { - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ - house: house, - handTiles: tx.handTileTypes[house], - huros: tx.$state.huros[house], + const yakus: { [K in House]?: YakuSet } = Object.fromEntries(callers.map(house => { + const ronTile = tx.hoTileTypes[callee].at(-1)!; + const yakus = calcYakusWithDetail({ + seatWind: house, + handTiles: tx.handTileTypes[house].concat([ronTile]), + huros: tx.$state.huros[house].map(convertHuroForCalcYaku), tsumoTile: null, - ronTile: tx.hoTileTypes[callee].at(-1)!, + ronTile, + firstTurn: tx.$state.firstTurnFlags[house], riichi: tx.$state.riichis[house], + doubleRiichi: tx.$state.doubleRiichis[house], ippatsu: tx.$state.ippatsus[house], - })); + hotei: tx.$state.tiles.length == 0, + }); const doraCount = Common.calcOwnedDoraCount(tx.handTileTypes[house], tx.$state.huros[house], tx.doras) + Common.calcRedDoraCount(tx.$state.handTiles[house], tx.$state.huros[house]); - const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; - const point = Common.fanToPoint(fans, house === 'e'); + const point = Common.calcPoint(yakus, house === 'e'); tx.$state.points[callee] -= point; tx.$state.points[house] += point; - console.log('fans point', fans, point); - console.log('yakus', house, yakus); - } + if (doLog) { + console.log('yakus', house, yakus); + } + return [house, yakus] as const; + })); tx.$commit(); @@ -696,6 +764,7 @@ export class MasterGameEngine { callers: ron.callers, callee: ron.callee, turn: null, + yakus, }; } else if (kan != null && answers.kan) { // 大明槓 @@ -712,17 +781,14 @@ export class MasterGameEngine { tx.$state.handTiles[kan.caller].splice(tx.$state.handTiles[kan.caller].indexOf(t2), 1); tx.$state.handTiles[kan.caller].splice(tx.$state.handTiles[kan.caller].indexOf(t3), 1); - const tiles = [tile, t1, t2, t3]; + const tiles = [tile, t1, t2, t3] as const; tx.$state.huros[kan.caller].push({ type: 'minkan', tiles: tiles, from: kan.callee }); - tx.$state.ippatsus.e = false; - tx.$state.ippatsus.s = false; - tx.$state.ippatsus.w = false; - tx.$state.ippatsus.n = false; + tx.clearFirstTurnAndIppatsus(); tx.$state.activatedDorasCount++; - const rinsyan = tx.tsumo(); + const rinsyan = tx.rinshanTsumo(); tx.$state.turn = kan.caller; @@ -746,13 +812,10 @@ export class MasterGameEngine { tx.$state.handTiles[pon.caller].splice(tx.$state.handTiles[pon.caller].indexOf(t1), 1); tx.$state.handTiles[pon.caller].splice(tx.$state.handTiles[pon.caller].indexOf(t2), 1); - const tiles = [tile, t1, t2]; + const tiles = [tile, t1, t2] as const; tx.$state.huros[pon.caller].push({ type: 'pon', tiles: tiles, from: pon.callee }); - tx.$state.ippatsus.e = false; - tx.$state.ippatsus.s = false; - tx.$state.ippatsus.w = false; - tx.$state.ippatsus.n = false; + tx.clearFirstTurnAndIppatsus(); tx.$state.turn = pon.caller; @@ -816,10 +879,7 @@ export class MasterGameEngine { tx.$state.huros[cii.caller].push({ type: 'cii', tiles: tiles, from: cii.callee }); - tx.$state.ippatsus.e = false; - tx.$state.ippatsus.s = false; - tx.$state.ippatsus.w = false; - tx.$state.ippatsus.n = false; + tx.clearFirstTurnAndIppatsus(); tx.$state.turn = cii.caller; @@ -891,18 +951,36 @@ export class MasterGameEngine { w: this.$state.huros.w, n: this.$state.huros.n, }, + firstTurnFlags: { + e: this.$state.firstTurnFlags.e, + s: this.$state.firstTurnFlags.s, + w: this.$state.firstTurnFlags.w, + n: this.$state.firstTurnFlags.n, + }, riichis: { e: this.$state.riichis.e, s: this.$state.riichis.s, w: this.$state.riichis.w, n: this.$state.riichis.n, }, + doubleRiichis: { + e: this.$state.doubleRiichis.e, + s: this.$state.doubleRiichis.s, + w: this.$state.doubleRiichis.w, + n: this.$state.doubleRiichis.n, + }, ippatsus: { e: this.$state.ippatsus.e, s: this.$state.ippatsus.s, w: this.$state.ippatsus.w, n: this.$state.ippatsus.n, }, + rinshanFlags: { + e: this.$state.rinshanFlags.e, + s: this.$state.rinshanFlags.s, + w: this.$state.rinshanFlags.w, + n: this.$state.rinshanFlags.n, + }, points: { e: this.$state.points.e, s: this.$state.points.s, @@ -911,6 +989,10 @@ export class MasterGameEngine { }, latestDahaiedTile: null, turn: this.$state.turn, + canPon: null, + canCii: null, + canKan: null, + canRon: null, }; } diff --git a/packages/misskey-mahjong/src/engine.player.ts b/packages/misskey-mahjong/src/engine.player.ts index c16d81b046..092b10ef24 100644 --- a/packages/misskey-mahjong/src/engine.player.ts +++ b/packages/misskey-mahjong/src/engine.player.ts @@ -6,7 +6,7 @@ import CRC32 from 'crc-32'; import { TileType, House, Huro, TileId } from './common.js'; import * as Common from './common.js'; -import { YAKU_DEFINITIONS } from './common.yaku.js'; +import { calcYakusWithDetail, convertHuroForCalcYaku } from './common.yaku.js'; //#region syntax suger function $(tid: TileId): Common.TileInstance { @@ -53,18 +53,36 @@ export type PlayerState = { w: Huro[]; n: Huro[]; }; + firstTurnFlags: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; riichis: { e: boolean; s: boolean; w: boolean; n: boolean; }; + doubleRiichis: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + }; ippatsus: { e: boolean; s: boolean; w: boolean; n: boolean; }; + rinshanFlags: { + e: boolean; + s: boolean; + w: boolean; + n: boolean; + } points: { e: number; s: number; @@ -80,7 +98,7 @@ export type PlayerState = { }; export type KyokuResult = { - yakus: { name: string; fan: number; isYakuman: boolean; }[]; + yakus: { name: string; fan: number | null; isYakuman: boolean; }[]; doraCount: number; pointDeltas: { e: number; s: number; w: number; n: number; }; }; @@ -241,31 +259,30 @@ export class PlayerGameEngine { public commit_tsumoHora(house: House, handTiles: TileId[], tsumoTile: TileId): KyokuResult { console.log('commit_tsumoHora', this.state.turn, house); - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ - house: house, + const yakus = calcYakusWithDetail({ + seatWind: house, handTiles: handTiles.map(id => $type(id)), - huros: this.state.huros[house], + huros: this.state.huros[house].map(convertHuroForCalcYaku), tsumoTile: $type(tsumoTile), ronTile: null, + firstTurn: this.state.firstTurnFlags[house], riichi: this.state.riichis[house], + doubleRiichi: this.state.doubleRiichis[house], ippatsu: this.state.ippatsus[house], - })); + rinshan: this.state.rinshanFlags[house], + haitei: this.state.tilesCount == 0, + }); const doraCount = Common.calcOwnedDoraCount(handTiles.map(id => $type(id)), this.state.huros[house], this.doras) + Common.calcRedDoraCount(handTiles, this.state.huros[house]); - const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; - const pointDeltas = Common.calcTsumoHoraPointDeltas(house, fans); + const pointDeltas = Common.calcTsumoHoraPointDeltas(house, yakus); this.state.points.e += pointDeltas.e; this.state.points.s += pointDeltas.s; this.state.points.w += pointDeltas.w; this.state.points.n += pointDeltas.n; return { - yakus: yakus.map(yaku => ({ - name: yaku.name, - fan: yaku.fan, - isYakuman: yaku.isYakuman, - })), + yakus: yakus.yakus, doraCount, pointDeltas, }; @@ -293,24 +310,27 @@ export class PlayerGameEngine { n: { yakus: [], doraCount: 0, pointDeltas: { e: 0, s: 0, w: 0, n: 0 } }, }; + const ronTile = $type(this.state.hoTiles[callee].at(-1)!); for (const house of callers) { - const yakus = YAKU_DEFINITIONS.filter(yaku => yaku.calc({ - house: house, - handTiles: handTiles[house].map(id => $type(id)), - huros: this.state.huros[house], + const yakus = calcYakusWithDetail({ + seatWind: house, + handTiles: handTiles[house].map(id => $type(id)).concat([ronTile]), + huros: this.state.huros[house].map(convertHuroForCalcYaku), tsumoTile: null, - ronTile: $type(this.state.hoTiles[callee].at(-1)!), + ronTile: ronTile, + firstTurn: this.state.firstTurnFlags[house], riichi: this.state.riichis[house], + doubleRiichi: this.state.doubleRiichis[house], ippatsu: this.state.ippatsus[house], - })); + hotei: this.state.tilesCount == 0, + }); const doraCount = Common.calcOwnedDoraCount(handTiles[house].map(id => $type(id)), this.state.huros[house], this.doras) + Common.calcRedDoraCount(handTiles[house], this.state.huros[house]); - const fans = yakus.map(yaku => yaku.fan).reduce((a, b) => a + b, 0) + doraCount; - const point = Common.fanToPoint(fans, house === 'e'); + const point = Common.calcPoint(yakus, house === 'e'); this.state.points[callee] -= point; this.state.points[house] += point; - resultMap[house].yakus = yakus.map(yaku => ({ name: yaku.name, fan: yaku.fan, isYakuman: yaku.isYakuman })); + resultMap[house].yakus = yakus.yakus; resultMap[house].doraCount = doraCount; resultMap[house].pointDeltas[callee] = -point; resultMap[house].pointDeltas[house] = point; @@ -329,7 +349,7 @@ export class PlayerGameEngine { * @param caller ポンした人 * @param callee 牌を捨てた人 */ - public commit_pon(caller: House, callee: House, tiles: TileId[]) { + public commit_pon(caller: House, callee: House, tiles: readonly [TileId, TileId, TileId]) { this.state.canPon = null; this.state.hoTiles[callee].pop(); @@ -351,7 +371,7 @@ export class PlayerGameEngine { * @param caller 大明槓した人 * @param callee 牌を捨てた人 */ - public commit_kan(caller: House, callee: House, tiles: TileId[], rinsyan: TileId) { + public commit_kan(caller: House, callee: House, tiles: readonly [TileId, TileId, TileId, TileId], rinsyan: TileId) { this.state.canKan = null; this.state.hoTiles[callee].pop(); @@ -383,7 +403,7 @@ export class PlayerGameEngine { * @param caller チーした人 * @param callee 牌を捨てた人 */ - public commit_cii(caller: House, callee: House, tiles: TileId[]) { + public commit_cii(caller: House, callee: House, tiles: readonly [TileId, TileId, TileId]) { this.state.canCii = null; this.state.hoTiles[callee].pop(); diff --git a/packages/misskey-mahjong/test/engine.ts b/packages/misskey-mahjong/test/engine.ts new file mode 100644 index 0000000000..329d19ff9d --- /dev/null +++ b/packages/misskey-mahjong/test/engine.ts @@ -0,0 +1,235 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import * as assert from 'node:assert'; +import * as Common from '../src/common.js'; +import { TileType, TileId } from '../src/common.js'; +import { MasterGameEngine, MasterState, INITIAL_POINT } from '../src/engine.master.js'; + +const TILES = [71, 132, 108, 51, 39, 19, 3, 86, 104, 18, 50, 7, 45, 82, 43, 34, 111, 78, 53, 105, 126, 91, 112, 75, 119, 55, 95, 93, 65, 9, 66, 52, 79, 32, 99, 109, 56, 5, 101, 92, 1, 37, 62, 23, 27, 117, 77, 14, 31, 96, 120, 130, 29, 135, 100, 17, 102, 124, 59, 89, 49, 115, 107, 97, 90, 48, 25, 110, 68, 15, 74, 129, 69, 61, 73, 81, 11, 41, 44, 84, 13, 40, 33, 58, 30, 8, 38, 10, 87, 125, 57, 121, 21, 2, 54, 46, 22, 4, 133, 16, 76, 70, 60, 103, 114, 122, 24, 88, 36, 123, 47, 12, 128, 118, 116, 63, 26, 94, 67, 131, 64, 35, 113, 134, 6, 127, 80, 72, 42, 98, 85, 20, 106, 136, 83, 28]; + +const INITIAL_TILES_LENGTH = 69; + +class TileSetBuilder { + private restTiles = [...TILES]; + + private handTiles: { + e: TileId[] | null, + s: TileId[] | null, + w: TileId[] | null, + n: TileId[] | null, + } = { + e: null, + s: null, + w: null, + n: null, + }; + + private tiles = new Map; + + public setHandTiles(house: Common.House, tileTypes: TileType[]): this { + if (this.handTiles[house] != null) { + throw new TypeError(`Hand tiles of house '${house}' is already set`); + } + + const tiles = tileTypes.map(tile => { + const index = this.restTiles.findIndex(tileId => Common.TILE_ID_MAP.get(tileId)!.t == tile); + if (index == -1) { + throw new TypeError(`Tile '${tile}' is not left`); + } + return this.restTiles.splice(index, 1)[0]; + }); + + this.handTiles[house] = tiles; + + return this; + } + + /** + * 山のn番目(0始まり)の牌を指定する。nが負の場合、海底を-1として海底側から数える + */ + public setTile(n: number, tileType: TileType): this { + if (n < 0) { + n += INITIAL_TILES_LENGTH; + } + + if (n < 0 || n >= INITIAL_TILES_LENGTH) { + throw new RangeError(`Cannot set ${n}th tile`); + } + + const indexInTiles = INITIAL_TILES_LENGTH - n - 1; + + if (this.tiles.has(indexInTiles)) { + throw new TypeError(`${n}th tile is already set`); + } + + const indexInRestTiles = this.restTiles.findIndex(tileId => Common.TILE_ID_MAP.get(tileId)!.t == tileType); + if (indexInRestTiles == -1) { + throw new TypeError(`Tile '${tileType}' is not left`); + } + this.tiles.set(indexInTiles, this.restTiles.splice(indexInRestTiles, 1)[0]); + + return this; + } + + public build(): Pick { + const handTiles: MasterState['handTiles'] = { + e: this.handTiles.e ?? this.restTiles.splice(0, 14), + s: this.handTiles.s ?? this.restTiles.splice(0, 13), + w: this.handTiles.w ?? this.restTiles.splice(0, 13), + n: this.handTiles.n ?? this.restTiles.splice(0, 13), + }; + + const kingTiles: MasterState['kingTiles'] = this.restTiles.splice(0, 14); + + const tiles = [...this.restTiles]; + for (const [index, tile] of [...this.tiles.entries()].sort(([index1], [index2]) => index1 - index2)) { + tiles.splice(index, 0, tile); + } + + return { + tiles, + kingTiles, + handTiles, + }; + } +} + +function tsumogiri(engine: MasterGameEngine, riichi = false): void { + const house = engine.turn; + if (house == null) { + throw new Error('No one\'s turn'); + } + engine.commit_dahai(house, engine.handTiles[house].at(-1)!, riichi); +} + +function tsumogiriAndIgnore(engine: MasterGameEngine, riichi = false): void { + tsumogiri(engine, riichi); + if (engine.askings.pon != null || engine.askings.cii != null || engine.askings.kan != null || engine.askings.ron != null) { + engine.commit_resolveCallingInterruption({ + pon: false, + cii: false, + kan: false, + ron: [], + }); + } +} + +describe('Master game engine', () => { + it('tenho', () => { + const engine = new MasterGameEngine(MasterGameEngine.createInitialState( + new TileSetBuilder().setHandTiles('e', ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3']).build(), + )); + expect(engine.commit_tsumoHora('e', false).yakus.yakuNames).toEqual(['tenho']); + expect(engine.$state.points).toEqual({ + e: INITIAL_POINT + 48000, + s: INITIAL_POINT - 16000, + w: INITIAL_POINT - 16000, + n: INITIAL_POINT - 16000, + }); + }); + + it('chiho', () => { + const engine = new MasterGameEngine(MasterGameEngine.createInitialState( + new TileSetBuilder() + .setHandTiles('s', ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3']) + .setTile(0, 'm3') + .build(), + )); + tsumogiriAndIgnore(engine); + expect(engine.commit_tsumoHora('s', false).yakus.yakuNames).toEqual(['chiho']); + expect(engine.$state.points).toEqual({ + e: INITIAL_POINT - 16000, + s: INITIAL_POINT + 32000, + w: INITIAL_POINT - 8000, + n: INITIAL_POINT - 8000, + }); + }); + + it('rinshan', () => { + const engine = new MasterGameEngine(MasterGameEngine.createInitialState( + new TileSetBuilder() + .setHandTiles('e', ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'n']) + .setTile(-1, 'm3') + .build(), + )); + engine.commit_ankan('e', engine.$state.handTiles.e.at(-1)!); + expect(engine.commit_tsumoHora('e', false).yakus.yakuNames).toEqual(['tsumo', 'rinshan']); + expect(engine.$state.points).toEqual({ + e: INITIAL_POINT + 3000, + s: INITIAL_POINT - 1000, + w: INITIAL_POINT - 1000, + n: INITIAL_POINT - 1000, + }); + }); + + it('double-riichi ippatsu tsumo', () => { + const engine = new MasterGameEngine(MasterGameEngine.createInitialState( + new TileSetBuilder() + .setHandTiles('e', ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 's']) + .setTile(3, 'm3') + .build(), + )); + tsumogiriAndIgnore(engine, true); + tsumogiriAndIgnore(engine); + tsumogiriAndIgnore(engine); + tsumogiriAndIgnore(engine); + expect(engine.commit_tsumoHora('e', false).yakus.yakuNames).toEqual(['tsumo', 'double-riichi', 'ippatsu']); + expect(engine.$state.points).toEqual({ + e: INITIAL_POINT + 12000, + s: INITIAL_POINT - 4000, + w: INITIAL_POINT - 4000, + n: INITIAL_POINT - 4000, + }); + }); + + it('double-riichi haitei tsumo', () => { + const engine = new MasterGameEngine(MasterGameEngine.createInitialState( + new TileSetBuilder() + .setHandTiles('s', ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3']) + .setTile(-1, 'm3') + .build(), + )); + tsumogiriAndIgnore(engine); + tsumogiriAndIgnore(engine, true); + while (engine.$state.tiles.length > 0) { + tsumogiriAndIgnore(engine); + } + expect(engine.commit_tsumoHora('s', false).yakus.yakuNames).toEqual(['tsumo', 'double-riichi', 'haitei']); + expect(engine.$state.points).toEqual({ + e: INITIAL_POINT - 4000, + s: INITIAL_POINT + 8000, + w: INITIAL_POINT - 2000, + n: INITIAL_POINT - 2000, + }); + }); + + it('double-riichi hotei', () => { + const engine = new MasterGameEngine(MasterGameEngine.createInitialState( + new TileSetBuilder() + .setHandTiles('e', ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 's']) + .setHandTiles('s', ['m3', 'm6', 'p2', 'p5', 'p8', 's4', 'e', 's', 'w', 'haku', 'hatsu', 'chun', 'chun']) + .setTile(-1, 'm3') + .build(), + )); + tsumogiriAndIgnore(engine, true); + while (engine.$state.tiles.length > 0) { + tsumogiriAndIgnore(engine); + } + tsumogiri(engine); + expect(engine.commit_resolveCallingInterruption({ + pon: false, + cii: false, + kan: false, + ron: ['e'], + }, false).yakus?.e?.yakuNames).toEqual(['double-riichi', 'hotei']); + expect(engine.$state.points).toEqual({ + e: INITIAL_POINT + 6000, + s: INITIAL_POINT - 6000, + w: INITIAL_POINT, + n: INITIAL_POINT, + }); + }); +}); diff --git a/packages/misskey-mahjong/test/fu.ts b/packages/misskey-mahjong/test/fu.ts new file mode 100644 index 0000000000..7ec1ce3581 --- /dev/null +++ b/packages/misskey-mahjong/test/fu.ts @@ -0,0 +1,70 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import assert from "node:assert" +import { calcWaitPatterns } from "../src/common.fu" +import { analyzeFourMentsuOneJyantou } from "../src/common" + +describe('Fu', () => { + describe('Wait patterns', () => { + it('Ryanmen', () => { + const fourMentsuOneJyantou = analyzeFourMentsuOneJyantou( + ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's1', 's1', 's7', 's8', 's9'] + )[0]; + assert.deepStrictEqual(calcWaitPatterns(fourMentsuOneJyantou, 's9'), [{ + ...fourMentsuOneJyantou, + waitedFor: 'mentsu', + agariTile: 's9', + waitedTaatsu: ['s7', 's8'], + }]); + }); + + it('Kanchan', () => { + const fourMentsuOneJyantou = analyzeFourMentsuOneJyantou( + ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's1', 's1', 's7', 's8', 's9'] + )[0]; + assert.deepStrictEqual(calcWaitPatterns(fourMentsuOneJyantou, 's8'), [{ + ...fourMentsuOneJyantou, + waitedFor: 'mentsu', + agariTile: 's8', + waitedTaatsu: ['s7', 's9'], + }]); + }) + + it('Penchan', () => { + const fourMentsuOneJyantou = analyzeFourMentsuOneJyantou( + ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's1', 's1', 's7', 's8', 's9'] + )[0]; + assert.deepStrictEqual(calcWaitPatterns(fourMentsuOneJyantou, 's7'), [{ + ...fourMentsuOneJyantou, + waitedFor: 'mentsu', + agariTile: 's7', + waitedTaatsu: ['s8', 's9'], + }]); + }) + + it('Tanki', () => { + const fourMentsuOneJyantou = analyzeFourMentsuOneJyantou( + ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'] + )[0]; + assert.deepStrictEqual(calcWaitPatterns(fourMentsuOneJyantou, 'e'), [{ + ...fourMentsuOneJyantou, + waitedFor: 'head', + agariTile: 'e', + }]); + }); + + it('Nobetan', () => { + const fourMentsuOneJyantou = analyzeFourMentsuOneJyantou( + ['m1', 'm2', 'm3', 'm5', 'm6', 'm7', 'p2', 'p3', 'p4', 's3', 's4', 's5', 's6', 's6'] + )[0]; + assert.deepStrictEqual(calcWaitPatterns(fourMentsuOneJyantou, 's6'), [{ + ...fourMentsuOneJyantou, + waitedFor: 'head', + agariTile: 's6', + }]); + }); + }); +}); diff --git a/packages/misskey-mahjong/test/yaku.ts b/packages/misskey-mahjong/test/yaku.ts index dc184d2fb8..cdf3230b7e 100644 --- a/packages/misskey-mahjong/test/yaku.ts +++ b/packages/misskey-mahjong/test/yaku.ts @@ -10,26 +10,68 @@ describe('Yaku', () => { describe('Riichi', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], huros: [], + ronTile: 'm3', riichi: true, }), ['riichi']); }); }); + describe('double-riichi', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + ronTile: 'm3', + riichi: true, + doubleRiichi: true, + }), ['double-riichi']); + }); + }); + + describe('tsumo', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + riichi: false, + }), ['tsumo']); + + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm1', 'm2', 'm2', 'm8', 'm8', 'p5', 'p5', 'p7', 'p7', 's9', 's9', 'p2', 'p2'], + huros: [], + tsumoTile: 'p2', + }).includes('tsumo'), true); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm1', 'm2', 'm2', 'm8', 'm8', 'p5', 'p5', 'p7', 'p7', 's9', 's9', 'p2', 'p2'], + huros: [], + ronTile: 'p2', + }).includes('tsumo'), false); + }) + }); + describe('white', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], - huros: [{type: 'pon', tile: 'haku'}], + huros: [{type: 'ankan', tile: 'haku'}], tsumoTile: 'm3', riichi: true, }).includes('white'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], huros: [{type: 'pon', tile: 'haku'}], tsumoTile: 'm3', @@ -41,15 +83,15 @@ describe('Yaku', () => { describe('red', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], - huros: [{type: 'pon', tile: 'chun'}], + huros: [{type: 'ankan', tile: 'chun'}], tsumoTile: 'm3', riichi: true, }).includes('red'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], huros: [{type: 'pon', tile: 'chun'}], tsumoTile: 'm3', @@ -61,15 +103,15 @@ describe('Yaku', () => { describe('green', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], - huros: [{type: 'pon', tile: 'hatsu'}], + huros: [{type: 'ankan', tile: 'hatsu'}], tsumoTile: 'm3', riichi: true, }).includes('green'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], huros: [{type: 'pon', tile: 'hatsu'}], tsumoTile: 'm3', @@ -81,17 +123,17 @@ describe('Yaku', () => { describe('field-wind', () => { it('north', () => { assert.deepStrictEqual(calcYakus({ - house: 'n', - seat: 'e', + fieldWind: 'n', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'n', 'n', 'n'], huros: [], - tsumoTile: 's', + tsumoTile: 'n', }).includes('field-wind-n'), true); }); it('east', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - seat: 'n', + fieldWind: 'e', + seatWind: 'n', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'e', 'e', 'e'], huros: [], tsumoTile: 'e', @@ -99,8 +141,7 @@ describe('Yaku', () => { }); it('south', () => { assert.deepStrictEqual(calcYakus({ - house: 's', - house: 'n', + fieldWind: 's', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 's', 's', 's'], huros: [], tsumoTile: 's', @@ -108,8 +149,7 @@ describe('Yaku', () => { }); it('west', () => { assert.deepStrictEqual(calcYakus({ - house: 'w', - house: 'n', + fieldWind: 'w', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'w', 'w', 'w'], huros: [], tsumoTile: 'w', @@ -119,17 +159,17 @@ describe('Yaku', () => { describe('seat-wind', () => { it('north', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - seat: 'n', + fieldWind: 'e', + seatWind: 'n', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'n', 'n', 'n'], huros: [], - ronTile: 's', + ronTile: 'n', }).includes('seat-wind-n'), true); }); it('east', () => { assert.deepStrictEqual(calcYakus({ - house: 's', - seat: 'e', + fieldWind: 's', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'e', 'e', 'e'], huros: [], ronTile: 'e', @@ -137,17 +177,15 @@ describe('Yaku', () => { }); it('south', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - house: 's', + seatWind: 's', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 's', 's', 's'], huros: [], - ronoTile: 's', + ronTile: 's', }).includes('seat-wind-s'), true); }); it('west', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - house: 'w', + seatWind: 'w', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3', 'w', 'w', 'w'], huros: [], ronTile: 'w', @@ -158,7 +196,7 @@ describe('Yaku', () => { describe('ippatsu', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], huros: [], riichi: true, @@ -167,7 +205,7 @@ describe('Yaku', () => { }).includes('ippatsu'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], huros: [], riichi: true, @@ -177,7 +215,7 @@ describe('Yaku', () => { }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], huros: [], tsumoTile: 'm3', @@ -186,29 +224,108 @@ describe('Yaku', () => { }); }); + describe('rinshan', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'n', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{ + type: 'ankan', + tile: 'n' + }], + tsumoTile: 'm3', + rinshan: true, + }).includes('rinshan'), true); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'n', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'm3', 'm3'], + huros: [{ + type: 'ankan', + tile: 'n' + }], + tsumoTile: 'm3', + }).includes('rinshan'), false); + }); + }); + + describe('haitei', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + haitei: true, + }).includes('haitei'), true); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + haitei: false, + }).includes('haitei'), false); + }); + }); + + describe('hotei', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + ronTile: 'm3', + hotei: true, + }).includes('hotei'), true); + }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + ronTile: 'm3', + hotei: false, + }).includes('hotei'), false); + }); + }); + describe('tanyao', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm2', 'm2', 'p6', 'p7', 'p8', 's3', 's3', 's3', 's4', 's5', 's6', 'm3', 'm3'], huros: [], tsumoTile: 'm3', }).includes('tanyao'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['p6', 'p7', 'p8', 's3', 's3', 's3', 's4', 's5', 's6', 'm3', 'm3'], huros: [{type: 'pon', tile: 'm2'}], tsumoTile: 'm3', }).includes('tanyao'), true); + + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m2', 'm2', 'm3', 'm3', 'm8', 'm8', 'p5', 'p5', 'p7', 'p7', 's8', 's8', 'p2', 'p2'], + huros: [], + tsumoTile: 'p2', + }).includes('tanyao'), true); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p6', 'p7', 'p8', 's3', 's3', 's3', 's4', 's5', 's6', 'm3', 'm3'], ippatsu: true, huros: [], + tsumoTile: 'm1', }).includes('tanyao'), false); }); }); @@ -216,48 +333,48 @@ describe('Yaku', () => { describe('pinfu', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], huros: [], tsumoTile: 's7', }).includes('pinfu'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m2', 'm3', 'm4', 'p6', 'p6', 'p6', 'p5', 'p6', 'p7', 's9', 's9', 's7', 's8', 's9'], + seatWind: 'e', + handTiles: ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], huros: [], - tsumoTile: 's9', - }).includes('pinfu'), false); + ronTile: 's7', + }).includes('pinfu'), true); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'p6', 'p6', 'p6', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], huros: [], tsumoTile: 's7', }).includes('pinfu'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'p6', 'p6', 'p6', 'p5', 'p6', 'p7', 's9', 's9', 's7', 's8', 's9'], huros: [], tsumoTile: 's7', }).includes('pinfu'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'p6', 'p7', 'p8', 'p5', 'p6', 'p7', 's9', 's9', 's5', 's6', 's7'], huros: [], - ronTile: 's7', - }).includes('pinfu'), true); + ronTile: 's6', + }).includes('pinfu'), false); }); }); describe('iipeko', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 's9', 's9', 's4', 's5', 's6'], huros: [], tsumoTile: 's6', @@ -266,15 +383,14 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'p5', 'p6', 'p7', 's9', 's9', 's4', 's5', 's6'], huros: [{type: 'cii', tiles: ['m2','m3','m4']}], - riichi: true, tsumoTile: 's6', }).includes('iipeko'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], huros: [], tsumoTile: 'p1', @@ -284,26 +400,26 @@ describe('Yaku', () => { describe('ryanpeko', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], huros: [], tsumoTile: 'p1', - }).includes('ryanpeko'), true); + }).includes('ryampeko'), true); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m2', 'm3', 'm4', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], + seatWind: 'e', + handTiles: ['m2', 'm3', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], huros: [{type: 'cii', tiles: ['m2','m3','m4']}], tsumoTile: 'p1', - }).includes('ryanpeko'), true); + }).includes('ryampeko'), false); }); }); describe('sanshoku-dojun', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 'p1', 'p2', 'p3', 's1', 's2', 's3', 'n', 'n', 'n', 'm3', 'm3'], huros: [], tsumoTile: 'm3', @@ -315,8 +431,8 @@ describe('Yaku', () => { describe('sanshoku-doko', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m2', 'm2', 'm2', 'p2', 'p2', 'p2', 's2', 's2', 's2', 'n', 'n', 'n', 'm3', 'm3'], + seatWind: 'e', + handTiles: ['m2', 'm2', 'm2', 'p2', 'p2', 'p2', 's2', 's2', 's2', 's4', 's5', 's6', 'm3', 'm3'], huros: [], tsumoTile: 'm3', }).includes('sanshoku-doko'), true); @@ -327,14 +443,14 @@ describe('Yaku', () => { describe('ittsu', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 'm3', 'm3'], huros: [], tsumoTile: 'm3', }).includes('ittsu'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm3', 'm4', 's4', 's5', 's6', 's7', 's8', 's9', 'm3', 'm3'], huros: [{type: 'cii', tiles:['s1', 's2', 's3']}], tsumoTile: 'm3', @@ -345,14 +461,14 @@ describe('Yaku', () => { describe('chanta', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'p7', 'p8', 'p9', 'haku', 'haku'], huros: [], tsumoTile: 'haku', }).includes('chanta'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'haku', 'haku'], huros: [{type: 'pon', tile : 'p9'}], tsumoTile: 'haku', @@ -363,14 +479,14 @@ describe('Yaku', () => { describe('junchan', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'p7', 'p8', 'p9', 'm9', 'm9'], huros: [], tsumoTile: 'm9', }).includes('junchan'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm2', 'm3', 's1', 's2', 's3', 's7', 's8', 's9', 'm9', 'm9'], huros: [{type: 'pon', tile : 'p9'}], tsumoTile: 'm9', @@ -381,24 +497,32 @@ describe('Yaku', () => { describe('chitoitsu', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m1', 'm1', 'm2', 'm2', 'm8', 'm8', 'p5', 'p5', 'p7', 's7', 's9', 's9', 'p2', 'p2'], + seatWind: 'e', + handTiles: ['m1', 'm1', 'm2', 'm2', 'm8', 'm8', 'p5', 'p5', 'p7', 'p7', 's9', 's9', 'p2', 'p2'], huros: [], tsumoTile: 'p2', }).includes('chitoitsu'), true); }); + + it('invalid', () => { + assert.deepStrictEqual(calcYakus({ + handTiles: ['m2', 'm3', 'm4', 'm2', 'm3', 'm4', 'p5', 'p6', 'p7', 'p5', 'p6', 'p7', 'p1', 'p1'], + huros: [], + tsumoTile: 'p1', + }).includes('chitoitsu'), false) + }) }); describe('toitoi', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's7', 's7', 'p2', 'p2'], huros: [], - tsumoTile: 'p2', + ronTile: 's7', }).includes('toitoi'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's7', 's7', 'p2', 'p2'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 'p2', @@ -409,53 +533,59 @@ describe('Yaku', () => { describe('sananko', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's8', 's9', 'p2', 'p2'], huros: [], tsumoTile: 'p2', }).includes('sananko'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m1', 'm1', 'm1', 'p5', 'p5', 'p5', 's7', 's7', 's7', 'p2', 'p2'], + seatWind: 'e', + handTiles: ['m1', 'm1', 'm1', 'p5', 'p5', 'p5', 's7', 's8', 's9', 'p2', 'p2'], huros: [{type: 'ankan', tile: 'm2'}], tsumoTile: 'p2', }).includes('sananko'), true); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'p5', 'p5', 'p5', 's7', 's8', 's9', 'p2', 'p2'], huros: [{type: 'minkan', tile: 'm2'}], tsumoTile: 'p2', }).includes('sananko'), false); + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'p5', 'p5', 'p5', 's7', 's8', 's9', 'p2', 'p2'], + huros: [], + ronTile: 'm2', + }).includes('sananko'), false); }); }); describe('honroto', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm9', 'm9', 'm9', 'p9', 'p9', 'p9', 'hatsu', 'hatsu', 'hatsu', 'n', 'n'], huros: [], - tsumoTile: 'n', - }).includes('toitoi'), true); + ronTile: 'hatsu', + }).includes('honroto'), true); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m9', 'm9', 'm9', 'p9', 'p9', 'p9', 'hatsu', 'hatsu', 'hatsu', 'n', 'n'], huros: [{type: 'pon', tile: 'm1'}], - tsumoTile: 'p2', - }).includes('toitoi'), true); + tsumoTile: 'p9', + }).includes('honroto'), true); }); }); describe('sankantsu', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m9', 'm9', 'm9', 'n', 'n'], - huros: [[{type: 'ankan', tile: 'm1'}, {type: 'ankan', tile: 'm2'}, {type: 'minkan', tile: 'm3'}]], - tsumoTile: 'p2', + huros: [{type: 'ankan', tile: 'm1'}, {type: 'ankan', tile: 'm2'}, {type: 'minkan', tile: 'm3'}], + tsumoTile: 'm9', }).includes('sankantsu'), true); }); }); @@ -463,37 +593,52 @@ describe('Yaku', () => { describe('honitsu', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm5', 'm6', 'm7', 'm9', 'm9', 'm9', 'n', 'n'], + huros: [{type: 'pon', tile: 'w'}], + tsumoTile: 'n', + }).includes('honitsu'), true); + + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm1', 'm5', 'm5', 'm6', 'm6', 'm7', 'm7', 'm9', 'm9', 'w', 'w', 'n', 'n'], huros: [], tsumoTile: 'n', }).includes('honitsu'), true); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm5', 'm6', 'm7', 'm9', 'm9', 'm9', 'm8', 'm8'], - huros: [], + huros: [{type: 'pon', tile: 'm3'}], tsumoTile: 'm8', }).includes('honitsu'), false); }); }); describe('chinitsu', () => { - it('invalid', () => { + it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm5', 'm6', 'm7', 'm9', 'm9', 'm9', 'm8', 'm8'], - huros: [], + huros: [{type: 'pon', tile: 'm3'}], tsumoTile: 'm8', }).includes('chinitsu'), true); + + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm1', 'm2', 'm2', 'm4', 'm4', 'm5', 'm5', 'm6', 'm6', 'm7', 'm7', 'm9', 'm9'], + huros: [], + tsumoTile: 'm9', + }).includes('chinitsu'), true); }); }); + describe('shosangen', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['haku', 'haku', 'haku', 'chun', 'chun', 'hatsu', 'hatsu', 'hatsu', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2'] , + seatWind: 'e', + handTiles: ['haku', 'haku', 'haku', 'chun', 'chun', 'hatsu', 'hatsu', 'hatsu', 'm1', 'm1', 'm1', 'm2', 'm3', 'm4'] , huros: [], tsumoTile: 'm2', }).includes('shosangen'), true); @@ -503,7 +648,7 @@ describe('Yaku', () => { describe('kokushi', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , huros: [], tsumoTile: 'm9', @@ -512,7 +657,7 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm3'] , huros: [], tsumoTile: 'm3', @@ -523,7 +668,7 @@ describe('Yaku', () => { describe('kokushi-13', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm1'] , huros: [], tsumoTile: 'm1', @@ -532,8 +677,8 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m1', 'm1', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , + seatWind: 'e', + handTiles: ['m1', 'm9', 's1', 's9', 'p1', 'p9', 'haku', 'hatsu', 'chun', 'n', 'w', 's', 'e', 'm9'] , huros: [], tsumoTile: 'm1', }).includes('kokushi-13'), false); @@ -543,13 +688,13 @@ describe('Yaku', () => { describe('suanko', () => { it('valid',() => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], huros: [], tsumoTile: 'chun', }), ['suanko']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], huros: [{type: 'ankan', tile: 'm1'}], tsumoTile: 'chun', @@ -558,21 +703,21 @@ describe('Yaku', () => { it('invalid',() => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], huros: [{type: 'pon', tile: 'm1'}], ronTile: 'e', }).includes('suanko'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], huros: [], ronTile: 'e', }).includes('suanko'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'm2', 'm2', 'e', 'e', 'e'], huros: [], ronTile: 'e', @@ -583,22 +728,28 @@ describe('Yaku', () => { describe('suanko-tanki', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], huros: [], tsumoTile: 'e', }), ['suanko-tanki']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], huros: [{type: 'ankan', tile: 'm1'}], tsumoTile: 'e', }), ['suanko-tanki']); + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'm3', 'm3', 'm3', 'haku', 'haku', 'haku', 'e', 'e'], + huros: [], + ronTile: 'e', + }), ['suanko-tanki']); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm2', 'm2', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'e', 'e'], huros: [], tsumoTile: 'chun', @@ -609,14 +760,14 @@ describe('Yaku', () => { describe('daisangen', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['haku', 'haku', 'haku', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'p2', 'p2', 'p2', 's2', 's2'], + seatWind: 'e', + handTiles: ['haku', 'haku', 'haku', 'hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'p2', 'p3', 'p4', 's2', 's2'], huros: [], tsumoTile: 's2', }), ['daisangen']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'chun', 'chun', 'chun', 'p2', 'p2', 'p2', 's2', 's2'], huros: [{type: 'pon', tile: 'haku'}], tsumoTile: 's2', @@ -625,7 +776,7 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['haku', 'haku', 'haku', 'chun', 'chun', 'hatsu', 'hatsu', 'hatsu', 'm1', 'm1', 'm1', 'm2', 'm2', 'm2'] , huros: [], tsumoTile: 'm2', @@ -636,46 +787,54 @@ describe('Yaku', () => { describe('tsuiso', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['haku', 'haku', 'haku', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', - }), ['tsuiso']); + }), [ 'suanko-tanki', 'tsuiso']); + assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'haku'}], tsumoTile: 's', }), ['tsuiso']); + + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['e', 'e', 's', 's', 'w', 'w', 'n', 'n', 'haku', 'haku', 'hatsu', 'hatsu', 'chun', 'chun'], + huros: [], + tsumoTile: 's', + }), ['tsuiso']); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }).includes('tsuiso'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 's', - }).includes('tuiso'), false); + }).includes('tsuiso'), false); }); }) describe('shosushi', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }), ['shosushi']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'e'}], tsumoTile: 's', @@ -684,14 +843,14 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }).includes('shosushi'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 's', @@ -702,29 +861,29 @@ describe('Yaku', () => { describe('daisushi', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's', 's'], huros: [], tsumoTile: 's', - }), ['daisushi']); + }), ['suanko', 'daisushi']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'n', 'n', 'n', 'w', 'w', 'w', 's', 's', 's'], huros: [{type: 'pon', tile: 'e'}], - tsumoTile: 'e', + tsumoTile: 's', }), ['daisushi']); }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'n', 'n', 'n', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [], tsumoTile: 's', }).includes('daisushi'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['hatsu', 'hatsu', 'hatsu', 'e', 'e', 'e', 'w', 'w', 'w', 's', 's'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 'e', @@ -735,13 +894,13 @@ describe('Yaku', () => { describe('ryuiso', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's4', 's6', 's6', 's6', 's8', 's8', 's8', 'hatsu', 'hatsu'], huros: [], tsumoTile: 'hatsu', }), ['ryuiso']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8'], huros: [{type: 'pon', tile: 'hatsu'}], tsumoTile: 's8', @@ -750,16 +909,16 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8','haku','haku','haku'], huros: [], - tsumoTile: 's', + tsumoTile: 's2', }).includes('ryuiso'), false); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8'], huros: [{type: 'pon', tile: 'haku'}], - tsumoTile: 's', + tsumoTile: 's2', }).includes('ryuiso'), false); }); }) @@ -767,13 +926,13 @@ describe('Yaku', () => { describe('chinroto', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', - handTiles: ['m1','m1','m1''m9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], + seatWind: 'e', + handTiles: ['m1', 'm1', 'm1', 'm9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], huros: [], tsumoTile: 'p1', - }), ['chinroto']); + }), ['suanko-tanki', 'chinroto']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m9', 'm9', 'm9', 's1', 's1', 's1', 's9', 's9', 's9', 'p1', 'p1'], huros: [{type: 'pon', tile: 'm1'}], tsumoTile: 'p1', @@ -782,10 +941,10 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['s2', 's2', 's2', 's2', 's3', 's3', 's3', 's3', 's4', 's8', 's8','haku','haku','haku'], huros: [], - tsumoTile: 's', + tsumoTile: 's2', }).includes('chinroto'), false); }); }) @@ -793,7 +952,7 @@ describe('Yaku', () => { describe('sukantsu', () => { it('valid', () =>{ assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['p1', 'p1'], huros: [{type: 'ankan', tile: 'm1'}, {type: 'ankan', tile: 'm2'}, {type: 'minkan', tile: 'm3'}, {type: 'minkan', tile: 'chun'}], tsumoTile: 'p1', @@ -801,7 +960,7 @@ describe('Yaku', () => { }); it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm2'], huros: [], tsumoTile: 'm2', @@ -812,7 +971,7 @@ describe('Yaku', () => { describe('churen', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm5'], huros: [], tsumoTile: 'm5', @@ -821,7 +980,7 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm2'], huros: [], tsumoTile: 'm2', @@ -832,63 +991,63 @@ describe('Yaku', () => { describe('churen-9', () => { it('valid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm1'], huros: [], tsumoTile: 'm1', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm2'], huros: [], tsumoTile: 'm2', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm3'], huros: [], tsumoTile: 'm3', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm4'], huros: [], tsumoTile: 'm4', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm5'], huros: [], tsumoTile: 'm5', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm6'], huros: [], tsumoTile: 'm6', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm7'], huros: [], tsumoTile: 'm7', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm8'], huros: [], tsumoTile: 'm8', }), ['churen-9']); assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm9'], huros: [], tsumoTile: 'm9', @@ -897,11 +1056,35 @@ describe('Yaku', () => { it('invalid', () => { assert.deepStrictEqual(calcYakus({ - house: 'e', + seatWind: 'e', handTiles: ['m1', 'm1', 'm1', 'm2', 'm3', 'm3', 'm4', 'm6', 'm7', 'm8', 'm9', 'm9', 'm9', 'm5'], huros: [], tsumoTile: 'm5', }).includes('churen-9'), false); }); }); + + describe('tenho', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 'e', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + firstTurn: true, + }), ['tenho']); + }); + }); + + describe('chiho', () => { + it('valid', () => { + assert.deepStrictEqual(calcYakus({ + seatWind: 's', + handTiles: ['m1', 'm2', 'm3', 'p6', 'p6', 'p6', 's6', 's7', 's8', 'n', 'n', 'n', 'm3', 'm3'], + huros: [], + tsumoTile: 'm3', + firstTurn: true, + }), ['chiho']); + }); + }); }); From 7f9c84ebe8b8730166d688e459f88716126e28f2 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Thu, 10 Apr 2025 11:39:40 +0900 Subject: [PATCH 48/64] Update apiClientJSDoc.ts --- .../misskey-js/src/autogen/apiClientJSDoc.ts | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/packages/misskey-js/src/autogen/apiClientJSDoc.ts b/packages/misskey-js/src/autogen/apiClientJSDoc.ts index 7f8237b0d1..ae97084116 100644 --- a/packages/misskey-js/src/autogen/apiClientJSDoc.ts +++ b/packages/misskey-js/src/autogen/apiClientJSDoc.ts @@ -4575,38 +4575,5 @@ declare module '../api.js' { params: P, credential?: string | null, ): Promise>; - - /** - * No description provided. - * - * **Credential required**: *Yes* / **Permission**: *write:account* - */ - request( - endpoint: E, - params: P, - credential?: string | null, - ): Promise>; - - /** - * No description provided. - * - * **Credential required**: *Yes* / **Permission**: *write:account* - */ - request( - endpoint: E, - params: P, - credential?: string | null, - ): Promise>; - - /** - * No description provided. - * - * **Credential required**: *Yes* / **Permission**: *read:account* - */ - request( - endpoint: E, - params: P, - credential?: string | null, - ): Promise>; } } From 7d9a6a3f9dce96bab3868522a6720e2df8eb298a Mon Sep 17 00:00:00 2001 From: Take-John Date: Sun, 13 Apr 2025 18:29:56 +0900 Subject: [PATCH 49/64] =?UTF-8?q?=E9=BA=BB=E9=9B=80=E3=81=8C=E5=8B=95?= =?UTF-8?q?=E4=BD=9C=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=20(#15815)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/src/server/api/endpoint-list.ts | 6 ++++ packages/frontend/src/pages/mahjong/index.vue | 14 ++++----- .../frontend/src/pages/mahjong/room.game.vue | 14 ++++----- .../src/pages/mahjong/room.setting.vue | 10 +++---- packages/frontend/src/pages/mahjong/room.vue | 14 ++++----- packages/misskey-mahjong/src/common.yaku.ts | 18 +++++++---- packages/misskey-mahjong/src/engine.master.ts | 10 +++---- packages/misskey-mahjong/src/serializer.ts | 30 ++++++++++++------- 8 files changed, 69 insertions(+), 47 deletions(-) diff --git a/packages/backend/src/server/api/endpoint-list.ts b/packages/backend/src/server/api/endpoint-list.ts index 34aaef3cc7..531326f3fd 100644 --- a/packages/backend/src/server/api/endpoint-list.ts +++ b/packages/backend/src/server/api/endpoint-list.ts @@ -288,6 +288,12 @@ export * as 'invite/create' from './endpoints/invite/create.js'; export * as 'invite/delete' from './endpoints/invite/delete.js'; export * as 'invite/limit' from './endpoints/invite/limit.js'; export * as 'invite/list' from './endpoints/invite/list.js'; +export * as 'mahjong/cancel-match' from './endpoints/mahjong/cancel-match.js'; +export * as 'mahjong/create-room' from './endpoints/mahjong/create-room.js'; +export * as 'mahjong/games' from './endpoints/mahjong/games.js'; +export * as 'mahjong/join-room' from './endpoints/mahjong/join-room.js'; +export * as 'mahjong/show-room' from './endpoints/mahjong/show-room.js'; +export * as 'mahjong/verify' from './endpoints/mahjong/verify.js'; export * as 'meta' from './endpoints/meta.js'; export * as 'miauth/gen-token' from './endpoints/miauth/gen-token.js'; export * as 'mute/create' from './endpoints/mute/create.js'; diff --git a/packages/frontend/src/pages/mahjong/index.vue b/packages/frontend/src/pages/mahjong/index.vue index 6ca938f73a..a83bb1ec31 100644 --- a/packages/frontend/src/pages/mahjong/index.vue +++ b/packages/frontend/src/pages/mahjong/index.vue @@ -24,18 +24,18 @@ SPDX-License-Identifier: AGPL-3.0-only

    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%0Dc*e=6GT-l&Lfc-`^ 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%0DQv&1Spjt#S7f4Dou@?jWcJHZQd9917?SpRa8i zXA&!>*K@T{`GK+xk^#ucH-BHSbYv7UG@!P_y3-6SR&LGLPqhqKtRSxr9jAl=mMUyj zoKPRH$8lQJ8bEwL^72N^Q7a$}*{l$HZ2S`bYMds!9w!Alb9q2d~$yYMtf*7a~mjiV$Ps$^yFRjsvo)0sN~u~ zSY{@_D)*)KyE)^nXwxL|J|ZMOp<|t-)qGeplzge)cvj7*l!Q-b~X)t$* zLnM%fR9_d+!H)6;72eyEsMFcESki1}$YOqK> z^J78DtFD-Nl_U;8>{{YBnE6iny7>jMz6pl?C zR&V1!O#u}eoy2TXN*W~Dp>}!f*KS1)GeBK_zQaL0#9Jmv$=plD zw0G=AMk}x79rOr3#k7T%Gn>7@j1TYj`${y5MunQ=wK-;Lun&9s{<^?ZI|L4-lF^0= zFC^gg_O7EEqd-d^HaPQ=VpgJg`2^ze*q)}MRfHKM3AqA>$g&ORkz)t``sm7+17^V; zd53u_4GT9!eXrbJi0$#JhK<>Fjn=?!75C_9k8ikXB&3xpDu5&hIL2$QUO~`kh`ZU6 zGNDhTT^#Z8k|=-Hpok2JL~tBzKpszg?&-P#mUF38M1zc&*^y3AQmf#M{#+gh!hFF zxjdh}eTdXX(oel;l{L5uTL1yTy3gu3&^U|ASA21qjSzYYByrcJeLHB16~_MnF+C$G z=@pU1U~$EeG-kq%Mv)6L2+Kx6^2X{0x?ey^>5J`*(O{C~D$E%QjGTkb17BXfHIx-n zvexaw!plp>YU@2m92(GU3_c}1sbL$IkqDCVMQ4M-9P!(xg>-vbJ*!)cpNN-SfCo80 zL(>{EUK?yRBnla9l>SqJXW(REh`uxjdGox8Tm};W7{=b*i|djvp+8czW%DKf0O7>e zs%h1zHsvIrSG9l!F?U)eg&e2D_>!sU1(~T=GzHivt#`-kqa?B68M|*7U1a~$ouS|9z%=35?zC-~EP-kDvK^sZwTo8E9gM>{I z5ah83X`}xD9tb3Y0Lc0qGyu?OB-`SHO0l>tK{oE8W1NzDfpy92pb^U66?cM4up!RN zsyO`Bz^c!`T|{ad{{WDacxe2+=V}Fn602h(x?Sp6mJn8v3(7rlmTP$Ij!!wJ0)-!H z=Tj38!Wg{Jz8QlskSCeFS7-w7nkV(fqB8y`#Yqs2{8KtbWRL*7`fQ%Lu6V9=8bum~ z^CXr!51aN;`=rs(^jOixj1%w7gvJF-XJ;ghe4fsLuyD zG`((s1lD=G(J`NgBg3JaD$6CK6c!ZUBcb&3_V$T{u|$+3kz{Hckx3@KBpUXVN_~;gxFuWag}%F7Rvf z6R0>&!|_sSOq;ig1P8Vz!QgOuTn$3Qu* z0Qswf;nU3vx&Htw;Y?z|7D2i{?N#GNM)976bnz7!mY$9XvyAXPyK%wL877Tm464zJ zwNTu$`T&m;_@O3If+ z#whBJ+bb4DnNbM!1yDov+Gr1;>-D`Fkvu?y!zz?j4K5ZWO0o?Riyb<4>!VC!kvxIs zNw;#6RwNrvD17JVpRSD5kR-Et?k>RErE)z(1oZy^9O#gxCPXOi0*^^${!z_yeNSKL z3ASb8gpVEK9!I}P7guDQd=c%<-hfQ<_+jToC9cvG#zPTg0CAq!#Y%k89Xc_#7DRx1QHu)Ir{WC z$4_kHU$jg`Tp7jso@a^nh;7<{wTA-2F88=0A9K*g(ryE z>m)1dMj>{vBnu*lA13R+I;|vf3rXWm^@ku5YKXx0t!!uKtE!@a0YW$Cz`R~N57XyC z9ivl!!?7TWbYMZg4tU|Zp)c_U(~#H#v-ruq}e zAAXuFj&Cw)0F}bY(U&5=xb2bCry4fJL%@d7f!}MKfNvMqkJs-++Y;B4WRB@W`FfmR z`-;F}=72;|56a^ASOniW>MZfCL8L`3ipZ)%5LAOpk#}6;&)3^j7BM6{V2ynY0*n&e zkCB_~bJXWS7zUpJw(vqIP*i66b^DCy7U!9Pgl#*{(1e3^M2yvBb5(qe14fEN{3r1B zyZJFffv`vW&r8T<p=0)cIk}=Y#wj_03XE1Cg8xf%H9d- z@BZ>K8YEH20>}I_l`0RGB=q6A&(rUVp`eHZ+?f_^*IBR@9(fG{AX>l!4l3)|oErZCI>=&K45M$CWd2qn zh6Q!OvT>etW~>sUPv!^$Qh*2@GA_@~a6U6yBA1PTiKY>gfLS($7J0r$J+giD38$CL z-q6P4g%T>oSR)?)09)U(}21v?gyoC?Y0XXq=BodbmKc?{42N)!iLZJ_4wz5DQb zXq4A^kIH10_YJ5JgN~;0o-5~_859c>Gt73FfTnjMhR|0Afi=?gixJSi)o(E*WmYIu zkiZZC7o3|P8SAJRaMG&2(!kJ+s0ui{`N8XBK+lO*P?1QX%bl`EWZp5lzA^{%52*~H zBEodq#E?lB`AvIv_c+1P5qvwei{cqTR(4pGWVIF#zjKeSiz`nR;t!TyHl`FvBRMxi zxAgkxUMw?BALMwPtYrQg?%iZ|&qLD~(VR6tyMiJUegimfEKsWFsjOEWv_pkuX5YvI z@dnDxV*`WleKnf^k;(F9P^1Y7jY%XaCqAkd{`1xZB9+iDm9p7Zwty7m3L~aI`T2uL z%{Y^1;Rgcjb6|jPsm2Zdx(xs@1QMoQLE5<&pZ@@A=zqA;1H?q^c5Ga3q<1H$AbbA+ zU#T-;c(s*)5ur%rp%7F8jqW+?Uq9fC{6n;yF$!1LA;ArUlf~rZV}sv7<{lu>Xo|T~ zHU?w3DBXkCk8jsN_rS<}G4WQa))RK+2Lq`1HK1N!nG~KJN)VOYWiD(ExApk=HK1~N zu&i5T3qTZhhl6I#o=z{g+5eW+u^#UXFlS0jp)ck5xr5uQpJWRwhI2dwS zjq{qZK=H>x+9AJ&jyVn>(H*9nk<#(F-@)&oWtBWKz@RCRXYkH&+!76NPu%sb0#gS604hdo&;eeD z295nqd)ez+4AJ*UJVda^ATom@@1aJ>1QC<>AdF}!a6k|cys&7N_A?mwt>g@jJW#(GzV0GlVG*YPG1fZnkV>SC515q%cZxt+81XfhmLMbHvVVu@K z{n6UAJ_N>C_Pj;6kjHogmN%Y&_W7>D^!Q?fERd{T43TlrX>Qhls_TrNFmFQx!g$Eq zRaK0}R2Bdr%VM!yk8Zs&q$0&TEa-_6lzVAFVilAOUuppNuh?Km5pN6{Nmngmi53AQ z3!-n>o6YhsLlwNgIDZY|W>CsXnFSXIq3y>#y@()VR7FUUqwuh?5!qpYpfNZ4_V0Cg zstC%b%Pt2ZXyhe|0n-#eH5=z6P>`naZr(9WE9x8qXh=o%{$bY~n z3uStdXB=mx`)CAlJAOdU>JG8>hxlAZK&adbAXzpCZvOy%1DZH|NRnzrB0Pr! zY4s4cK<{|P-E`0oB^}w)t=O!kz&0o!%Z~p56nX3st8|;?e?V-d5TpT-&$rJ)Ghsss zOp_XCR02)UUaXKdu1W9PKwr-BG7`*DlnM+e@oF3C*8?AL--!!I{-uLE?m|{{SMw_KP+^UN9<+{+hVB z25%T&%#L8diW`>q4r`u4`inekO(QT#8*}<-Y%Dhe&+?Pao~Ew4)`CYfp^>I_0D-Yf z3JM4yZXDg72&%r?0u_~fr-&9U=mtfg0I`sH$3EAM0YMx{^T?~UN1{NRzm~vKFC!xB zq3xhBNU(>HMxTbvtxtslh0z_r&+W#FzGI0JQdndJkp5KwimDWQ;!SH zC4q8DRoVgf77bu^@7o0<8@g{oHm#gl>wKO^x#NtIMuRip-^?B+O`D{4pb)OmLA+4p zpK7mtTp9SO%&5y9@AQ^c&6Aw|pM6nK_?XVbnb?FO7iQZgta_`qbJyEi3OC%|Yyvb{ zTG&QNuxMk8&+Vg8L{1*vn{qFyWMO1iTfqYT`gP>5J4@#IZvzY72vko>-DC?Sdw))W z7#RggGFdCX@ho*4tFXZK2kc~3!I52AC`c4Xc~gQY0rj!lMu@kNBezy8qKcXx)!V1e zio$41ND8_seZe-R?#46r{{V0Uyi!R!0c5PCC_yF=-JA|S-2S&USx(C@ppmdBS5j== zE8L9pT|n)vi{hb`R0&m8jfG&K0syh`!26EcEQ98Fea1BnlWVm|1d~9F_8+IVjSk2q zM)1t^q;4fr$nHMp-$Bo8sF2R}L2Vozxj4o_HTU~ytf%uO+MXauju}7-IL9a3Klh;F zQ9C4&5DNgOX;4P$-FfGVJ^l1pbA<5n30Nr`2I9wVLvcqw{DVX2O)_s>dn`3Du!};d z-5SB>#q{SI)Pg!cl&LyzQmV_iS3H4TC>(qD8qhLLwj}Vuh~78^0D0z(^!PfD85i}@W2D#- z!wt$+S&x=M13diD<5i||Bw-&f-BmyZtmO2ek@ol05RL6|mHa>r?)Li(XSPpWSq5(( zrQ~aM1J${>unpbz;Qs)9Y(G?c{7iC|8vtJ{*&zG!IAQh1XlOaV@)iuZa=V8etOHg# z`}}AON}Jp9ECy1fN-oYp$3EWr1rtjoL=O-bZBThmO`PKtbM2h~m<3e|;9ZeTM4m<2 zuC_nXpu2p;@*^S}6(BT7Bmv(Yz4RFbK_T%0%FygidAuABx1iD%M~wM7B@dPe!6v;p z>PbHu1q>2Sq0u&@ZX>WF$6NmZPJ%N)<*JL(00+YHKp*!Q#)2%eLm*cuRiO10$T>WJ zr$OI`=eTE6z0T!4!ldIPtRtM1k0F4H*MgUe3I+qvfKbZADaz9^fLCp-) zBQTZig_U1X>5amP03Uyjn$3YUN}z>yA%F`w1JY{#oh)5VCp<4r#uS;e0J_g z>s@*oN!&@|Tf>hMOVzuT$p-izB=LW~fhmz>+8F>A);UAT<0BWy?t4)VHZmg;tihOw z+=`>k@!Wm>G!8=y;KXF|!D?Dd;|Kfa6n(4<={PG8ga0b8h!1}~n#=R~5jc#@zQ zD906-W&{p%&5&$oJddH1R&s^RNEwfz!iC&LcEx@1#~L*Y!p^eHgU)hF?ke<3o-Y~e zTp!$MsSJ?5#9=C`l29yQ0KGm>vFqDLDVKfhd_>1~RdZ)7zJk&@6;`BMvtf135GS>UjEvq0>Y^5Ff-75~E1F=s7r{e&>J=M>ToS zW+L@7sxjI_Ak8fss}+DO{ZDNIghk<}GRpS0b`fAT9E!4feus?$g`dH`=36_|pD95b zh5B!=7soxXK$VW-H-=Gr&_3gPR_gfaRmFT<#K$j)EfD@D7XYX^YoUCL$4mLvahzGB zRU&ERSq8>nk}zV%uBz+5z7I@jIcAPO4A11aG|w7=LC(?$C0iibJPxO>q7p2pd6r2( z4R(Oc1rdx3G%TO-)Eve(lX39stV(%cipj{Mc=i>@KR_T!HujmEM1g=7N-!0kMQ4wX zuxb2HiB#Dup^ZnDC15t*NELkD0grp;!U773C08Jde?Sy(BI|$`oM2syk`-6PAb%lV zWHExTMwxLy-)lVA*0d2FpcO32N0zO*KxP07Am@R!9_EP97^HLy8blRJQWnc8Dlkpa z6?I>|4F!$lE#)#c;x?GV+PaHS)qp4{?}Nup1ByxF@hp)#(=n*R-}4=|E1G< zNam0$2~*29$`wI&QZI_ZtMAVzKvjIFSN<7MS7Rwt{{WB<2qzW!s~t23Vn>Aw9_3R@ z{{V`t*5I~9nzL9q&`%J)S^^arl9?l4UhAL+a%cg;9PyxHhW`K&wKtalhI4O`Oivv; zReiJ=sDaq{l~PGist_r>erhB1=j7-$id&7TS~e?6SpHTujMWZF;~wKc;!iPG#7`=q zmv{5koQ{=ukGbbT1krea#yCSXm+J^kO_nqdW1nOF zLhn?St)FQ&z@?_%MmWAn&rYL2P?mO30CK=dAQlaglVXXoJ+KZr&`&ia9(42Vq3J-h zY>o&WNj}3Prh{qYkHv!=3T;jnNUxzJ3gnSvwmqx{9w;M1vMFMg2n3(d(dpN>H_$pX zn8FZ|Pa_@Z{0m{5HhTBJsL)-JNxN%_14ro#k^mKSIiZ8`*E#_|{{Wc@7{wBbu*?Z3 zZUJTg00Q{?2PBOwc3C3|K&6m{q5vH-KyKNi^#Y=FGYQowp#hys9Dqo(LmZ!u`UWEr zqN~Fi9hLdNDIDEdx}K> zvq_LD{=&!KiWRM6SX<5c60uQxw+j?TdhkHqo-z%K%~zgd3(V0Wlt;;wkazbRxVtB} z_p0F6F4UWFDp`OQLFUE%cs|^n0ZD<4$s(jAF6li$cfrRa+dkt#tf2UkVxB30b99y} zs9&%=6~b| zh#SrRB+A4WvVfE2f@}`;$hyxx4vk_=NsJ|^SvM76O9D#SA0suM1$*eAldL5aYzPii z4f}78rbYnG_s~>xG>b6s>cD~=i3uuebsyAF?^xB4dDOPwFU?i*;uKKl{{T`Jy~a8F zX2>-E0OZXX4(0a`L2prC{f}Pfpg9`Q9tnd=fg*LK0#8vO9C2cR+BF$Eq>5@_HzMsjN`_Dc^y_Edi0PubUlAm78ba>O zK>q;kSA72fv~(F3K4UDS(HPFBbpWW z4AaB2$t15CBoQ%WAkzS=|=czpL zLyx5#XxIQjKf@IYR?~ZcLB>1dJ^AUX0+A9@Id#|?mlZ?fJPP-%25RyU6(}h~fnJ*y zNHt_1f9rbG9U97It)#dmLx!(NJx+7SW2!27pTx7rGg~p^0ZAr}o=6za7uTR9RhFe5 zD3OvQ2C-K}-+JxO13@=35hFZwp-YH3NfJqXIM}bY_JvjzbT|OxC%6NR z1bEmDz8SYVW!TG+WJE z2c?QQ$R7tl0-rFn5$`2I-0OmG6h4*y27$B4Tg`%C3332KitZ0g8u-0pg(FECgxIBs zv{AqxOmIJ6Z3CDf@a)RQw|WYi0N)o}U)LkwP;24WY=TINfVMp?{J0#Bne_pul*8TKHMJC!-k~1Zk&?xvg zAp7UHw@_?+Ix;zkt(qw7M2vJE!}MQ}M$O_3M%)loQ9FrlwT^=WrE%;u9F66Kg=4+} zF)+^uwhE3re8lf0in_0>yj$_V$!>NP=a8 zImuO9Kv!-@QFby9*H}j|iU}D{9+KM!si=F5XNt!f4?$K&HBqT+a|u6~-5SM!NIZ7> zhG?;yMRLWql^}rCk_LNwfnTnS;U611%e7+xw}KH3w$L~=(>zv#L~_pZM6QU$unKuJ zGsnm2p5=o&`IiLqZ$&pD54fT0!Od~O=jow+YU$>_5Dm%zji`bR92>GleSxmpGm68; zAX$8(s_Y0-Hy1bgjpQFyUp#T5AMuX!c|KDE=5CEyvJ$BLa6d}-&Gct>)@M=WC=|kg z6lg+`|?W~C!Ok6^$^tX?XqZ|JDl{*UWtki;02kHq`&-Q8*)dabh_l8 z)zd~re8yewz&pO@E5kP+j&CEJX1i!L@{fkwwo~PyK9eCv?Cc zjx+^4Sdi`xzNED-+^|qufTR4}XTLg#i6R+SYdWso*?qXp0P8Hv-&QQ;0jDqlDq#SSvYt04V!9)*!0@g#V6ncNm>0)Rz}>TlR) zuQ|{O6$vqwQ?;m)rpn|WpXC))GhI%CHNg93xAo8rPa%k^Ir;7S=m_x?!esEuJHFCr zU04)9PQv}eUGVuf6r!r^ASrL9u6yA1>~sy#$06c0XvOUyV{TLe39oMBL5J}&H0bD| zGG2)Qx3zP59W&2O29T`FGmxis1Le`TswR|-V#W6t@&m${;R0zKd2C4sZH~va@GvZX zhe6&U5ne=H%ozYe5V5MNZU6xP0H+!aVrd~}6059gyQBax0Qy;}fTDPz#SVi((X4_c zjyv1|F33%>VRwD1$9wr244NoBmqndq+N2XI(+)*@;`3Z**oN@|6nK-Jf8XsvG#-DiHtD=axiV@DtR3KTxYoFL7DSodw}^oD0v$tua0q%_Rl&A zB99WrSmh`$u+Vg7CYQ`JpdfDpZCYRsP4ooUZ3c1?6!IsCRYC~dj+?IYV*cM=`~wod ziIDEUGj8HpXaPp^$iY1ObT^=J_<(LV+ZkGLyoGwZB#&WaaqpnZ&sdnu@q#SjNv!in z6~Q&!o`mY+M^Gxg(_Zt*1b)F5I=DUqm zK(Dm8BuTq*K2RG-teoe))<@_DU9&Ar$_Y@T%ex$6fd2sN*Qo1_0Rm{$M&?#6A&pt% z^os+y70rA5^a}F|j$b1?r~pHazdsf_bM0CMB&IuMjaVT60Q6%tZ`Hf%DvjsspoQc> zkd3aQfhCz}4AJ@ZA8c`*8pobM{{X})_<`z}f^1&w*Ej4z@1o(W88)`}kgWnh&74rL zW78khqU=2IsWa?aqM7u~?YU$b)IxzL3O&M3K#(aC43{7GoR8&m*gV zPT-?yB!iy3UF75Gdfp7K4W)QiAk(n{Nd%F8-o*a;pvmGqQIvw}%p~4Gx?B#e^WW*B zn|j^6OtB~rWG&U=fx+wkjwseLk`)D&RLL6VN<*CIZI1Pu9keuydD5M(p~#{X+R>s` zs~z+3dA$>&Q^XZXBav)?0z}nHP3DbtIQi|O$ewSCciZJCS8*VsN`A0d{-tMZ6U{b1+?|ns_f%2{y*Nj_a!8iO*`UzKt_7_>)qo=Ip2em=2fhKEw31StK4`;zwI? zv{iQC{d2{4)q+X_&6z(iTU8_$JAd^fu0Gn($8_?_j73o_7Kt~}c&@$s=rl;Bidh}K zE&v3Y9Dm8Kvyt#dfI>tdc!v%_H;zI2_33#2!DobrV308mwzWdKa&LG0#)6?_W_JOV z7uAqMa7_!mp1$2qf~pdW;j!rl)5Vf3`}cQ-TBjSYoCDgu{k`-Fb232` zcIGkWGM&d9f<4cF-$4>0fOu(6+OJary+%1C**&is4vlbpwGx=?adHm+zzZbizTAxi z02xcqTMGbLPDrwN`9JMwGg47@MwPbqxUrsWQ1-qv&VkPqEgzb#x|?z#P@oFniyd)} zG!Mfsp+sSwRQ_ck0)OR>F`sOE=rNKhSd!|+1mT#y=8ix;`M->4Byq@yR5=7%F;>5R zoolbxuB9HPLQ4r^J%K#pv3)aX?Wl{$XBFmFuRre4m z{+(;-Um(meFf5iw@`h>{IqEA1-<<@C+EqkEt>Vf7z{TDBx#vVJ${==H2pYC*&6*Ses^sPIBfvoJ(2*cKcW_pnBJIJ2NrIfX!!gIqrC^?gTd{-+uxXpaebs>xCXB$2acHF%ShaamM=SEssPe3Bv4zSKvrn| zbU`w#vI(9jlWl}2j^~rcI}G1_OMxtqzU;H6ZQ(wyN!vsB&Up98%nvEdOB1fp0a7V8 zkwVGh{{UV!2H-NXi2PEA1%bEDI6bm*N$PY9#%%z}B%4OiyQBp0ZurgFCWe0GlAIti zY#)z`Di|uY)n>)w`4^26!b20lu}A5DQiCC~PV1{V=uf{r^hZG=q=Un_F&(y`sa0Zd zNF)MrL!W&RLwH!D^5APEk!+My3K`C50)4>xXasg3KZ$D6T5n-Q72Rh03m*5N(Gf`! z7D2gi;cTDOkBTG@Z3htwNTp&gBNEh9Wk>%2Zk;{3&l(Mc&W=oQf*O;0ngD~;sf8cB?R%v7T;+u;U$h8km?qOL%nwB4!&w7N>UV0*T_PxZs|en3zfC!6%s_ z+Y?(=h~0r_+|{3K`&7ilX_6Iq<073x$dQ4x*~Oga)l>-rja3aqM)4j?H0cnH*V0x} zO{M{>_&6h>&Vf%F7?w{tk|>EbF={{r<2KdtRxl2OnGszhB(XtE2`8czXc!!!%Byt9g zr9b|V5s^oO>^bKB_zGh&_;CJUc!@1a*&mj&c|72CY~wlxtv`qx*&Xn3j7HHzfzTSf zoBP&-8G@jaIEo)NPT}U9TiCCTKhvPmq-7O4RGS=$R_xzezP0!I=mWT#HF)xtpdT*Q zs`Iy;d>owyl<6#f9b*U*HQx2Ii1gOtI5$}PbjVd1>SC`VCWLb8c1cDQ0urF0-CZ;a5*RS&}aCp4~7aVscZ&g ziw7sISkJdQ2PuwKGDNOqXS5F2wAbapJFMj2w`4qvqk(mQJ72QiCWQ^J1 z-zO*FpKW7UQbpm~=2*h+y}PNwjIB%(F39R$IgNI$pkA5D{RVkRhk6d zeBF37qO2N&H0lBVy^wWD6A)3_6n+?x8FXrUD4 zyf>Pt`$*g)0`0TN7`o4VlhXx^p?Rc{hlXS%d!J2?g{0o3Jr`06g))uDS@)qEa`CVh&^qIJ1ksrvnsm*y4#Ksl0h9 zG1zZ#!&&$@b<}%fI-{nRUD2$*BmiW!CATmfgJ6Arqgntwv7h815O{xmft6R(Gj znnritL5=c$=Lf%FJLu0qf-W_UqyU8&+ni7~EDIIRGscUI)s2 z9zf0Cu{20kqgA%qw9_E6^tr)3J-E(;KjKWJ&n$w4(9W^J5@sU>!LPiGFz3SN7EO0LCuWQzVc;Q{E<`mk+3D|0e7d<;yH={}7 zR2|NW)&N?KLmC8EUw*w#cmNe+U8+2_2B}ofVQh=yv4C$n0p`ZAFNRb#xudMd}u~-g-Cqi=?^8T z&IJN~Yk~8lP?Q1zE@-JfkO96;n$H=))}&Ta$etP2AxPktw|%rd>#y|f&a@LrE@fT2 zO(}DR6nVe5*yBMYkpVIm{4{0^+rK!?{qa{e@&M|zopJU%ff!16Ycyl69H0A)z_(hP71IiZo7{f2t#4p}_7%qf8=di4UJ zfG{|*)BGJ#R7L?n`-e8J4KM_9GEPs;}zS#c&avT-`0=!bI z2K5MzGl4?6IIHIOg>~J60Jat}#Wi1Q&VtHXK&*T~bzn#v_V93QiYJV5`;f9t zDK4)jqZCNT3>^xW1ugZB3t4AI&U?;*@@>H@}Zo9T`?#ppGTI96?x2%s5U4a9-dIO6+c zUrhugi2-&23+-tnH;nY{c>dZ0IF)wFo*|U6wIv1zP;;F7e{BZ}cPGRYBFS1H?f(GR zj0|)7>lO`>g?UO;u(DNh8v_F;x9D-52A&>5!Ag*KwXo!4j`v@o>7e1W!>8d%vN5;< z%4vsD$NO2-Om^jxHH^d?X&zfvD!?5GKczBFr~Pg$#kz z(T10szCLLqI|qr^(2x!^199NFQn zxXI)EnWH4J#}SGR+k$RzIudA}E3Id@It?Rep@s6AHz(SwqmqEC*P+BCp1S&B(YK- zS@Yvh#I2s7GkE=Lq2zO;IaWB;R5KP0Efl;S^eovuI_S<&k7C*#k(L%>azMP$ zzP#Duh3JiDE#*WM8>U6_%8*;0exu`3!9~RZbhEK)*?2&ptGoEstsg|O2m9S!{P0>uIQ90 zBaV3b{qz>mp;@GMFB(-Zs5^xMhw1Iba87|j%Bs@&YO?vZ&M2F)f=?Xu#yWARg0Yyu zk~Le6SriVNZq7%(c)x2kF)-xuURz1xW1&%ocVwon*`w5q{MBk=Vypn6P1WWCr9~at z;*Ku2e0%a(V?W^pfr~c8AI_ulWC6h9tnt^28Hip$k8EqP)oeryfm{Qc>IK-oM{Ce4 zjx|*t8)~u^NdN-z*m7=;Ec3>KN3blcBXFkKzY@awY?}ZRk=l(9Z3JXN;iH-opoMAx z0xI$VrKTQCYBVdx-Q3TYn zkOoZwM#0FV?c0Fqe8}1NSq#*wW3CMlc;Md`*QX&~CY~3K8uu@ynEGTOiVJpsDb8>2 zpuSpLd0_ctZq!K#tM?#)EO-9e2<*y{hS|*(J4+Tg7|rIn>Mn)kGYaq|%*t58!*{0y zZpk&&(C@`wgLqmvrnU5_r7BH^G-#7lYO!5O_s|zB1FX#6TwBGJTVkT<{rY|HL7$6> zcE=~1D(^dn**_@)$QbHJez)(S;7YsAEQUpPH%MqTkb2}}kJB}v&=QBszfxJ>vuI@3hU2B`wkz{8(Md8N%&l;(Hv;~aOv3JQM?OM3F zK6H!(MvWR*Vs{LTaw>q}-yHPSQ}V+}P^toh(nbCrae=`D>x=7v67BI*tHifFXO)zrsfgz-LsDz4q(+YGgQXM>9$e4Pf8&YmJz+DkhqSv9uJ z6W4bK>VC$gXX0I*3~+dMw1gI7G0Eyp=O?emi;7)R4=P_&C8<@D90Qu`SyyuLYwe?8Cut?P#$?<}Do_A|cHTQzwmRsPiL^c*I81bZ znnRA@fCf%DzM3-0{7lYO9sm(&D(zbYbAiR@BepbZGM!_PieklpR$PWWT97e(W4&XY z6c=DaPK5+zh-_^&Uwg4t)93>DKQe2MW63^{Zif~stbKddkQ8N4RE@NP12UzcV{|Lp z?>B#4Sroie{v1kVQb=S%WGmR-b6FSqd+bI=NSMX|D5}7lJp6jA=sFwGtPRjZQwa!G za8-aO8+fC4(EW~zkO!5wcxT%qfqPVe!N>=WzvDq8kybG(vc1RvrCU>c(7?~@pvb(% znGBDXWh=?uWDnfXuc6UhWPvzMyBdiS5-z~LdC2=;OVC9gVuRvVz^$8?p}V19U+>5@ zAV8v61dSU8X4(KubSC?B7#!-zs1`;3|gM z$z$6W`gA??5Jwqpwk(~trn=n|(}VpxYQdL~lB+z7SuT#=LB&ufnywEgwzMcfzL=yN zYLpOmfInQQ_UoXpB!CUk+Uz}TmjfQ%4r`Bn1XMd7U*XqoOArlVdIEXBeFsPsz>EtA z8-_4@6(fK>f$NUC1~!MG3ks!GZh8x_eaG#M2Y6s*Xz6oYis z;i*Y$V}&-?b@Tr90dXQEEi>-~P(;W$vIk6b=Nbr%$c#N(R>f?vX!3i}H_z{&=8<=A z@;@=$uF5YIamA0Z;~3C$yq+V&`JNgQS*$+6xL}&T`S$2^8SX}e#HEWRk`x?rE{VQL zulqU+xX2o3UDPnDEkWk0#s%@tG!9iR!6mW53a2UoHp8FuUm6V~LdZ#E8(5Hp)$&by z@Oxx@YEYEH<{1p_f=N<$0xOev_WBC%tkGOL%3=i)kKwYm<_D5)`ceCFodRfHN@-+P zv;;}CRc^>59-@ASw_QP6L}BL@RkM{-Y#x{N&36~?qcqSgGB{}fV`P@QJQMR;GO;ql z<_Cx=3Tw+WN}g-K!OjO95a{2?WgnK*F6@($o_)J}=ca<0d{m04lMn#(>>`+&1LybP zV?m@L9x^0}0o+F?kbPHnZ~6nNf}nvVXp><=0Tj4nl1Z*d10;W4W{Voak)tz~3~~aJ z4sn{sZ1bp?kLKH$tYD+W$k8IZ&4x(Krv_aR_Nkgd9q=8b;DcC6^mG;~;N)PGNKCIo`&P^Vb@H85$ZytIp?=83}>TG(i`4VSbT})@bMBHO7gKhy_rPPQ!AN0zF?B`M%h`p87L}5@lymWsCQ^09hpb5no(l z^e~`kQ42zdOr#$zB*KCPE=>|BXCU5)E0^1udR8wyR)eGSJUBFCE?5#lC!BC_I_hF$ zpc1@(K$Tb4U0slj_aI`aaaJ&E+G1eJ?i+X;W56sAq~MPE=DK6x>0x1?6B{DOlJ*M` z{NAd_?T?%RsD&h(VqXrE6<|sbtz#g1h&jdN^~ceMCz{gAizNmGSET-GHc#kt+a|`M zH6C1h#F7&AO||_kfN)MnPCw)Epa@zs8$}})TP*O~Ez!<8^`LTFr~^Q!@V+8TS;S=m z4r8p#3L0KU%BqXw5Va<<=IW?c?SYof3&eD}FDYXQE8+GJ?M>#m-9~!v0Pxy{^)SNSg zCa4m56;02$$G)yE8f<8Zm&AZYx{4$a0qf9qZ=Ry`!ySGeKM-W{8C_V=P(}z8JCkJm z-ax?BR&o&XydT6NjhrlN5>Q^Ijac^jWav4}RyX*v-i08$de>`yUboQSKJ}n7_>jxJ z$S!S6YPIU6+}Dd9-M$Wkw#5{Tpq!1sss_8GgY?Dq8VZi+k~5%?1qBY;1RT|j3l@6} zbI1(RRf&`N3L98+#EW;zO zppZ7E5C-fz9{$7IMUWnNqwzaK9gM1D+@lAZqC1|(z#keeBrgKT8AWz1#>Iipael<{ z&W$sba>7R$W5E2?n>`OW{{XX~=9SxGK_w-Cxuy%>Y5L>1`jErQ@j_E4n;G2n3tjLt z`9ZAK2>zN4XPG7$g*^n*3M-n=6=wPx0471%zW%xb2HoNe>Z-+=L1Y;w?{PIkjgRSE z(bn@rs1b|fiZ}Td)*8+F=wuIPLr|1uu>GOas{v>x724ktz$F0#4!y+ab1X{iWWe=O7KPVlk_S_ z8x~FBLk>c<16+0NMt%LV1*2B+L42hI9m<5({NG|LjyrLn$ZZiSJBLuMyxAhJJf043 z{N9S@{{YA4GKFF+TTrYY*lw?`gMy$o!4^g!w)ERp zGChE-9z`7iWDg>{0DV9qqI#3pk&Xu!#&iK#tEfi>kt}Q(8L@pwL-alGKrMXI(UuCU z`9~N$-_ZT^YB?HD5#fun5;uB~5C=TfbJ~yFjT$J~d_}j@qBe0R)bH$h&mc$`Abm&vD6HA&}MwK+IL>iZOIBw4}Ni3u1Pr1 zX(S{T5_q6ifGSBhkIH+WZ+`p%l?danZu83!X1g{hfI;N->7H@UfvV3Gh>GN(B*+=BaLFg*_2Yw}6UQUmNXPQh zg67!w$4jyG`Oq{)lWfFpAYIC&0YFgaiaoz=25p$ZnVqRwf!)CR3*$ccI440CH>N6- z#ErYGZ@geu4UwM5L83`1bf;F4S(ti9@`H9q{@3$b4E9K{v%>8{)t+y(_BsEy2W1Ld=N%Jc0LOR6wihGI+egyFu&NX$1X6fJGFJB0vv0OSGJ>7ywWNMkZ1C}#Y@0b(hM&EZ8>Yo>ud$m8<-%MD^O z0Vj-b4^O9TavGsk2X4^KXyly!oh((X_r*vqsw} z9gGE4UVr;lbIpxpHQ0QIg-N)^+aQBj&pkOG8Z%imn=F94#CiLh>yM_4w}6Qex5-sP zGOBtTyZR2_wu&#C}v0I%*V0FbVHxz5`;y zDq{RobGtbpfDg#)LqVK!syZ*4Ho2u(_01xF=I5_=8^1ogVUYn@~v97+L%Ewg&#+3Em&cHIxuV>yVB?+t=n{!m=d7(5)& z2OsTdG*1&Zhy<)AfZJSh!xd!EApZBA2S|2!mw1Q{Tpln^F~^EkQ1mmp^!>?jAnNT2=qM)n6+$bBo-#ZldcJluKIW>_-IO}KV zG)!|u{v}L>OOX*zTUj{WeT{BD`Rk%#$qbtTc`^wnWBx-#mRqie^!kzri3f{hiua1# zNg~B}9YF7lW0RmRWbn-)5Wd28f)M(w-VR58ee@oND+51=oj_EO@AB*hvtZsUBl>#~ z!@{b?GHmgiB-&KfgNxn$M^9}BIar}-RI$7iJXSc)d8~h9pwU=_VJK7uX+t?7hfoP4 zBEH~pcn7{YB{JAhV%S=S2hdUNjQiGurwXzoNlK#kGdU)*0U(Pa@&5oH}2h*F*Iq%n?;4||fjn;IwDM+#vuto*)F=v6t9A`j*5t9VbDiCwD*<+Dia&mK? zlrnWOF{Id#j|~IK_`BZt>(j4Ku|0Id8MpA#Mt_Ld7DcrnRv6#iguob!0Dw^;*BF`tN7 zW!#GK&{|9a6biCU(8va}gQghLHjQHwAH(GClWDfa9xU=jeD~7~X4?clvN=XyC{%z2dp`arDqxWkKQ#hV@Y(d8cVy4WL$YpOc{Fl*(6Z!+mT4S0f}| zeg-HV1oHeut8kJ+Mhs@nFc*bTFSp-7Wr#GsQ-XJMwS#&=qA&jd!cXh+5=mA_WKRmt zDVxg!^F164V2eCrzd{?yG;_+w(CfIBWFU}zCa(hhB-y~v&@hHcyi*<00E~8{D(z<( zIIt*ZkMsmpi^{gKBV~wChYVXMmInfX>7wJN2$2McGb7&0ACw+CjAUn%*VwqK#KbnY zE>OCy?z3Fiaq(0;=(xp8CyDg~xj`}&AdGXk1DXfrrbUa_=jP6>zDx+rgus_|P97mPCpL;(*Ao2T^2m+O%iuMp8g1jvmR8N{XSt-B-Y`>x%}lgmIXg z)9JIcv*ctO1Y@oJKKdxE)6RHM#L}rE$+3KY_4{L{gQwl+u|{P(w}$C>v(FYu{{X!K zWRPY7ziX*36soa5uk&Z1y7{=SpJ0eNjSUPg#UnRr2fldk_149cY|@z46$kT4xofqP zk$r#M=+n;%7-v}H02~mc`jv)nss8{^7#a~wz8%Rb8aR^J5g4(OZ`(9EuZq!A#3b_| z@Zxay=^LGT4uEFt^}dHdVu~j~(E%At1!$f+Sm%rT=&nYId^C)&mKLrP8P86_ztfP0 zc6(G)VF_zHimB~&Ak~6hbo1Dz`}w7thTbBww|A0FolFh-kdMyKD0cs~l&KpJCfYk(7%v zGrTeGR$vqc8MArdj=eN&q@573VzNdW!J$qLZnJs+0D6itNMhchmF|cqZy;UgjGx~@ zoW7Vm=;O<^1JU@dpTAG7YC%yM1vL%p=bgfPT5_Lo#`i9ru*lR1;)&9eQv@ zbJsv*3a%^)h@HrbkPU!&BJS{dUW1Z$i(<-{TV-LAJtNyUW2g2YcZ32+;vf&mz>C{s z)sdd0_vhO|Nif>XS8DLcC>}u0E4laUR5S`#1;coMEK>*E&NF1uAMZid^b>S%Ya;I6 zJxCWI{{a0bkMYz5vZ~qsBr@zFR~2OB9NsgJ+d*zv7c$L9K?fR^pyq1Y}H+VO8ebt0;q^>0Lrd2WP&|bGy7jt&rJe& zfqjYL)G0P-6Jx!0KVC;|2Q(!^5`+~5uJ-hTD>=agXBS!uw4@Y_paO}Movo2#+J%y% z{=m>#O3MPTmykN8&{aiwy=6#?^O_(bo# zaIQvF`bqTU*M56^9Yil$IYtNsf0D3N)@rWJXw8lW7upy#D=ts@BOgzl5z9Pr#;mNM zdUoHaT?|%x8yK%~S`84%=7{1}+q&_auHB9Pr$NynAQg-TlEW2pO=ITxKYx1AX;78} z&SeJnf&rt*_BcPG&NZ6>f>}|2iEZx7mO^mtcr-JBELZ8QhXaWtUl7div{NWn01CRn z`e*5SGO?&s*snm67t_eD;)yw}86hi1H%AJUHdGZneFq)uzfBdHXwp}24D5t{KtZJ! zT=UcZ>qKmj_=)FIyHo&e15qaG!6t$D`OqXLR;2}7aI|1B0U(iQ`*Do|dHl$>A^@(O zo`eIQIQ`Al)=ZItB1n$5mg8-fH_j@>itBgpT9}O*RcOGE#E`Ui?O!sR3L_;c*w}Cj%@SJ zh;Vp>jsWEqg;$rlh&4o2Rey~^tYP4W!1Zm*G=Ixf0VnnO9rZ8;^Q2~L^rDi8i+zSc z;PIZ7on$8u1FVH3XN{?hXA6!8UV#3Z3km?rvXkb9*xiUE;;WH^*W6=4B2uMW%pRoz z7c>b2Jf7I&AFYE(;ZSW2MhR@tyT}}#wSM1S6CRD88b8628I`Dl3fpIP0leMao=6$J z6Ch0CW!)sE!3IKD8|VQzybG{#b=O3zAyg6XVw;FxO_CebMgcq#UtW395eyRec_o%L zK%(P8np?&OK+oyaat1#bt>q-2{*iD|iP^aEVCSwfab1psP>r-Ahx8n)467CBD!n4j ziu-5`&uJfuGBjd=D@1Gn8vym|#~2+*&>0+n3=z9F;N{Q~MPBay-r3_PL0qyA;%jRa z9(ryj=<<6SzhHUE&>-Gw$r40ScWqgTy1>T-j1Q(btcQB!UC6-|BMM8=0=i!rHZ%6= zppmd}QdkQ{A89~$HZfFr3m)QKjIvL;gOMp$y>u@f^aLf->|$9pi_D3 z$IC3G$D|FQR&!Q5lbibJJH(@y1<_c@^#-OOV#z&mT=wFxKz0ud0E#iOfwh@&mg%2J zu~_-6UV+Rc5(3*5Z*Zjmk}_;*lBE+=sKK?jTZ#@uRF#i-?UPyEs>1T6<6Qq zMUWO)oLPu%QW}M4yI>#RA59h_c#ViWt;*h?{AhOu1DdK8N4?ps-iqMDPZB($pcd%$ zXNouW2j|~FVqZ8cYq6NwV2eZ!eXEbx=Rr$&Uol>o7P{Ey9YGy`<HyX2nX~hk%69l^ju=-vPmI>!@3d$G9aZJw(;@(dyN{yJ{_l>Ow+31jih>C z=7xUUXd>@(QV%Veh0*k|Qg5YM7vGH%(38b9(f(i+)73{Jfftj{LH9LdMDXN+%J1^z z3A@mxamlvG$K~T6*G8lVk^>S@XxFNdV1fAhN~)5+i||U<{UjDZBQn&GgQ68OO4M`IwM;1>IuJfu7ZQ?bATFMH<^G0E=KZ3~#Wk zdcL^OY};cXEFqPEAZ|8#@-RQG^Z@9wgrlk{V5A#RNFP*EUV>^ zNKrB<4g%K)80(B*+l>NIB)(^dC>0A<)cnBXrHkl3y>t`Gc3(KLK&w`_$f~SgIW#a2 zJ#-Q+=*@AjrR&Q4xESY(5-zGNi6SPUG8EC z9l#Zg;;WPN&{^4}oI{!{Ft`$Z>#gFA{=oc0E5>7*DWhgVu}K1`ar>L(=sHooV_@X| zRrL!v8NodN08#f0<(F@VWkE-Jib2bA20s4)Vc$T(QM4o23+bXr;MWA#PJgC>MyLWk zIb}6@A-}1>zhXYR3`B8F7z(UjOE1d{$-Ljc9@-5PVlh>mKbQf=NgVX&Cl)jY0(UHE z3atX5Nw*-I09Sj^MOTSX`U~y=7LP36>OSAUIt^4TQH4p7N}y)5`G!d6sL$!~sYKi> z%O$L_0E7S%4OJWZduudl;m+>|8zgUgPUqY@btb5eIM7BfVZflK?T!h@G%##cSmVB+ zQ4-|9Pj=#`|PqxlID1cDYXFC@^0Avl#~JJFFw_6o-oxbDaMG-m_qyA|_8%9-Ycb01r_FV;pDP^{qs)tZO4M zc)d~(3hk3CgN}VXXXELjVVL8I7sNA2L2emF8o#+ch6h~{R%wRTMU54KveYn0H|<29 zZ;pXyZzM)YG8<};ovKL$*{}EY(H4Kky{=V5xj?J|9N%BBYS3A{JaQ+S;iK9*+1e`j z&&TW6K);Haltv~hz?0;@<5ytkzIZ?OW|Ij-TcwJbeOpS}@yG(}{myVlJQ4VZ^5vOX znwbg;I2izDtPp;0S+Er`w~1(i5$Zi~dYbS0@$3$=jcwrDBOfh9o|Y=6@^9RpKIfeT z@i!@CLrl&2Yj7lq;ypycD}dIlyb2umf9dP%xNXD6*tZgJNd3lE8qFYx{u!?J;3(tx02 zr#07;+J$H&5~~McB8J)sjJ4hIWSah;wuocSha0cx2!O=0DNXXD4 zjobGvp&LchU*DYZ@1kQ#1ZsR9z>%}Ltd$*Zi68#}m$m33NM<5*-xDDP z*sgk!yFT3CDlgnR1ZhBsw5mNev`NUb&JG5CJ?I3MK*UIqNXlu5Dnk`D$-YSMRdx;r zfOv`a$h+hGYqnNEHx)TF2Kb^qA~O$*@TeKkR@q4lOM#9Dw{kwA(ll-5Dw2{~ zjk~==Xs&4c=RFTR26IU?(D^Z|NY3gMAmo#Ky~n+BeXlX#${(=z`6>`hlspaY#3 z2((f7ak5rX9CjEj19o=e#t$F;zPcF6=2an0`j~}tC=7G$SUme^xKR>31ZdHs6jB>= zkVjtjN$hcr7Eb}vW+BvYEee9%b)(N5fJf6hC@_!1MAA%7cSb=R{Em4(`5b5*{%guAzqT|6;!1FlsbIoI^FKFU*v5Dtu7b|# z90n%^p^$Xo<3>f-yGO=ch~Hah`NsHH7UXYz4ykjOsufiX@DIRqy)fvJ-y{ zsIx|;obm*lvq#lgzvj=sVWQ+_)6UASd`{JCEC43%teWd&`{%DDCyF}}Jf#e%%nXtp z#SYR*Bft33Hiw94{7&N|3f|-kG`#ljcYV)I40PzeAw1Ew2sU?od2uT%iVPi|jo&aOhk>9s{2T2q7 ziG1aHEP%_n=C6-ys_V%b0<6qRNh2u?H-N+6r)%rSKN>2tuo5~kP_JfIvqOWxyC2uv zKw&KY7(@|vlj$2UantHZuj``7QV%FL_6xaeu-&*5{b<)s8e=4G8z@La_=;=uUwZb> z$9-7`8CX0|1AyDWP(k%_F7eabG&P}TW;@X$W~U55EHQ#;_dR;i`%&kVDwc{8Rz?Jx zU=_h!ix|gmZ?H1BSm$>XoNpGiPd$ejueE4778j6tJ{<k#+XE9~{<-5*CUQ zn+V!JF&~iK*w10pG{c=5fU`ITIOJr&rjVMd!jHEft>~i@hu&0`a0LLQ0D5%4>zxH} zJ`JQuNZ&vfz~kew0CqamgU&-f=r`>ohTKZ}Ks0`w;D1A_10iLJ2dRp^tbuXY7~p>P zJ~cryFM)-k@d(PoI>ea<&(^s1<3U7=BN5^p-s}ROoPcrLs{Y+{3WTd1s6v)DQGen% zv40=__r`)CdC(S!ua!oS-E-~6ewIFgVDS5?S^_enlz<5W&V8%&`+;F3wdMGGpc$hi z5C#bc>CZiIG!kaZM~!{W~t5>hs}%xz^YN*CMd@N@*bos1B(p<)qo8qRVnp}*gZhL(z@Wnw=NiY!f&Sob&A>DNFV z=ZVTRjHPXN59K4Jo4g-xGziI1;RezF0GP4#*c^Vo*cuLyL>NaRWL6r$>DKZ7H7M3X z8a8$y5($xUeSx!qgZgVfMS@tx1eCJ`G^LG&#!2G7KV1hp5x;bRo#c)A1l@v7V~_LG zP^}hLmJuv_Vqi0oY%JqFGC#JA*yv=G4S+e3sRy7PwO>)rD)eNQC1+p}67cu15g~F_l#?Me z+n&i70=rlCtxO6wBvfp|+V?2B#d0s~JL@q_;fMH zx`E!+wBo>Clq&OIxY3(DQ)s3ZQHRJFDx$OO2|oP?zJshkf!Sm;$Tx>HNIaYCis{tk z=Rv%lTSg~|7i)fC7Qr2Ct}e#_=Cnb1q$?c?47PARSI%9vy#ygtc~UV2_PlOeXrq&iW1i>jdNW~}q)FM&iSqpgU(5h?7S(?L0IBbKAt89x zoW~;*l~@K3rzU_E(z@X5HX<|2Bx=h}ickc5B-jI|LI~<>k8MDc#CeVbrK->ok+#pe zi~tQDoa2ks93*saGBzZw?c6;eX2Cbs>-{G{*TV~DFzj@W{F(;+T!Tlk(J^XP7Yl|Z zNiL0mFBkB0$Jenj-;8(opCmJp>I(F5c-xWhc^@=vH-N^`?`f5g5Yn#TZ*V4v6e}NF z`e(!P>NB~(+N=(7N8;@C zv(BJt;vQGu;zVjU?Fh!V0tmeGf%T!my#bIe*rt?{qySj1-p6$hsH}611%csG%_D)n zn1o`y=if~&GXOI|@Na4>iy z><)>G4~SM(ja63MunNQi2kbiH`tzZH^CyXzF@!ra1%EP#0{;Mhx5bST#Rz6mCzeWy zNdOW`kOwEA{Y4Lb6BT4+Q6A{a2O#VqGJ-h2Vo1mM(8iIm2*gS0b4?Ht(I|0R3eY%?`( z4XU`T@_r6@`iD4F-Q`Ha$@0o6I5`KL)pYxH&`;ujitvG+aD_cU#z@ZN$sa#{x(OQi zq*D^a;FGc6egNyv2s!Ol?Ly$Ftj^flj=zQ#Fev2J@pg0j*w&;OO0D8thL%XkUBr4o z99s}EjN_$y>V(oFI{9`0T%xZ*d7w=manikxf;0^njwxECjIa!hcRP|#B!kyJ=jMxx zY;W2n)lULsk_$L2^ysJnC5o4g!%8KN{0x>+SzeFQz;0Xe^= zpSMw<5+Wy}WgBEwb#v+}0QGn4c*pBnptO{&ZN&!=$vV z?Awdgp*ARjy!>Mv^Li|fNo0)(R#N;v#Wtg-L1x%zgImcE2mE46eQH5?_88_)4F(O0DO zVu(Gs$NEKR(>YxgW0maM)iJi)gMT>q)e#J8o@2&XJ!GW=dBqHM$Id$encWfR2m+}j z24JS|n);vgYf=t~7lxT)Bmx40R4C^?Z$AAx>Vp@E6NR#@8TTt~=D57`_TxZA?If$^ zfD1TQU`esq1IYbwIM68Jc~gGX{{YElHqg2m_xK$Bv>aMQQ4>l};!|$~3q6lq-)sGJ z5J>@#b4;Zi8zAW`d`0%xDe9wEU98H=bu198a}_RtS3ye+;UERbn|U~wGq`GtWaxW3)*-$s2%q{pg%N~KtA*#z=A z7$-(k!zow?|Tph$QZVApZcs55jLi8Il$lfE!ls5A8 zk6BY<^I0by^c*H;*(s6aQg=qHl1IN6!M|+kQJ^L_knZ1BT`z)r*8;(@{*2fJA~>QR z8ferJWo>;oKnxr9$FMx=CKzbgpE5;O-|20q^5)lY86X~&@1rZWGb3660sdg53%-7b z{{ZIcph0}n5Hl*KRY0RvgI~A6;`9;x$tOnMA8M}gM1#-MkzEJe(G}+WOfYH$A6TZ& zNxUAvPt-In(g4xzWhM6Hd)Tgej9quLppk$nWI~w;5N-7y+<8BqFckn#Y)k+?rW zL$~(&^)thgUD7hAh*ooan*e-YZr^%lB_yedn1L<-u>7=e?Jd*=Fc&l)qvk}?vb!n%gAKv!aYH(mMW z@%e8>j!E6)c}gfEg{B#-)$vz>--FLWoHB`&tI6gllw6{zs`17_uCu&bYwf2<=*6qDbUj z%^SJB?374u*sNpUiul%WGO*7YzWwS6Nc^=vlg~B9bUn`<0vDY;GMSQ>%u+FcNaGYa z`ez*K1gR;PVTq(tN|MIyyL*cl#y?F3QQ{4{;TkfT0%P7N*S=tGv&Ogu4G?27AVOg$MZLA|UPrY;0 z52?_=c~fzZ&p?H4z_Jb4JanVp{{Uf&zAqNOr5N7xf<*(8n2AKzu}2#fVu!2fj%aeDvq`(8ehKSE^PEfw|GZvB<$A z@7z^hgGH6MT1EJ3sLVwiRoAB@z55#Gv{rka<1i8CDj*;$*m`5Rs_&-%cAJdHLz@YH{EgVU(6b6~lsqI{!P~%qyG0O;z zUEG+;(gqkUM(j)9F-xxQJK&n3Oo=7Wr{{XTxibnA19z_CKANW z_#kd=pmjMvQP=up46^N=N-za&V=NeOe)fOI#Tqx7NNwA97I3TxH=OZRoE%_#YU20+ zkxexgVgiuHi0*rie!Oc#Ay07mq1y0ONi-_D_6NQ@UJHce2^(Q$EG?u7RxEX)cgNcr zGzjS|&9POzC4qY?S0k3%q@c8*`N*cpdNG^T1G;R=~8T-msR!Y z`slt3Y?*ekP)lC*Vg=9x1M_wM`OrxaBDa{L+iudsIINT03;ncQN_bVoa~c$i{Fm)`G+&N$>=bR=?yRt)T8 zNp9So*e53V=z9EWj`1rWhuYG~wSWiG*{iD0IS1{a5=L48l7}e7hT6ZBcK76SMB}w+ zI$3F*hlm%DxFZJ`zD9lz(C9CS*dO?(r)K4r$FLywHIM6BHH;*bM@u4ZFJ$^}@{S0x z^PVj6&W#|J$s#+EeN0Il^PK+xPQN;%i$N?tZdh(BOaKYNC!A32r=Sty1PaF5*>7pQ zpSi0X{{UmF1W06#brGt7Z*8>`kIX%=4{zUE6u~u;%)v^ZL2D$BPy}=|KA6p&278%9 zs>sPFlmM_jJ!{*V&l&{2L@d$55dI^uA~FpCYJunJ@1W_tIaN?eK&nF_rS>>D9RB|R zItY=hvjG#Lwsx1h7tLV%bMsmX?utCsg+Wywo!dy@{=L2WjRYQCP2~Cen1h9{PI)!? zuYfvy4F@_bWQ2M&3ji{>=nnw)&^10GkSCmX?<`mXcAda{9#03AA3)8^#z~$xy@5bt z3XY)moblI<1(}^Dc#=43sPno@~`~ z_0TQ1Taa$r7#bUBaB=kMkK749gXF-ZS-kExI^WO7>wu3S1-wJH;1a6KSHP_ERee6- z=2-^ySQ%TKNkHcy16@6@ugGwV!$`_y+E!tV@m0nKKfP!&ZxU7q5u*Y|*V%*d?O6jI z4@02XBZK9|8lw<)jkzN8M0@nUZ$Me3P>S+}W&l`h^V7Ni0CAw6WPw4EK(Tv-K<*jA z&wtxNuZcp6%L4gANg3JP)#RR>4nF*HbO1)yS)4@G?>>^`HK+Hb!c>mx|E#&VlkTXLwSAa$YsHARQSjfBMHpbJVq zKT*eHe)@qT?n4*w>qttV7JXg+0N>k#7>(zwiX@qu!j-%AgIlhT9RC1~5u!>KAQ9UC z0F-P8YLP&ZdH(=<9R;Z5i)>yT$f1a4N~$A1)yHq02Q-VsuOLuCVurUZbDxU(d{8Hu zQsVNN6ur8WcsRl5sniZN4(=twno?JSF3-37?X2KFOi@Jh7|2MZ1WSMq{o{|nT|}}f zm|UXED>{%GH{GyuM_w{Maic8~Nfr+>c@UE|fyIIHMg|4+&{p#jSBxEqZ_LG#0ik{F z@A~neQ$@KM8Y_^tJhiq4hvmMQCi|Xykpj&td2)D$z^%gsi}&s7@1W92H+o~HBcet< z86XO-J-hw15)l&knAswdJ8K?bqQDM0>zwgdqGE>|NHWPHf)YGQTA9cle=QC>^|}|1Gl0vvNZS~Fz#lA( z4scjx;Mz-xboi&>)Q}{w%7B0K(4}aaKLJ zG&s$X$gSnHOrVKCDC?GM`i{Nv(B3GzZtqz(y%U| zP$bswxS%`pofS+B9w@xO#9$+R!*N^zfyLE(f_iAqIC+srzSs>K6!M#uH% zM9OnKV{%It*4o6AM7ex_OVudhJJN0C7xm81IPr2X4D8cT=Ac3_|(cZ z59Y4o^0O>wB?vo+tbxx_WA1AV8F+>=PTrCU0PQp~PA{qCVA#K7dVogpw%-#>A|9Rn za(EdvRrLh)&~79T0e=@EB~)%=LEU1gkG^}^%?b(TM;ywsM^3GFxCBu(dFfxKfit5m z$`oX7W?E)61#Raa+J|5pTVVeH;5-h!_xgf&^3nWJjI^c83gZ{nh#&*k zu&$>-nnYPlQL}nU0|aB9N#^do&GgU-CEo#A^8JFz zzGD7T!ptZaQ<83|)#8m+fz!1GNjy6`GZ4am%qZmGUnaBdlYHnflf+FVEUOqK;O4hx z&PTeQ4?*#u-|?ky;l#qt(y0Y;&%ye1zkLQ<(Zq21!SDkJfw}~C;9pbsy#fcu1whRs z3$@xshN3%lIqpAd7mIY2b}OnYJ4)VPsP#LK>5rV^jld<2Ll`nDmGc1(Bp@x40pl0? zX@GdC*Ty8R=K^R81l~yf2sMpd5=3{4$@3WJVo_7(-GS1@pNh_?d%`=cg-n(nnThBB z0AYPG$QAX_2qyCs$sBF`yH>i<9dJ8Ve%dTpnVvUQk|qkp2G9k6?R^jV>&dAZJZl51 zG@F15P?8SQfYnKJ{@=#6uv7;gNT4IVO}6Ko@-mD!cUU ztQdJQvGSf$Rd}}d1pddjI;To$C300+%N8Yz9k~RH2LAv~I`f?xWeX(JB#8om9{mm; zhytvEfq6ZC`Y0`BVTH&Ptc<|!UVD>S>GjY!A}~VIG>oOi7gnsBB8kAod|l`SvLE8S zs{GrtWsUUx3GG%iU##SIW~d|uirXs?Re9)oclr3y6_zOyZwz;hi)<75a7Y>8-_xiX zE;%DYiy?AjlCo4;ZVyfk41g~FnlvsJ8AM2|Jyb{pfkz{YBcHI<#dOdT`xZ7(MFIsC z7{!tGHD9>auor1e9=TOlZ{dxGhZz^wpVJr`qcBt>L}XS*uTB0^dK=?EQD;HRBCm-F zBCC=rB#2ld&mXTI_r`#i-h9TBagBgtTd(t9$OLhq?VC(-M#?{yS5^ZXaxb-4YxmJ` zSTqZ?NYSHO?dnBj5<4IFxu~*8_Ix=@J57YLZn}=QoBQ6XvS%d=tfDQwMc|&_6bC&$ z^Z+x;e-c1t9~F*rU!#OseKh%U09|)67QSJJc@B(b*H*+5h2*bZAZ zdm6wv?V#Q&NQ%0aWC|21JB^CZw<5cI=sBIDky1$Rn!|M9kTFNDgN&r04o(_^^2NI6 zj{g9yoM;32ix-sPaKJwHT$<$HJcD`!{%lb*qFjvZLvfLL83bbM2j799=}L(<`D87S zti(|j`DhNf`V-$kSV$r$%H*=!S`&H6{>-~g}f=w4sq@A&NLPT ze+%NwYOX>r^2VcSp`3Tf$oI~JCY!{|3q|HDQ6a1=3*`0B``0=REnF(eBA|9VytDZL z&uTp}^Tz-x3-zfiN-C8kjPZ|~C;iAl2zVRG-y1eg$_DIJ;17?By$5)BkTUF}L{qRl zUpdD#d*?yXtZ~8`Vg}_390Nq>BNRIH_xTQumIU)Wvd(c)wcU}y9mn2|gETRuTf92{ zBMr0#VzXTJuaB;SNat;teg3V*;s{{X+&L8&puo=O!%y2wyXf#3Z19CM-}Xv29^ zNUjX0bpeY6``_uKG?&*Jqef`Ap<9wTuIH~`@w;jb{d@@c#f2pK}AWAqI&x$7%!t{dEv03n))Hh(rN4B>)AV za6hhi6SQymm0>ZS4MpME^ABc?sXw)*Z0!?I| zF1b1FVBoTOnByNi(7He(*H_&_6u>0sRX|{@0M_>6U-G6ac$G^Tb zOkWGJ<3@!DbtQ83c(n%lpXfdGM&1o!SWL7*3?0S#cHLM59k6}7=!+t-j7c0$RBawe zWwuNY>CSi=&I2gY1yL+sV(vf7CUQ9EJodgb&ZZ9W5=6V5WeXE8rr3ku=Y#&5)WKz6 z3>$}x`J?-<||o%LUnZySb3cX!taVIbYH(Ws=fAP5sC-5nc9cZ%fb?hXkh zRbVvI0!o8)^L_XJ0sHCs?75%&y3X@B_7HGKXKcjKRw9{Bu^vbBw?gc0NyvMthQ~)<`P>~yap>ma6etrjxoB}Ut~no2i|cfL zq5;bRg^JMF<6#vxKP8|^(fDft?SDC0rv60JfLVocVKDMkS5Wj{j`%muX9T~a90s25 z@F(tpq7}ByFe3HE#O<8x-oIUo#{Mdyr$G>DwR0kh{8)%IeGdwSv1wQT3~J={t;&&$mgfc2To*^9Z!>73RN7z_eUr8g3xg)cg;SGw21-XLE_HxR522&V0?J z-YXF~-Jd+@)lDlBdMtvxaQ=`NH0Mtw#^A$6Oneuxy0v%7@xAc%Ph?4i%HJd{cDPb# z-!k}x#%7O9qUrFyWYD*8o93K@f3mRW5#Xj8eSv2KtcZ^K83jn4!lfJd^|yXtx|l1t z`zr3;NzUHWW*wj@x_B|AxU+DPIXs86D+&2UtY7DZPlK7;awwp24>QT3S9iqiLwHd} zF8!9`yK{Vzj;>K^jP0$sz5~^Wt!RHitlYTwZ-y>6Pk36@ql+|LDG4dHaLk(muCMx) z79cq-qfow7?nq1&#(6&J`i0P3E}=syO*I-B=6F+pPuIa!{}ae^ULj*K%o$NfnA85M*k zwCW1*z;^JG#sVr3jOOdo`>gB2fsvInFiJW8+}|^`;yd3F_Uf7DzU#$^HXTE^D+K6k zKvKLAH!yZvpQ;{qBqmYJVfbdb>jxI%%zd)2_ha@_Pt-c~uZ&Ul5hJ5S*YIoUsWxZ; z7XKZ8PGI&HiKSz?lfx*1kw`?^uw*~JfgI6j0M^?U*r`^LY`rK!JT1aeN zx>QXRJ=_KATLYrEG4j8Jtl0J(fb_fQMa5;0)F8CE;D=C(1E1EcCQ;&3_7N3wjInNfnxNp1(|-v+z0&SrW$pu608i zkP+5ZwvD)H3S_|vA^#V_&&<~PYxQ|LByr{y&3z56d;?Ov3R+# z=GU$`4Y~Rct}ne?_CAvT0e-LrNX=xU@Z)Q#ZLEi-*eOXJ!$6l$cciP-A{hxPE(R
    lfYH>wD+s0OQ~v97JO)uD*>=ZHj@rpqHDpG6X9sB1TJ_ zH-#N>g{C`Y;Yp?VqV$R5z1A{~V`!WFa9GuN<5j@KcohyJWdgv3I9Er5+Vi!;Qt_u} zaosh1gRBvW&kKUFOv|X8tO)1p@GVP{MZy9@b)8_c9Gf6heMSl$b(e~N7)q{ZG~4B3 zO_hY7SEAM%*iVPy)MtY^$wWz+U|+%-a`zzL+X+MxjW{{*V--2m2NftIEvaX!>lS2M z`aCp>xRk=pbTwZkkf|Pt(nJP|Hj8q16GIpFMz^pO?+E2*32oEG!XasL8n5DWNz2Q^ zXwN4{8OT>}lgBeIMa3cTindYPW zii}yYT-vt?>@cYi$GWm1uV!O8dx(@aIY-zr8G2fr?>EA{^WcH+!KK9qh}ceM#>jUA zrA;zOT#=?K4}6S>ljvp{1c-SLD+w2Q=!8wbie)aX4YR~u>b|?UnUs&Qp35^LcC>vz zMM+6eCGW+?wk57*y(*GJ3`)1`%ihIUJbl`Mn7Ayg92UZ{Ej@>o*6TH&B{CrRgd~8% z00F|~$B=9u2~NtwWTz!S+J^}NW-FPg?7CPLsZ5rsqjWcz*N%)5S4xpA%P5gHQ`9n; z_pii+qAObmN|?in{B$_nZn@>*i<`*Z{Vuk;>2jdjn1Uwu=Hm?u`U&DD=f!fJFL?0( z>Cn?QcGwMB@tz&9$@ytBORvW+MoDH7RIrz8+{8>Z2E5<;jQ>W$7(&ml&}_S|rc4XrSuoK1QusN!>R_o0*Q$;o(A zru$70plszWMh&ULo#$|Lh{vnB*0^WrrM9)z2$q6K-YW(M`&9Ax0dN=%m}dx)-GgB_ zc7Iy4vC&;ZbITB&ph8@aec6c6xI`np%$CHTIAx5oBBlDWhgSdj?G&Q;>`crPf|?^i zv||!JWGLUhvT$T3tYC^W^}=u_AZxLCmQwev#xj`P&%e-BWb1i{v-Q_csmf_+C{Wi< z9u-sbe}FR;o=XxA4%GC6X}`kA)s!$+ihM6|Le*L_;jadDT>l;B{M#?&k8VGp5zQ^M z4nPchynN)gZ5u?WHY2v;`1Kx*lmDSW#ZK?XO5$OX(u{T-z{au>6ISI`#rW>jO#y9V znei3MpG=aV7y(Vj4H2iY0=Ftg z=(A*O_%^gyxAnmIec!cic1dMM-h2_Zt7YoLIh6t0XOZ1o^=DMLQ@JiNvXrQ!e4Bj;k&kWK*n zH4H(ErZ4(~#*4sB)+1pF9a7d#A$i^2)?1rAtSr=8J%`-JB5H1;BG#U0g{S}QnERMs z6^$`g>?rnibI9CLb$AiN@#eEOE=XVhRsrX_f#mP)Nf~LNUM~wTF!Erpa2$@_Vz2*( zSJxc=*ykCr;|33K@pKk}&g~7^$bg;`_WTIVb`ql&qg3~B|GU*ooaY&Tmn%6;`Q?b{ ztkSnlBsJc5A5s@kP)2f4n1_{;^qANNT1fYG2TNJ8eA9`4vcBd_?kM{5`W0)8}_Kl>#nguJ=7Wik?n&8!4a&5SwX|9_e z1M8J5WCv}7UG8Lv;ramB!8?oBM~b0GwCu6Kv%#M^hHPT4fLz1``rP)+Mh}LFhYh}C zHiE$-@t32$*S_nCU9;iHQ=FBFUhc5?WOX89%lwaCS94T@%7f{N5)n>^D>ymt2DWpP zP<9sKalBN>#Rzg4dw&fuDQt;?3F z#<%zjkItlEuZY-PtFwNP4%5hh2+P-g*CA19cQ%49D$(eiX0mvWe#p~iY>a+yz0{#P zDf(P!2F^G(f;n_*;eItOz(5wwU*^E1L9GBtS*!3=>1`pRrgZhuBWf>6m5eJ6(w82% zcZh{D3DI3T+rA-tQEU`ijs=-|Wv44xBcybivd``j5RNi&I!C5Nsk0i!O96_fLHb-= z9XyBbce`R_1QDsmO@}3N&zO?j#H?~2x76Z9%;a?z)D)Xc(^3vKl&nsQU;X+luUg5z z6t8^eP*0ORGReTkSoK%kgc!eQEt&QZBPcQVLTVTtwdWn<7d1+7miOAu^$7+4F#$5DG}OP3X(C+^tjLdy*RlI*qcxJhfsT~Q5eNUzb*Ur9FhAa}ieCJ&qV zCBtU|b^?CMnl%|FtEyV-;a~{}6&;e8vdAcOG{&9a^u}pc_ud?X zJOzSDQl#FX{Lc{(7^q(u%80jX_G6e_4C_6eJMK+i->V%KaTeyJ4rd2Julvf(E<)a& z_^md0wJX8jVi#jMi%N{+5e3EI4wRYMi)`K>oVorbc<)r`a_yIyccp>43^1QNQQ!A2 z9aycKkKHiRqliC-#_tSGw{3GCgR75eZ25rp*d%S;;7g{$xDht`Em=G&)i<-sN7R`O!IbFaXoO9C{;>0YZezLEB}*fI2_keaor77s8`cS-QfNQlTF6_03PUji@7Hp z^Gz1lnE0n*#`;1Z`ilYO`JGd9E*gqw(GfTMHJpWHo zu?xFFgP%-L%bvA3IME4XL_G90G7bBbXh$`=TgOpyWVupOEie#9q|5BhoN8<58s_G? zUhYH;1BKY3rtm0En6xa?@{7?6Z>!*!SSeDHn^*wAN-gwK0(FUY){GuS`DQiBVRTR` z2}xfyUK}A8ajZ)pC|&~jBWfRU)-msP*%R=}=em7yf=#BPE?6JEDTmiyENc@8Haaz8 zQ-WDEr0>xc#c_DbGwZZr2B%{@h3F>PL^=B}y9sZ#b6%S1MKlmOnI8k@rS^!;+0GSum+8gj$N_11Eh^!^IH&(hcBj6WGJZF95T<)@xr6;d*i8OK6`074p4c`Xk$8C$ zJ7tk}6C*DZk>&$1R;#`@)>WdL5ZBNt|6!~M6w4TRZJRbKZ%ur@Tow){_7EMu@Ff|n z74R&Wg)-fvlPk_sHE*WFot?8??;mv2N9 zEdm<&$lXL;bH*9>sJ_|%Yd%Tf!d+Zuc6q~{=qfFi zx*r6wp?H>&P6@zXWT-z0;11`_X4z7|pppCZgVulB^0A}dnd&2rS?Yp%lTuuPz2Qy}w}IB~Vo*eOaAMJx2A;&1vWP8@E~8yL>*f7lLxri$vS{(hhytHp; zMksi(Hw{u0pJ(J%LA+-X-REt-lsWi|r84v4AmaR}$6M z_btGR(ukdepI$4uZiBBj+$-SeA@-25W*S48l?Ado!+@$Z=TdX!5?C{ zMDYyFKB2l3j)8MqJP0%+1Z8R$slo9GX1u6v>~5U?BI#~%596ZA=Z>IJ(bS}Lw!5@h zzCQ9^sI*8M0)7J6^F(O=cCsX5&l$q3AiMtznwE=U`Iof9i|7+kHM zs2r|7W?0AK4^WuoDG`H>ZhB!P4vMFfIr~2V#O%nRo94~z&T^&!>-x{PP zmQAR&2%eYFFNa9k!;nIUwltF-0_FobO|{J|eXMvQN#G@liz%Fk@BHv*Hp&E_Ue&bj_&CF)6Q>jvp zI5PSu^zp+6*$@B6`*Y;jn;|WVe>KZTU?b0DIsM+xeJ*Nwc)FNbMk#r5f&_eFpn^hX z!V}923s3sF#h4dx@VQjT`$^k;b^N_UuMen~%-umsdEK^8%7yjxJJ$!Z=e1y{3L{)l zD!E1|`e^UOY%68D)p}xhQ}T#gqbj->3{4Ek7YLDuYrLD*(;7zRXqV-`Un#d#PA zwlU#Dj9-R?=}b-Kz`)>sSePwpQC6&5zdmo7 z$lBv@1*?}%{U(zFgqkGGedwzG6e+49_Wdj8HVvAh+npa=u|JA`wgi#NdX=-NVP9~^ zmCENlAI0}WFPy2AeOWcygLe;ND!H2`^05B-iv)f$XJ0Yq-$qgy$);F-wwugP4e$0{q5V z2H<{vv;h7HJ^uG(BeX-!IuzU0tUeNSj_w(fIGr^p$%Xgx^mBHFzFtU1M00XIqaOca z#hL>5-Yyt^I(PKQ>k&YD)S>+P8b+&R!Tg~ zgB{U6Zlx61b86LrlVVum@3WlU&y)m6T6?@fF@&R6?5wm+UmH9G_JaLJEHN{A?TLF? z!oJ+0&BgW02goMipSaJavSmAx0XE%O1!b=ED0=@Vs~9W>f64>xg`VB6PD-H1K;bFZ3-0$yJmjIhL^ zzvps)U_%iiAFNOV6TmMQkwJXU6^(3Y1MRH!{z7TWUvl@XMcLLejbI&;JlI00zTHCT zWt5LTtpOUrDdGMnkKzQ3-o&qBq57RaDzN^ahB$OTvX=!QGYk%2`#@I%wVD?s(7tY| zPFdU^-Hu~?rPQ@hMy$fUq`ns@Ww6kz7yUH64wn;R3tVh{VEj&D_;IH^r!zE#n|8|g7Kk5VP-(Vzyo)t|44bk2R3N$WyC+i1$QOJZa_s8F+ zI#MY|>#u%&H23+ayBR?ogV{>6of3~GVa%v%G0R~SbYNI#j?#uoy<1RH5P(pspHeu% z+7vd2SThYVl6phDSaxP^LEY=`^k%_5>s<1I_r8EF%c-%>Uyqnq`5(#E!MFA9D=d)u z(%i3l3uQBvHAaa&4yIh1L+yUADHPw649A!^d7jLak~*5PfWQDs;qN)&G!}{J0^v!X zP}l_M9ZN7}VF?g(e~>CaO6i14)#Hb_NHi2EY)tJENwDYFIAkSDQfzsS2Yuh{ZPKKG%|k1DhyWoo~>Zu_NwijJx#Hs zgd(t{degQ^zm30wr(=8Zs`tx8ga&yygE}n68(+mTwyK)WaJ{XJs}TMJKc-B3&t3EoX~_c1DnVWzsx?6yIc*Z;gS2$H`Tqfea<3Q#xEqUGn^U{B z%~)_rLqtNk7yK%1ltals;d$gT@y53=Rja+;WOD>XPaR=5a{e0Stf9~z(SN*PWD_h| z-{b@8>9@Pt)Hci@8486`2{{MH%3r_8|xPxRC-qjZMRij3(F(ZeT26 ze%^n88AM_V&*!k)Wq?YHv%sG_h=d07{UvHhi?iUY?2i$Dw?5TTJStm{~~THK24qm?ZZE<_CM#8fsTP+wB^pC zIFQ7lB=rb+u$L8*efF^T&_}t^I-Ty&#`=igE9}0q`wo;$6d(R+wW|`*EofI)aml=E zaI~M=GLgPfh8i8p$*yZnX6g}t|EgvX%RMdE zGUxvMs3;}t6}up{J&C&d_u3puX{m*k`REC96=AAW#;-Hv{YTPQBad6EbHZwj>c?Q5 zXra=Yh@D2Og)7tomlm_VYmE02#yJrs5noYJ=j{<=vOi(Ypg&HNUAtE|=s3RB;s znLL}?T46dVh(m!lKaeDo90OL5cy5Xx&x1&C zX0RuHYb3<^XBLrvySIE$Ym=ZEB>H2M1n-e} z`YesU69#ES$A6Q3E%hpIZF`MWBr&g(eln>4R-ePY1(}j=eXoCW6j~_0n;~Dmd~gxI z542ob;LRmVv&2X7D%Kmo;e3Ds$RX(B;6fGv4JDVlF^f%-!XDPC)x-@1XDLe>b{|5! z>8FM3u6e#zz0@p(*RYgqamhbiPgUYjjz!p*>wN^a?-v@4_U3M>VYJSc9>Zoog64v- z!ZhR`p1P9luw6OeV2c#BgyXJ$2Bo9>1T!2l3J$rf$=~k*?EJM9D`rQ_^o)SNWaPF2lxvs8bOJWjwIQ#qLb^y3 z`F`5Sa7!w1D)Yr#xrX$ZIMYJnW9%q8g@%v(=qyYc>jGk@Dp|e=W<1PU>Crkvs3A;_ zcV2VGP=O;gTeAimiE9>F@27$9L7MR;sVSW*T)d6cVxwDYy^e-<(?f!{$(;Z`ZVQ%0 zfPMM;Nj3XsoM_FH`3xr2JC@Mw5&E4(>0!P-hMLL-_Y${z}J_D9lDOO5OHIMD22@u)E(@|U^!H)aO zM)A8OLCZYZ2-9hfw9Ux}<>fj2@$1hTA4VpHn*sT&E9ql$#RC(;+3n-ut+<}cNqHFX zgdQ7QvgOgVNEhxm3A8)4-GMBK7VxWb*`zTJ&-!mO^@jIdpd5fjK#x-J4}gbO8D?Yd zV|`gT^)K=g9%aoHEkNrT!Cq*{tt_dl)K9~>cNlfE$uRqT-Rno?alEYM9u?83*YDw+ zyUd}nTaYoStXXpNSa2{e_665tUtO3Sw3sso?+mVe+!WlQbi!^Y+8(pc!5-gcNHG%9 zyKU1#%4D{9TaZpZKk|+`q?cn-fF9Kz#6-DC z3_S(w4bSGA7d3qQd*1-Bte-P_tnBd=fmG&uSc>NoPHwjSK#SM+_ExDktivqkRG9C* zRBB5tYC)%uO%{{>NQ*u2N!qVC@p<<{$<7zrL!@4O8!aKog5U* z);lUF0ai3-yH*RA2rszUmBv?|^(4uBiOZIrgSS;CXOG@MGnGJWGEjgLHeIapj()aw z2TZ-eVfOcG$Y$()55K#Oe1DV~Pz&4+iY4HVmIx+e>AeG_cC*K5uBh)z(=3#3N#!en z)!Nv;B}ChP5=hlp$2P@U@j*GZ|2zf#)csrBvl$Jrr7^pAl-YIbNjuJn%`9xOHbYqyqgfmyZz{lO;Z&~Ro>UfK9KQfGkmqOn2~39SY3Fovo(^o$E6x>BIM-C! zLD_y<>;Q=RZy#MQn4?qp8yxjhr80WZVrM$r&LiXrv1P7Gmq>~sD5Yyie`_ba0PgJk zJHspnc&FTY+F##sD3*Vm=>8xKo7xksdGBc{hmOUUHCwBu;m6W{f_<4S_(@`gE+}Y2 zRH;7W_BS96v;-zxdFqq$vu0n?;+~Q*P*)w6d*`*mrWDaX41j$$kV@FJF?D{3H*(nT zM?@Cv*c!ps6f-k^@8$X z><@N%8d)#-CA#tOBt0}~MK!p3BV~ER=vwWVKEn`JxYhpw+J|;0KrTbGDbLdH!m7e* z_X-n#-Cos_kDlUhXvDnKPchg(kKgHInY09dUj8mLjfwy8!u+UT`q9&hF_X|7R)P_6 zsNaG6@b!Fzt-W3Q6@;m$%r9%KMVQ~>4o0dla&Z2W(ST+#mdkP@c^gZ)0kYXwfo6uX z<5LuptE&$csj&*Dp0J2Lq=%9BL|Ca2KG;8yC zJ4FCZC>CVmB$=)HNUo(oHbhvpg;@_7$ojD#f2Xr9qIFw12_(+5&M>E%Kp$Z_S0 z@%i-Wm44!CO$L)lE@Nh9;RtD3HZE@EY~`*W71pi2hBnZ$^E?22`B+Fy_d|-+rc?cG zW1z`+0$(a47S0kw8b z@^Br7QqANIlOO~JKf!YFQM}IEjeD3w*U`r&j#2Jgeh3oAI-YyK=0yw#@@rWpbpEW4 zt-BnS9$~YA^@Q0yaWK6LT!eD2D|9lSTgt*s&%?2 zrSORolW1O35=O|dmzKYkM>d@l8Wr>Vl&ZSww2%EXZaeh3HU_2YeS9+xyYWFOU|z%h z*uQ2MSZKRw8-X7rD#$8g4<~USnNfKbL4c9>cGj!exqr{*c0}F>HE0rku4?Hjge3K} zUzzGVv5Ot&K7-?w@DoTE!v_34GkYZEzm?q&M#ed<4!hA>fpxyNwKTv6g7f~ zm!#4s%BC636n3HP>bdy8E+YgwGU<-hECcV?5KT7`>?2tGVi;+83*mlaN7EAs{BM4p z^mWs9zL(;wxAd1@=r^vW+1k>F{{S@oi>xO;Om`T**>lNST&JAnCPv1dMtS|4$4U1A z9mO2{th^qSiPJzCrUbj=h(#KWz3Q+rCY&>0)q(7GF}IRzb}M=BArhm(XTLwwa-Ou> zwh)t4N`>Y~6x4}Z&=;;!3h;r3%;U%gccjunrDg+nZDZma4Dj^?zuwgl0?wy<^UjMp zzE-wGd$dW4`}$*Vj_33Qo+BqHU)H$FU@THg+%}IV^IeQQM!fH!6_paPwFo0)dzEy$ zDEb*`xn>yqZO#_=G%ZodHN?xvADGH+@IsH?j2*2f`|>vUf*GZGSPObG=TEI>=zp?? zF>hV(poLa1Wuly>;XX7%Km117l$5?$H}L_74K!C~oECrFc4EZuYP(*9jMWYvX;~`kBifBhnQ|mCrv@U7)rt(9RVC>EW&OM06M7yu+1r zScF7?YM*_HnP?b-SCG`feYUN_#IvmL^y3?w6UD{d6-t@mx0xj(h9qpcswS>@Y;+@E z94B^oIsSQG+1R-6PA*&Ll!j9^`)e%!;<=tqn%HJPyyZSi#uT<-{L~;yjAUs#n^RjB z*$YO2+=i$L&^Ed-FGa+nu~4SiRV4bo*%@0#4Y$cvDhF*mzlHmkBvSe* z>S-vM+xruH1XH`guiMd`<%4B&=IKn==R;1H0mLw5{=!A`GV2|n#;E!(!#zwlF$KKQg`k71xC)Pao$R*nacb<$@fFyyjLu27*@(P20uoiv1JmdXHWdb22Gzx z2C&Xzt0Xkgz?og@CVY%@%gqdWzG7n1GGAD~Xc;?6a}o zv(%X-OiALN2&)%2C{I6V8Z`dv_b~iXmSCyrMD_4^0Z~J@=1S~@Vut>a>4UWvhOVr! z*m2=D8;r)$NuBcSnq8IwiAbK&BB5@3Jmw^qfVD7cf8a0bScn`fZ|$*3*5o7sPm~5z z(%AVxBY>p@V@9%5iTM#L(~QPk3D^eU*E)#ZQLI_8#PZxL-oz@3R??2kG<}n2zADF7|=+s zxhI{b&;*iRN$;#5i!(R&7=S#bjU{~+{{Dq4h%D6iq2-<{aZNAyF)Y6U&eSe?Mf{jO zkrDCLZJI0=l@CSZmkqk@d)I`^-)cfw#Ta%RMhs!3aH<8RMHqG^(BO7F*<==Zdg^T% zHKL6}Jgw0omg+~k;q2sdeeaHJh+LxqIzIQ%oZFWe)^Sv-N6C~@Xtk*kYqE<_LwYF8 z4iHPd5;?e4rcLqL zDv88`a-HXTM(5mB4y!Ef`UF zPwBTleQEaFX{WEHsE>84DlD;c{@npcg(? z!LJC(sCMxG$dPbxir7RLyKB(@2T*Sk&qMES%wiH?l$h(hnBDhh-Z&9U9~iZdP25)Y zao;dgYE4de925mZ-}x(Nc+j>7P%i>l3)nZCkIcn}fJ2*vCqh24*7IP6J{@=t{T8JD zqmP`gCeW~olYFdx^&G%5f zpvxx0PftF>YU`X&Ti~xp=^zi>_~WK(zdB()_e9<0*SH?q%x~Yt7VCmi{v_k##De5P z?k0$Yc1J&1;~q8(GKY~+qMyPBqKp79@Ar50!-DkVb5jH~ABVK>#Ysh?_38IUZh%oV z)S{l<$eO9~Olvs2$e%mu`|971`?7g`*(1y*2SG4Ndn=%p9KT6<%8Qr!L-y!f8y+lL zlmXF7-M^~e8yJ|o)rm4IJvFGvqOts03QRa`COo?STLa@CB+Arp0exh-k!vRl^4eQi zYI&vl$*Uz%eanX)%P?Sr?ZQ@tB$GO2^It_FUj-zazH4vg{Cpx3C^W@6T%o?9AQy8< zH6B05w9_uj!%YA>8=zM-e9B^;(Sac zGE{6U0&h;fSykEfD}47-HibFxszke0`R_sBi~eD8;mPP!TsiuW&s6p4Ct$=zo84Yh z%-9}U+j1;bE%eWJOYBb!T`m;t(jcO#Q)>Vr4*}*a-g_TL!bb74B<^1-%+4y7CrbB> zqX+%XMVFF?rIBI>Z#*4b;6KPJMx_?&G%6VVAQ!H_SHJ@c6wxlgh#mtI)R?h36YGlo zXrt|ZGYj7EjN@z(Vf23(U*pg;8pC%u9ZFidu&@##rwr164|K7aQzcSxRR|zU3(NHc zQ57|{t>BPKxhZ9ykrXWMijZd765`82;@knG0us3?N$$wECjW+B)%bJyv8Mh)`i;EU z4)jDeb`O^?baJ&~qqmK}0P`;Uom}wGe#g6$^?Oki+rgPoB8E^il^QtOMN??(7jmPp<*N}JD zu)x!Wv8UMgS805v@gL<(1%d#IctdNEpif+wdMAL_8XVT1aBa`Ar`EBu4{TX@^)R3u zKh`Up*rxu~HM~BQ*!j#vCo{|JEHzPCW2(}c7tx@zsgb5ZU&f0xm5RFXl*cpDa9w(R z3i3k7csO(;1+9?27-jJ?HX%hdD&sE|!+f|x-0)Pq6Yod~*WL(>wYUJBsonDxXG1TK z)x$YaE=GnRN0%YTs^5_U=mdm2a^}XL?z>k?oWOCZ3N*Xe2t`_4>eI9V5l;nqc8dg; zwe!$Ps3;7upaVjT&+LTcNA;N;g!YK2+L~Nb?%llIG|94l&c4_XJ*i!R#%`cDO4;+o z&Za#f}9f=|1$!cad_g=DCIA4^LI*d3qWtiM2m6rDbPSfnMf76=@ zS>u2KaG-r#XdOJcMA*n@82n;M-EU{_bOvlkse?Ht+NM4S2rKcHx*QMOrOT{(*@2H1 zgGClY@3-nFC*YC9FFQE!D&uGiCoNLecX|;$$t_Ld#7H;gY-)k}{-Xs(Kz=&D&cAYF|7-7qWCU_xE&y_7?L6xSEp7H+zdefsu&EmK)T4QPt3e)&uC&*6$% z1Ij|p)*h@_mhqij#QZ<%YFZ||lEG!V(2``(!*={VOxD=jmOGo@_nD+-msIZdLi;i} zD$~lbntlOa+Xk_95~idL;4cD30ODyYr3lA{VtcS=@}nSJp##cc@0|K0WR&sQZ4r+c zw-{qoUq%R}{{zHT@+`!nA!JAvI7)ivR2k2ne>?7_o=f%Own=Yzp1G?sAS0GND&Qh* zk~z3*SEfgm+cGKBsAg@-db9IrIX)037D)l*&Q^KxV-F``ot-L_YcBwAQ~pJRmvGVl zN8JfM$?h`K3 z(zm}S%YV@00BA{OUFW(ofjMhdE#se-h_y%mX!$6sJ#zybbaij6OD*K#vB~n)@!zROAMNdVsT7qF-P{S7JZA671fvw3?^5RE%_UQjE4UV3&W!y`~P6{ zx@CNaq%orEIZFm0+&Vr#ik&P0V3P8ZAOcFsFaY!%9Xh?-t68MNwYNN^m8a@HYm}Pl z1w7q_o8}T>WbeVCd=d+6I=3eQg!A-Gqeh=A@{m=D>BaE{E)TnMw!@^9Ba+?KbnW%- z394WDR6|}hnO6{Q5Y~y=*1{FDxg*3&lAHb*-o1C8)wTz)9hpqTXFJETr&n`aPUnW< z98bR034MpeNmY*WjB+bwKon+UC%Xyzf5BX&nMYgb5I44Vx?_ztXfMM|9%kC0QqEru z0rs9>Jl6AY6%Vc7L#2+hphk&5aHf*ebj&$X$|#`& z2e~k=_wUF{?b;0}+ev!vlXh`scRBot5ntT5Bdtr4{x&#nUDV>an3b9S#6B)HAYp9K z;2Hl#w+<;z=*^;`#@gqU1z<&pJ8k|4aDqiQ(HnjfAbkJ8{$s>O#M^J{vKBJ|F9ux} zjiG6@Taself{UtI-&@Uq%PmJGU)d5%ess6aUm-27??up$q*?Ga5Y}nKe@P)y?$L)w z;rsW(l?`rfY5@tSx%&6#zR*Taz{t)hR^GNORk)?V(&Kp^!&lqCRb)J>zaV_u6~n(R zVe?`Bb!nVlo%e^RgRDkX>s1B_3Dt~6T7&Qh%kxUtqAw52IE$aNLKwQDb zs#H^Q<&?DWyGN(M-ExMQ_ne~Y!=PzbtPfv$+|71MVOcwzKIEgn#q>wQz4y?=(+!^^ zRGllUKBMv>1%lhmA?%04x_I%ergiKen)Xz&q1^FzKLt(;~J>Wu33KVbUd)_^AZ= zrL_II^)3bSo=4-~J6}AfeS9(!zCU5GxR*mC%n3eA7R4AGEV&Xu4^->@mE@*>v;< zc){i4nd*6TIR%x>RA+UK_KjvU9xAp?Ry&P9(~;fn__{{9f7n(cqHi}urJ8%iR(pvu z<8YUK`HagUwzN$~62I;_tT$VrI8(Hvrf8-Oyl4H^^X;lE7IIIcHmN=+sdd|={oRl~ zOK2H9U`t)(CYCVRDIIrTdT%{{3k$+1K`|qy87tpxH}Lk`eIkz6l#S-3U3wD$-wjdl z9{>$zJ2{%ZAad7Kb#h9{Bm`5FV*CflBxBu46<6mj@=~7Cb1Ql2Fd#PJi9q>I*?y20 zOXf~^Z{EoAuS3!)?qoTBOT97vFjW)EkEGsJ5-HL^!!~V{E9I!yb4`VdE|Q5E>5x`>OX`KoO@={<4Qysrs5ss*!Ft$FJmssRHDlQP12KTHK4h~kUErFZfm6Ql zo>e$t_Dca?@R0`VQpP`7&b0&8^CQnJ6?bGq>k*EG3ET%%guQx$ri*BL(>oN_YL%aMq z6zl05m{|V6WC;D<@-<5fX3F!gNbPbr_ZIT@IO!4Q$1mUDseqS+M#|t6txHQI?;0q2 zErKU~_U$IxGH0$8i;ylk&<(vkL{m4o3yG2WE!tka+}FEO$J<8X|X7ALRW z0PlKFq`C&Syil+Y?mXv&2V`d#&l!hFMSiap5yUUV81-V`^^y@#!77zL%o6^@Ubs8b z(UadhcZBp5CNE;(Gvcyanh=SjSGfIx`{D}w|{z1><^BZelg8?Oy z^P%(8v`{?ol5!(10gQP=X7kQ#o9vw#3JZ6_DIiQ%cdFN1Z-$@VQE}t~|J(BXcyO$(Y^U z+s~P;v+umH;=OC}{3_mM7^~1Sz=XNg5Qccl?rA~ZDBr9igS9e1e3;fKwvl~b=N*hl z;-@*j1@@9)lTme22O3fgllU~As`rn>h6!hEm`nwoIC(eSf+_N6P$Pw2(11hmwtoGK z)z$VcWikGcW-w3Ipt@EahGZy8Aq*4QBKO+)4Tj`~@bk`Lg_FN6G&ZTa2EroEG!*}6 z;R8~qR(0W0P(!aUlHQuXUzD=!%XPA``-Y01+4xG3>3O78NiY^D{ACe z0BKtH?7k4WUFoW?y@o%joI|`>DUPgsTbtoT7HL{Lz~3-6XBJmFVBwg)5mM$|&k`2_^S+55B(u zBtE<%^TPa8_LtcAn4`-x*nJ%hj`*<;dG;?=>`U0s=WLD)Y?lGy&!91hlfT2KKwIbf zoI|8L8;@Qpet&FtzN+{mK5w(k0y}j1rhZH$y^7 zr1Smu{ol`L&vW0`b)Lt8K%`qJx<$jj%QA%t@u6sE3`|i@Hx#$tAeddsk%M~$wiL?G z)U`^Quz(k|4DKP{`xKd=Ad1C-967!ru9)hyZVdbF*)+Y}W>Rb< zW2f+OjCQ9gjxZF>elMu7fE8MSeevm1UAAaK@zSwjmZVY{`m$*n81DLeh>05kvLZ%a zAzRKdi$qCJpd;D23LLOEQkgIhrdg^$e(&}E(c~Iq`lUCiY)5f-DqAFgB!xb6V(3V# zv4-7L&fR}>M`nstFXg3*gU%PyPQs^adBg6ov9ZzJ!Q6)bA0~zAws9)7wg4~EchkEvB8qNET$F=_})$hZ9yUgdzCrVdWGK73j^becLI1@*#4c%eIBlEs!@x+fI zBYXnR8cG%`=Q#d3{C17@Yc$g0MrX(Rr6)PdjNS!V9M+daLWwMD1 zpJt9#3lv%1d0PTyUsY%J46?F8^2L-s1G#70%?rYvBsR{(A@} zeNK?I8^D@%=73DZ$33pHS-NP7wTfOuUO$(JaT|*S!d@Aun z6|)UR1p)JXq>ur4O-p+LO?EWDGbVn2xs7K&bXuC%>mHb%iZAR;&XDL9w|nwuaFi(Q zWl?>66mDcyiT~U?{^a}SCpsg2V!8pD4wR$jKLPJx2QsD%BeN~^EybxSuVe$0eh{n} z{*(+;wyFphy$TG~po)xi3%gw-c@9RC3b^TRNUF5dELq9-F$ zalF=XA}4C(5mwoZkoCJezx^7-Bp0tN&w6S{gVe?4y76(H_3+{Nh+vg+R9y?cv*Izx zfGUVPlG72DuQ? zkjh;mxmfZ_v~cg%SPFk#k@JnC=*J;V<~&0h4ct6xGZcQvEd}zkk}`kQ{J%F5<*!Ye zrrWVDN^9Xe4l0s)qet3#qbzE?tBF#FPHJiBr;N(E;z@3`$+6|I4P0O+4}kvk$5ZCr4`!@(-(5KnS|W(rB?| zm27$f3j|=3#@;@;m6B@t-(;mH7RRu7KtpaUy(xb^P>mC{_8n%%caKPeu&k$Y)mOhE zOUk17;wo>!;G)8r0x++4YQ#%w$%?iWs=LU2-mzAP|W4+ouimV_XyJwYMzLXZ`F)k&%?VyF;$?z4 zMj9+-phg1hu*qdST$Aq2?$e))1gU9MLxBDieBA|{uKOv`F?liOVn5pDP4cEC1l7w`3appUrqm7(9X_N^m1tWDjX3B0wy3rbPA z7US>N_r}-2fZl;lrW%~l`hkvt zebfFtx`$c#2#K}CAmcdjO{3bXe+?+9D0H1GbN+~+Tq&ie0M)ViSNL)VRx?J$GWy!X zX_0m^;^$Ho=EliHT8XnG8$C=O=p+8i>Q6{({vcOI3JvGz*@3QmknPPG+Ob)brIhsz z&>K27GU6Gu%V1IXyo}LW+jX6!FrVa}pAkWb;9%4l(%UZ`|Nc3zMCNpDO{MbeM-BOe zE0*=5&vy_Uv2>SHr{ph99nt#YNP-s;F`@;y2OgHNs}P`U_y1TR>#)3OIWNB(en{x&8az$wo8W2*WClQNO3jWNk<`1?gsbS%1w86`n(yzE4>D|NW}~Z{u`$2%^KJb z$%>7)bOEH++m(iAIK2(J-m>P+pCk6p)85O=tb5nG`v{5aUo$|X{XeH^x}M6*=yXhlML2d5(RxSI7{WYg14 zL3vx3(|zIETUU{e>(Y=#ICUh8sF7kP+AA&5t#$yYhf);xeDpFb^x0HIh5t^Jl%An^ zYP%Redpv9DwLdCKMoF7|4J*S1NV2xc{_~gbZF%lA5o(?)#hop!4hxrnW1rd4(0*8W zS~P-Xz=)k-F=-LyaTKPcpjjxE7pz~c&aY9N=z#JV1NXCxvYb7~4d_vclZ#SGAZ>~R zHPIc(1nq#KR$s3Vns8+!H%!v_nw?n$Lcre!OUG?L2u3X)Si}a^V&y;Le)+lk6(F{p z{)tTZ+d(mEV|teBTf0}dTwklRiD~Q;Yw;Yw*BU!XWZB}`5WU)3qC=Z@$*yWd55mu% z`952e{VI-XR14l0tttzXi^I_W1f5WfbJ-d@i2}Y~`veTq6qcTk{u(HcGG##;)~y4K zphH_b@yEwEdohF?<=%wSpTLfztsoG?o?{d+2=htq)gdZdhSGkG zx%POQU0_LbP;R>mn7fZo!5hqv|1ERnlRisdGD8J5eA_tPmyJbt%5}u*-!n#f7^z83 zV|V4QLN4`vT4K$Io-LRO6scW`G`3QnJINgm{mnMMyeh{QgZp?_zUL{O}iYyqC~RYIhT zmCh%{*QmH1Lgwm&f$BJK{K$oocF_G}Sl-x1f-`*#9g%tW(*#V!Fs2jJ7NKeHu&~KM zhQbv^gM9!Y7b|b&?shr(#x*nsWd{hX5GMVh{SAHa+LRW3kPvRT85GEX|JfE>`Mv@$ z4XgbJh#?BpP=0d;{4TaU-DjeWCfgoGu1_Z&u5~iAd(mxWZlR zcKTvQHN|oE)O~-L00X^0`$mJEa3_Xi(D9#fC|DPU{NnuWCQ58{PV?ah2bm?G*i3e^bI6ygP5& zy^!v$(bvPOAhVs&u1?vWTQLTN2FF?QCs2i1V#Jg=8wnpF!zIYueeBQv1H5mG;NZ}G zOA+%W&V34dlnS=HwS!)2JXqTfkc2W6C#f?>q%Izv;Xu=>gpoBIafO;v4Ao6mPW$kb zTAPG`FWb@ElEx^nq#jaQbtUvwn(|fYu6(FII!Icpjkx9o}T%^;IN$=TMe3XS>2?_kpK2%ke?pd3+YV|{dn6RwkAnQ0nqL+@Z zKx^#hdo}PQ#DH~obT)uL+!Ii0o_@Y#4DfR=u3*Z#aAV(a24ME8sY4AYBDA*hDESi7 zL$2h*?$}quh49@=EJkMu0GoXsgJ3%3PwzY;!nhyyP)Fvh7W&1VtMM~2kdA~Rmm;*V1q+WnjH-VY=&{M`)i z>Pps1e-7yLy1`BfaP1?9T){DXhpN#z@n<{dn57*UtrD7FJ8b~4POO)deR(;ehurz6 z9I>8H-QD<0^jA{;%w1tFL0@n^bUtqrK_{A=;r~XJ8A-YkB!aXG zk5DqZbSbMGci9UJ_Ifa4V!hL#2tKEJXj z#Q6x!fL4nQ9?p4*dA$f-Ho?r#%HQl#Revx^*l#`HiyY5`_zXbK`#RAK4zVMf)@)IdtgSnRk@IO|yO! zLr^xN@#W9)s{KMU+LR zMQ159zQaK&3WHPlF@HkN7!@|CbimQ9&1zp{BGfyiY9Cd+hmA3k?{k;;tv8sC;XJH8 zT)_R|jH)J?>N(+p|F-|loUtyT4fDSGe-LUpRN6&^bbv6)g`$Z+0 z%F7y5p!g_iLD&rX^K|5lo2F#;=$96oNWe>VOOM+V6hfpK;V_>v`?_$b3UkrWi1^m5 z!E6slW$)BQs71y-?(^0bgUwI&=^Lt1-y~~;F?WvR zD4vWoIH1j}=6ka9@#)!AI8L(~Isi)E^5>IJq5F%qm-n)}oGp<_V}r{(jDqjdano$vkq6HuAjxf_zPwG zS3EXyn}cAm`g)x9YMcCn?7^PWHC9$&(JFwOVr#;Yad(?diKDm911qJcoaTp?KU+lBj#Se5ZJPw+h6jsoHB3%xHvB@IzB-FZDkGI46mK%rE}B<5+EX(7ROC85Lu01vWT`>{yZ1W$a2;yzRKwA{Ji{biPj(d67c&uT`>G?<7?1wx zB0{O5;!#_K|Eh5TXb)djm(iJcyI#)&|jmbzsL0k~eO z$NS>DDx-OA8mOhUNYCw8z~_6jv*!?vh-){)iK>uqA4n?uD?E}zbLk(u4HwAa;fXV> z{BhZV=nil8zy2;39hsL6L;Xp{kLl+*U zm}l~ad3ZLrKd=+0gYNL>Iy~~r`0y7KY6HFh04c{mn=ofTaXsZkw8n>+*wY4r$pdXW zr@$__jtlnx9{UoDgcn*cI!i%3ayMIOB{P)+;3n%v%5JybeWJf+;i;Q%63SF&GD`w* z?Plh%Lw}sV*d9_(9?Y^;3#|B>3!6)z)}LUj_ge;u;zmBVpcZPg|(Z zh=$>P%M|DPiMVOvW+~jfy5ENME?6<2T2G4OEE({B<*aCY(iPx&AuOIySmd(Xxvssb z9B!{ap*}N)=akz`VSd>V0uER@q_!?L)PkfZmA0nO6?c7i&yW&iKQY3EcL5{~w`<+s zV;)PR2md}GxlX96)>yx{szwBeqv!NOLR#>RD7DH9EK8G-Ym>vb2w6xe%_;G}hzr1bnM?v8m%1P)EPwhqRteWr~u4fA!L*o%lfa;eT zzVs!V6T?(onkHqb#&D8W-xo!yx+KMHthi$p-jKKPNmQdaUPy#?^8oO^kxeJ5qB%A- zA>!)8S=QZDHUBcX2;SvDe*tb3{!>p88s1;E-AZjzV8j77#?ev65P#iF-km{Xt6r81 zv1=t(Ty`2I{**;yIOkE?6=U;@*}AY73*&M(Erv8gNQXX53Nx?oz!hJu8CZW|BNcV8 zYl(zr7hAnD#H!Itxce4r`HD0kd5tGg+Mb@J#NJ`*=~SN2q2 zeCZt{C?VyikH0OnTRKBwkW@e8!>It2<6c~g)2e@u(G=J!Uiv?PGc+daopy^W#e8tb zOl&upoh(Z|RE*)}qZArt3qbKlFC712O!cF+jdqLm?Q-*7qt83Y3VqDN%J6&qRKX3BqjJo5Jua53!!E)q+ zpXAv3;Dc=vR^l-ax&licCVvD%Tm6v7WV;+}qbAfM#&VaVr6&7JSiKL+c1HR>6O=DP zpzIvKA2a>Rv=sSHc=aVs&k=hjumgk+#h@+A& zD{>X{A;S=6o~D88eLNC+uQa;f)0|dp;+BH$zTT0H-#bNOo{cdiWEl{gy(DG`FB1S zXf|?;S2#iukuwjL8%{zz3M3_wMDo4q!cX zL=5llvJRwUZo@F%0T@e7%`eB^0m|Jb2 zXC{}olO%IT%;HV_AAooMz#=!UU|@bPZg{PqYYi4G;2zi$`Lwqo*gC=@@~?l*$Pz4_ zn&gYxS>%^=!+||RW$(*vDB*dO30mEC5wU> z1veEyUzMb1y*2+)h1Y?29>~ZTswJDE3U2|5``-&ESRx&_Rc*9;Rrwui;;(x`^GR_{ zi8X2&z7i1(&EqGYCLb$fpr@OJxmJSSZw74fJOl5sSK~xz&yEKCEv*SZ^Sa%i(4Y`R z9zd(P`^hs9<9gelYDH|+)(U$)P0YZ)xHafoT~(cBUDm|WUWX;TSa{gd?8pBA^k5EH zO|!61VHq~bxh!*>8Ff5qeW;k%J6~E32CHuh&Y zE=qbyez`SW$3O3>zzo6HcBhg!%%nr%q?out+_mF@U(As?&R@sjV&xe$P2G<5`8%g! zvn8TQ(whn4m7_zO%|jj*i4OZo-p`%44y-{Uk68qlmY}+%53j}E$aODst#s!~s&(!M7m$CL0zJ-+@7a`a(W6OrqPeUC zYT73OtU{O5sF~N%2LW9B$WL!5lclX@`ZEeS?P8Lls^xK0)paYFm78J+4kTcy3?7aubNm^RK6$&f zBd;SvayKMVXmQ9hAcd0@m@pSwxJXK>i7omV=0J7Vl)V1R6uykeeDh>`1W&xG$sqcV zBdgT@66}kr>cYkZ?Q3SLlxJ5XsF+Fvtwfmx+&raf&1Id?UoK$}HLww}c zT6!PP(9PiYK_fEsv5@b5o8#5Lie<>2HDh_jQPRo`7vMz}Wox2Q_LN7hXPYCgV7HHy zLyod>e9m&4$<(s{#PI&rK=hOKi-xNCN@~&*;`$3nj2DOFJC~`@LnP_sh%hcnxaGV?DuilPk{Ifj?b&Vb)Xt4j8Yt zKPxus9ym9ZWBWg3gj!WZgx(kDyxS=S&uh9jD7h^{66fukEH#o+r^JpiY37x;H_S%i zRr=3uIV55$D-B-1&mql63>=QXwG*s*>LMH%sgH)mQ8PU#7yIM8(p z6^H1(;#5r{1F>YrHp^ZpRXokwr(b_+pyM=!yhTn-^Cs~i>FGAN&ovQZkB3}!>j`MP z$%%PB7rrkFF_AWJ98%3U!fMrN zn;oH-!Zq0+>u(D$6>`2=v~rQ5{}2oT;i@0NDVQir)8zTz{_u zY7kHcXGxJrJ8#0bJ6KK=sY!t&u%bN`l2i>GN^K#L_xod$SPRtSL|{ra z>P=#%#yOt8BY-s3il?t|5wKBcmV(bNv0m}ZPHOL7aK9$v!;hArOl>}tiluJPckq7l zX&qt5b%M z!ptveMO8fRy_vu5PWGuOooNzil>WLnJU$ErNS0}B_yr~sGq@GF=rxU4;CV5Rnm5&5 z_U!zTC1J~xZ=p2FR1)xzuf_oZ-upq4dU9`#5a0SV7dpN-*)NE_^dFNN?3#kV_Z~tv zk!c%RI3xv~DV`%8l*|M2?9D1T25|jY7cTm|8IC1Fh@I`5X!ZbeZX=&wA+;t1v^lHE z4*J~+0eD|d<3 zkCMuKLhcHHd!&cKlvlB83Rz>N^WX{ika&vq#GQjKWh6)`zWZjkL zlU(`QXcx!r1L6{AcH^U<+3>0AOa|NHIC3{X8#-rYD*x;tC&G6C(|nEa?!t! ztlmY+6$5x-kYpXDGVi?t0IU62C+B1%nHp7u&(aP~RD{Vw`5goILc73{Yuil#D2}rQ zSf1bA_8WI+q8{v0xbD!!g8Q!2`YWV5+<=I?qt_{84`>C8HvSOn%Wfk0%YmP zp4GHV*Lsc6G7nPtYE^$5yM{p|G?o>Y?!|D0IpRLDx0whXC`3e@V7Xxgsm*NUFP>6$ zP95xLcbeo58-lv7YMLxtl`-MO?mq|@h2RC0NQ!!z zbi2L2dCLO4JP@N)I}5PUZl)2T(PFkH(_vtd-hru<32U#IxJ~*@n#x_E>9cO`7n^-zstRpJF0Oz$T2H=XE*1r;??PjwdvBi_y+m=wZrPvjPxmFn z`)53pc(F~cwkF)4`yW6Ouo@CO?1O&%w~l8{>4;^?gU;}LaB^qqlMG4GkF4(MQKc_8 zcJe|_pKl!{bn6G8`;i>+MAVLY&BDoZ(2LG2E3-p~y0LJ#W)H+qY>|p{OfnKiIa<>} zYe*POF%on=d7Fo8!k{mIyKCEPI*r`~RUxkPm?rt1zDaE54jhm4o+gKA1H$;c|Mg^& zjxN5xG4!z7{YCcTq;C>VlMv|>Bg%9^EqX5ZE0$N$uQ?!5nzSgg zm+yx|g zL7$r59?_GI3FH3rn{XLhmryf%eGP4PVs^@ak-mtsc&CFja-zR>Ji8Y2S4;8tqR5!1 z_`C7CpYB9oB-ndPzD;i3<>as$d|-xmNBte5k%xB;lWe_}+vV44937otK@zu`9D!G( zm6sw4K#jG*LeGA5WxZwqQM>qb(aQHCKpWwYNWRB5*wRuQO0hU6eP9ht1iQrga^e&l z)T5uq0`5mgj*(ULl1w!byvN1&+BVOjxchVfw<$&I)}N4`eT%a63OvpeZ4X z5ScPK=8%8U(FDxeoo9Q6@=C;yS&D~kT7;vBg6Q?7Kw^ewmCIDv&G#HvY*)WUmg3SL`2A(c>M^qb(9k~fwKT|8i+5=@`E|1QeMPdOao)zLPm`bR9j!c zm$AR7kv<|$SfvoQhipVpL&S-sxsnKOl7sN17L{%bDO!rmm7$@-3BFOU~~Z-XD0+4AQ>Z1~M#z@RYpl=KyoZ)%X~v zSMES~N>kV5N+I?-mWp(<$eiycXry*+1mnd}gC+fv7D={0IwcNkGbq8y2%5$)b(mtb zm(r$@Qn{VAsT~YjxH%=WZil^DKQ-Mn%m{U@?G_=BswX`eaU(Sf$H#TmBx?I>XKYOz z%zC|b8pfqMtiUeY>7x`T&ZqkyAoK40``gOFSfe1MysW!a#erM$kL&Lq1Thh<%8@0% zGl=9L-5a;=BJFt=A?`Te1?b_T=?>kecD+WG4I3B^2o!(k{WqmFDXvTG1`C!@t>=ro z$T(iNZiU~6VX5gW{9q<+k1PG6|J%MpGL3O?=%*dC6t9x&W(J;?w>bI1_9qVa9sRDl zSleJzL#!>m34tmOLGgiyp;hZHUo(U57fs#%Y}?M`f1wYHc-z&W%~E^510Yg(V3OJJ z>==t$nD{355jN;d4E3;I^|Hh4$bh9z2z=c;S5i#L;19X0jsXa{!~`jv)D{rP5YfNi3%L{yqv(yP?cr^c7&9xyb8%HSLTxN?^CA zU|_Q5tylkD9}SWZ?OTtQekV~aE0T+6)Hsj^KCAA<%X&O-IAafDKg1?1_eYtH6mmg~ zW51&aJ9q@X!L%XC zdq{m4^~rS!lx%?PcMW@l`Ha;ua*~E^2tSM4@ke|qE3=p3+NZ-Q1cK+c^wYhk)@h9J zz2ne&?A=Z!a#fj+PlRK680(d<2cW__(N-G^CStr6*^6|_Q)>L>hCz;xvcHHhkSC-` zu#|0oUQKitBehMuo1AQl2kaYAquKL)uCZG(070sOx;!D{7yNRp8WJCVsMIL~7Es;7 zMVaKMZIP}3K(~d3bI85Al@O&eeP&(As*GQ8d{3|=@1lvA0<{naEafSYfX;74wormz ze5Kz;1vnx{uYnrk*lzGJb_s_+$ZDrY^zvJC;n2?e{$V3HFG)E$=h+)tAi(QvI%q1Q zkfE&U@o!zCl{5fAw+D21=6&3H$+Py}M<>`P&p3g^jH1-Jl5CevvX=+}XcO^V{n z!Z{ygvi|c!wwPu0f82WFld0zCr8m0-*5K^&LHuZ(4mZV5^lZ>_hlJX{MR!OW+JzA( zOyk%w(spTxHubL6mjv}^lvV?mxSH1EM+-Uo-#nbIv|*?(E>pdi_lpa(!_n)%cS@gK zz(l0QpUtg)7J4)1sW@#YMW)RloN#*|V9Q?p*+l7r|2rpT@eW^I!T z_ar`g7QyEMr3#r+Lw=SEixf(r6ey(Q=h^M@zRLIc9fs=g(Gp)<%;PDXK~ z#8~6)*c!0-+^5z@t}x0Mt2SGVW*YYb9;PgzYc7si)ONv7DVy}Tn8rAx#n&J~dWtfl zv7E;g%`a4exyai@!RP_OSWoyL9^6S4HnBtEPM0h) z`Om*nFBN61DVk*CxO00Xw5iO){Y#T}Ob3url-OTC9kkmwCs(hbF_OPsvk=m)Qj7}Q z*ogjV6Nw(g$OR?;)Ybjhw3^0}`1p6+uZKAcUgJObF-=RMVjjm{^Ngm1DB(IfUe zFM*(Tgnj;h0D0s7(9m3B=0fgQK~*%@Sy#;GT_v)iR~+OIFGm9PGiv1};V#J@@mJe_ z4b#7A%3%PIz%s*QuPe)4QP)B4l7Dn}UsW zf0$dx1=>pRx<}Uanddjy*yjMLru>Ur;3HZ5#e*$3z#;zPRlU0S+#XWP#vNtr(rDzC zvt+223_?uaI*QtD{0AV-8hlGq{t@t(luSgyUB)u*hibbqo|+&2TLF_*pgg{g&T0$( zJDTzSe61pF((Q)T6Q3!5z+Z3DV3o8{M)r0nsGIoz8*LSX##iJM^#OMv;> zzSa8>9Aix`>uS>{e$~0U%Ui2~`Mx_<1d?M;bJkl2xA#F3 z^4u}fi(fD%{p(Zm;iP{v7B0EWtWr0Q&i!zI{hyHHsAir6-Aaojb52x3C`~HTGR~ zQTnZ)DO&(*+QB%z?iA^%%1Jd>BaxX#T%+V4JG)BBk;g@0-C(WSaA|$z&H)aWr^J5( z-!3-Qgtrn7_3@@8rUkYV%Ta=#`&`f9_9)OpJhWlqEAW?#!-tn!YcF)=Ln{{rMID{# z#S7Iz?KEaMCIP+%fI53z+TLeJH*7`q2mwo$333`$@^Mt#LhTNF&_gFXCqYgY-Ycj@ zVIa|)%lsLKNM1D4sQ-y%7le54rWAatla5W+W5Aq9VhizEvddE zj$q`glvoX?H)R-Ae7wa1e8)68y_TMPJyppU_nn59T9lR>T52-lk~;mq zB0?JXeOq=7`yky<`Da(mw|~|XM#r|x;~5K1Gp#Uh^S;9=r*oGu|Yb`mr~<{0EQ_MX6iPoTJqed-x;0 zmrVf-{M`{IQkaPQLE=qF>TiLmk;jTR=cA25nB-;IAtc8)7m>jR_AO&eK!3aC#**Di zm++S(3wRKKfQxOt$Q2k1@!=r%g_$hBV2z05yq`iS(_4S0f3ko$>pW*h*DD@ZM8xOV zq+k^wTuf`Mt7KAa$00!WQ9oJQ)%EPvXlXEh=P~xn4-q4YaJ0K#xJWn&pi8~=c?=bt zu=lre)Fr0X7cCU9SPjj$Z6T>$FLne0G)@^J$Ti2hj>BFJ>!Nvws&U=bjKdn^n)|r^uBtwt#5gOnQRN)dd#dnFP=0 zKyBj&-x%q?m;>k5hblr3YkJwf@lvOEjqO{{DNj#_029kzRB};g>W>2!c`@=Hb}&}e zq>WQrlm?N@jn+fNW#0(&d->mu3fLX0eO9B?Z?ONe04RGWkfD^$((tjR@v&crnhU=qf` z;r{?7EuaY#L;*yixIN|Fi}bntb-P_}B26=Ps!4zgAmg=EasKB0e}H-fKbvr=$=vwo zKZ$)gHxyQn>k2?QQJYAL=b(%}ffVec*&*M^Ajk9AM#X4d>zN=@Uj7FA`K>%;;*yJs zRcdO-JsQ^S^Y80zVcF=BKFy>QivGr7&`38-I%8KJdQHm|$RL;fL%jJ(&9$fc%lpJ# z;l*No4;2Qc#t{fWQG%a3tiv(2iRstPAjwd9R;}0Q)O+mCjf0Y}6rkepHFt7>DQ3$q zDI0CXslLc<^^%3U*QXeeWX2CHO~nbH7jz~85~!SMa~G-_-AuHdD@#o=e92R zAD~h4Cd8YC#A9xQJtN}lQ#742!xqJP7ut!$`g%--(jcDQxZTU=6icPi;;`gfuB~%c z@f8c0yg$RYK)5v2rkS>_BhD_yQ?TWp?*f{OLFvp$l(L`%MVo>1s+n7HH_wcXhm*5LXU*HnwI>W%CR za+5Tj1D!tMN=EGDll~p^BW2P!+L6W1ntL*&vbP4Z&gK1A=Rtrw?A4=jk!2}1p>JQ3@fI=73W=KBh4zyYDNIN!768Ll^U2?l}tt+yogK zvQT3yf(yJE{iW8#zpPsCP7d>TajB#QzLy5}$|mW&GGWG2J-j0U8rppD1BkoCS;B!h{AUqiCcg3^795CtYt9iQ2R?6vdVV;E;Nx&u~&Ox z&pBtu4Ys}^aFSU3!K1js)}?MG;q52%F7Y@u{rCLHp6bN*mWb3O#g_|=c-vwGZ<2IB zG!f^mn_Tt)yPH?n# z;~<=$KR*r!R%15%96P?>DK$Q@R4i8HwUJ^9A7*Zy60#Q?VrXZc2+*ggo12^!eni|; z;)Wm5IFRM=cbIab)c4P3%jm~i?KLK@t*i8W4O+JVSnNDz={dPpBFB;_N77f<>d!&& zVMEJMAs?kvYYxuDL0OpXEMuSMZYW<1zEB13@*&fa#9Sls;lR#LQZ6CM_t`bFb(Xp3 z>O2DsBV60b79dfmBE7EdYchOeIkE!M+qW=12siXKIFOw8pA5y|@LV5!ve%A8uU1&$ z{p&$c2T$946CwhMZvg%l&i%?HNoIUbd@1?Nk+`{(e*6bsc|~o+v{bY6J>#>-xsx1G z1WD_Tk#+`(SyBEC{bS!fSa8!nGYF3R*43PC`AsuE!^wh5PzLu9#ozn`oByf4{*JP= zE^Dp-(UY`Ryt7P-D^X4RD{(bk{lL(uS z5f(S6KhJTSP~+c!`w3(Hk)ioJ+tVFrPnprRsN0F~iO!~$%zCNP^J&ZCY%u_Dh-Id0 zn|)vS2m}iqMMR%ajX#h3W9kuHk(`n$#|Z%aZ-662QC|f7c(W@JH?drM zwHqXkjR^D9=6j7|U^5~#h7>4AmZX z{_^JU2apPfts?K<;lM2xays!OZZoG!Kc2dq2Jv=@Ci#f5(;b#Z1Dp^>2?r=D|MeKQ zgh$0WjwXl{J&iG<=h+t%om=a71@f+PO8xrl;q&!vyL?z5f>u{>N=#l>KM{|sU8_rS zZJC^qUkKZGcp~NuI{cZMypNpG`nbjy=({kPwd_<=Su>(D2cwYNHi`qNX9stiO-q&9 z+cm%nfVS#Lbw;E;ACWs0ZTn#G82CaBIFxO49NMkNt!4Yh@f) z*V;S@;Ml+|V?zi)f7M2lMFTQ}hIk}>*glx^LT)zw2N20}-19Rz5Bh&K1u@*S@Go}d zuCWoR#v5VHR(OeoHjfYSimg`A6biWQJe(p$im^ds+&udg>^2i#GkE(Spa2-ho2dOe z%g8z9P|V9hs{8THF0s<7h6NWccC7$lJK+Myv)`RfDf`;LBkKDBgs{I}6iuHz`Pp=g z{Kj|XKQtaQ;A&eT^ulVpZ`Q-11(!=$V@F@J(S#SbZjMD3+ia{J6L66yEB)5EObm$! zsw>v>Gm;51S575n+UyFLFqQ}@sJpCKMo5)9KFOhWJ6o_8j^A3*mGeVu>RU|ni@7kq zbPC_zjT6t6PworP`J(Ytt=xJ%Vh(AvFYj)rt% zzMEnBV)$5vbVHsZn`9vSb7kH{EiOFd(y+1A@lTonw9B7ACk4YVe>*k5m~|Ub)S661 zCU#=pS^{@YDBwEj zJt)FSJp>$(^BS#UIs1#Jw$v_<1H?X!y?q!0eW|{Tcx{?fP(}!oK4UO(Y=SQa>|Acr zf3=T#d9d4L`iRzDJ_Y7QSpTzd=$FOy(1g9mwTty8MAc~%r-`Ro+339a4*`oSyh@t+ zB4NVv9~E=5V+!S*ti3%=;N|Su51#KEt%z@VhQ zfsI^XG^1j<3>(S3mJo_L)H{DIIXw}PAw=`ne!aSWb2cSCNp~f%YVNk{8{A%mED@Vq zrk5W?XsqUmEAgt(5z%PYKE0>57ZFV!a22S;4A-G~$`srxf-xqn>NzkSx?+a~>A1^z2F1SqNX54$lja&>S122{O#2 zBXayfpS~BhecLR8VHxM)kwLUBI$uVg++H$&$S z$^fD~muJT{0W3^M0c6&`(#^JcHV%=??Sk;k8;%t zRJ@+uE^Rk&0exm=`NpX-jcAtPvE9+?)zwoBtFgw%KQf7~>U-+*Q=Nsb>T$j7nQ8_4 zo*>k~x|ws>=@dolx+74T0S)GP05kf0ig$J9PGY2mMhtw64=CXXTO;iJQxhLlrh!2# zs32c+sw%;qKpbV7A&-mifLi_VPvF4$<+Li+XqB2v`FowaF!JNh#RJi`6IMz)B?Zkq z`T^a-T4#Tqyw)7DGyD^3u^k$3sp_Q`{`hOgQq#%ql$vT0IIk5jA%}+!6BOoyy_8W)nI+r{2f7Jt2VbM@gE$rfWaqbV z8@YTgB6Wt5u8LJ5Yn-!NxS@FIkP#3%ECU-iP~on6TUW|m)wJlABh)r!9@Wv|6pByv z$U>Mez}P;N41kMSdZ*cwi*#uhSh|Y>9a2+}GEl`U-+AQt0C$C$oM@fqL1Frq0%-IC zZyrYy;eoFA`qH>jyr~qCxJh#GCmUn^(l}@jjCI9MAT4VjY@d-J5jv)Zu4_400V}9? zFN%M?VQ8Q%2_CIiJ0;ZMWCIa{DRR{qI-n&fUtaL=ObzaJftwl3!S=W8kt@GBU0-nq6p1=U6a60Gg9oyVPPzdWwm&jcVA>P~ z*VOU};e4=pcF!e$9L8zfjW=$1D(U6U1X9r0QimS>Fq-Msk%X;k;^S==81^=vRXF)> z;;rY`KUvIbgp&aR^CqL)htq#)$spa-3V$Cpfz*6(k1q}JXe(j1l-|e9-goYV$n?W2 zKJTH)=XpjZ$2t}5SS$WigEYP7*m`fdK74RLfNlV9Id(lhP{w%U<|o9)w5#dbz=GEz zt@~+ag^+iw+S6M}2|iaMwt0>gCTao@AylyVq#on*J{k7Ii`aU_NA|*G*uhc7{LwAE zo4}N_IM>UC4=EqU=F$HEoOL>D$fr;AtZxvRSHNXLdCpc(r=Y$i_cMeZFqMQsZB5i; zx|=Yaa8Q$+VIX{MZ6$pf`Bex_nFhLbFeUXWRZ!jkf6GiqKo-fS#Pf_?j|^kf&vI$m zjwXEEd`A4#-#wLzFWu}(wQK0GfiXY1e@qgKV4L+IUCSC=t7s3#TmI1F1sRtx(}Mc$ zhWb$Pu|LNLy^()S-$}Vm3c^tN0lWSIA_GVoLfpE)4uGk&FcP{Y6@H2w+Sq)yca8#E zC`QuM1ZOsIAlKFeB1<#ZQdlI-NLb2^Jm`YZt#hs!iZ=TwC0o}=^}DkyU>JRf+e*%) z?fL#?c<*u4UFX?WJB|PfKs0%Dv5zyqZ(=R-_n&3Lx1fqJ@jcD5!XcN&!A|aDyGQTe zCjy;#Qx5jr-sypkj2!;269Fy5zYd8_>;U4KT;5JSKiiOzA>yap9y627w|H+P-y80V zEZ?GsS1RGbE}g=!uE>)X-2(A2X-V=_+7DiH1%0A{Ym91bzBo0PY5K?L*UCVOyhsUe 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 Z>!9fiH1y$jU9zTVRb*9>ll$mD|Jn0M(Ru&? literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/putted-tile-1.png b/packages/frontend/assets/mahjong/putted-tile-1.png new file mode 100644 index 0000000000000000000000000000000000000000..88de9a641227a36f9ede06d2bd9bae13f71d653e GIT binary patch literal 5552 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/putted-tile-2.png b/packages/frontend/assets/mahjong/putted-tile-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3192b19f68e2cc3823f2757e408ee96a21b43c5 GIT binary patch literal 5529 zcmeHKc|276-#?b3sL5@ih`G}(NsN6NgP5|UvF~L!7{<()8H{z5;ucaU*>aV#ge2rr zhF?i`T~gM`z6~n-GUGYaZF#!C-|Klje>{IZ=QZbb&gZ;8`}Td!Wn)9#9or9V2LND) zzTQbw0N?;$IRM_R;Nu)A+YJD=(6Q#$6l?SugbTr2+R2sRjFF~#6G0pRkeXDYlZzLI z0(Hi?WAW;+nF=}#igi_oSt+7r&_oo*1FIKE!k7gbn!5ygxv09rG&Qy(sR&SkH-_Q_ zrF!G=WCT?mwy75ZzHfYn!=Rfi6fbp{HQE@8B9JgpMQKH88JNa)D3avrhA=&;^F z)L|YJ3K0Q^`}_M#`^!rcNbYc1RaI5Ej2v7}P736ZA_w3pPE;v8`Ot=n&pJ+G$Sx!- zk%A@Qp&L4#oC&@Zbr=l9p?`bkP5i1HPyP};m8|o!Z=Yd zC&61CCMP4OASEL!C8uI8E02&HyIQGM<9XDficK$I{OXMN1=>K1UD=W#K@+) z+ED#dC?#1{B_%02Y1vKQjk+O>u~ZDs`Xm-CIvMOq(6XY^e?x8l9lB}V3>-$##AlTo zwMFQAJGo=5u&xx3Z`!^AXE1p8pOB3j;e0oS!UB&4t17qY!lsb*H%uL-EC>J2kj+of z#+X5ot}X})mV(16KLZ&gV64|b57EsW5^k|_jIz;~w2Fg`z;-W+u(bhCjGPA(f! ztHX#Sf~&6!#&t7rFo@46nczn8cOqf5+`-;ehiSRFVZrcr||E?`P)4t{HFjuNB`Z%0_8q`12-YKQsG~BDoA|Y${0M@za((y zHar!I1NZuQEZB)Zbszv7z3zLx!hlO_S0o+zo7N$L;$4q;?^s@b!K)=4#qIFNK7H=H zN_9z**J^zdq1Bd!JC6RYRJonSSG+fGi|nA&7rH^NlyOz@*bte zy`2huC3xD_6*iO<3#W=0S&#ke@<9jf*Kd->sL>G%ev+@9-)cOz94w>dV^r@+I{Ivn zJ(g?v%k4e4?WJ;#5VrXr?R-)6;c}r>Jl}T4t-zv}Mn~K|*PM#>MP01!I>M}58yJFH z7TMZc+Zz%ztSm#PT`FJPIM#RyGj+W)#_-}cZR#!OXc?`o`vt^a=!S80zJ@Z^(=-iC zNP9mX+pA#t>e{`FR_#URMs>;i)DIuhtzoV+DksJ>PUM$Ma-(A-KK{jX6}^;q;N|Lh zr(n?wQyk5F^J@bd{PZjK`CiY0-rGmEMU~&|iFmwY?5Wjm+kvx1b;bAFJ_PgU`*_eV zjMUh+gf^>|hrde>esh?~)TY0vNUQ`*WZipQd$`_%hvzn;o(&lQ_;zpH96)la5O@gB z>Yvmyr>0KzGNKNShSYv+nROXqcG|HD?;Rx_w<6i{47^kE?lJZlC_VC9Yq_xpzc1eQ z^{E@b?ixFFna!EyFZ*Yqu%wEVg0fGB;P|B+G`7oBkG4+a_t|dgqDJzp@yahAO(uf?*P8N;+aD&tQ8jrcGoN_*0-||GV_s#J}WHT(lZr0};BtKm^h;~@LIzj5_6~V!`)R(_5&hstF z-fP&mUL{z$Rzlw&$V5ek*{m*3Ee!v*Q{DiF(>3s{H4s!NqC6KU%C;ZtF4VK zKy%3SVxL*%l9i@)L-@-8V_{D5^cc!yq-IV@I{Wuj2nw=$T{owIvRp%NOIiQ;G&k48 zL^*lS)N$zQ`|w)PptZX7{ejUaIU3}TfXVsDfq%ioMl+f3O%ARP?ayb-o9tw#r1F{Y zXwHT8%|6l{dVHp`LVVXVv)PWC$OutJYaXn>HHC25UGA6sD zDHt$szN#wTOPYCjRE=n`+L*4q$W&wb`8JQ=3=&I#m>kQRIT&~jB`*euOPtlbQ=&E# zUp%{0o~g+y-7)B!pY}9T*AWK9#qaE8Ma@>QQdx@+YrKQr7o?B=TE-i8?)L*?wDs2K zRXc9xAG9p>YiNBgl)4P$iLfLrm-Z_n0-eWxTKX;xy`h(bZ7J+^-YQ>}QNO8kL6B)Lh@an!Uzxbbw5dnR z+ga(0c(Y>OD$yvO#WitGf3=nYo`}lc{pm?n6*E&iheCx*H215pg!;E~SQk=>PaMSc z4f|HT*afUVGo}{*x=o7}K6Fn(b1@5lRuL@^IeA(i-ImR``b)P5oU_$uI*_M4okn9f zsH)ERZ#lsfJ2 zOnYzTd#{K;x84*p+(PohNrqEI-p`zkOLaAYP;o439w8`+{*uUr2~ z36O2rgGzPSdc05k-JegQol1;wD=D-`DcfEMSwxs-@PBGHD0p@zdosI-zmfAKkbtoX z`cQku=H?R)p_qixfS_%ytPtxm)iQr|VA3FBFx5|eVYW~5Ugoa2<3RJyv_J#Zf0mpSq!7R2G z+U)Hy=M156=ih)4u4}$;7j1A^Yj=?|Zk(M3;q)g1M9$$}zdet#02) zj@WMmI=RQ?{;u#Mq!&#pb-DZ0q1$RK<)j+#H!WSx{GQ2YZ0sc@;_nXsRsic)wOXY`M9WKA&h5(@F2zS+=~Y;n%V49frMk zjPY)e)d%6K4lR0&?%vW9MHnq@3#!>hx7yuf+o8A97*#8fL+wK2832~+e0=dgxzZ;R7<UwVIgq>z z>^T*Xk>ho^nfFLBhevyR$(1{0GIP`j9pK6UJvZ0X!XkIl7LDRvxSIgZr-|L$i6{Oh z35?IDP*|Por}?6uZB@+**Lj(OQQgIm6E>E~XO6V+tCwa7gpJR2-no@?)WE_*J$;KK zZM=nzu>i@vHD}`MhB`B96%}SVRDu?m3mqLdXh+@TLBPTy2m4DR=jut#c|vmg?d2%# z8r=Q-d`Sjkb?k0@My)a^axGI?S=q?w$ZoW|eA5+e3ybM;k*X%_Vlllv@2EmrlS0y& zxsj2P@r>Fh{JdeAF)=ZMO3KRVDL8@`BFRH3C8xj(M%;ZCxinecfm3Ru$h~$AI-8P` z(&CN71qY4EN{6e=0XJ)e6Q$LkmX|KrM*E0pUn3hzN=lxVkhln)>9$0SZWWaXP0;9I zDbnoTCL3mfzplQ%j^X_LDP?K9K`Jw1m5&d3AfoLnE9I7!mI?=A z_PBsc_30w1dFl$FCDbv%#8uW4LYo{)-Pz;jRt4u?4>u&vKbv_*V$9%iYpY=>`(w;! zK}gnI8$Dok6(2NGb)L)C&hAY;HP7U>{8?id|kI%^J z)CdiyCX!*CTwTvf>76$HRyU88SFkqH`pjqiujlS98s(~U)I@=xX*CrZd#yJTA{M&x z{``FG$g-YI$JVOFM6Lq5h!FLUmvdGCt70Yj(%#ThvTeg)?Ynw0sI>11YTUDzFL3BRGPp8O^d%4i;ZP`vL{cMZs^NlAPz_yOU8p(?3WKSF5~}#n0D@PDY5;!E ziiyuQOp$m*5IT^6#sxrDY{ z=!+xZ@V>Zzq4E{}Nzohe)kz>R2)i1;Hv)>pBK?s81Ux9O@q;5|2>M&jKZLb{{A8Yh z_W2j$E67jcU~R0ezXtS!`G2zZ_x~XtJi#m&+_*1A_-{4v_Mw4D=xHP#M+`zB&4R(a z_N?w5=nZZXg!CdHO~Knh5vC41tg5b|3Oi!2p$UiS!VjyfsOze$e-*aId82(oe-zeK zx7W~uYv{l=VW2SldugzpyuAos{}cJI1%j_ge+~+4<$oK|Hyslk78e8t2j-x;8tga7 z(!}Ic5Y7jU1u^_-^J5T8GZSqMU2Sbun3~3_>`L9>r_dottg|T^EIJhpx;h7X8K2>gpd;`p_Tz=&!ag+yad!;DSQGbA1MR z;YZi2qYi|FyzV;>(hxIdu~ zkVVj_0AvsZ27#$*eyQhIEs`&CrI25m`sY4{exJ@i;pszvO5k($-!T@b_xT&hgdn9t zzj7+L_{z%20I+|9K+Ziltfm9<`Xw~ji9dB90PK$?##ULaF_yYktFL6dXLG64Be5*U z=z1|@x$7bxceh)LWNW{?bM5!W3rUbV$C8cvf77lJUy>-@RV{0(*EbvrgI z)SHuqy4xZBf^;J*yP$1T2e%z|{NwkWD^7pX>}_ABY&Y1u$Na^(puc8x>-MFbeR%G7S?Qhr z+_RI%4%?l#t2@C!GkjAMlM|8;yAN646uzo5K^_6tChXME`ZG5{#P!|*w8Uu<`02aV zuQu#zZ4L{~XuQtoVlC{tN~QB(rIclGm32?Hs>=xQU4pqnHj=~GyK=1mA6?tCiX@Ko z-r7~6XB$7$bjYgMGH#~hh_;LzVw1TY!Fa0~C2JsZukjS?u}5P%9_l*go;NmHK`Yoz z9UbjAoQgJ5tt^_tis$xntN0l)@3Pyiv-Jg>!_C?qN_KHdlp*I>4N9r(qW4qv(EjC- z_wV1Q$Co)0-SVjz2V_N=>sG<(@rlT}nB`BEja7xS833v0V? zOj^7w*%vj`(9n>i9B&ERZJWTp({bp`mc|otrVX+?5Q!6umzRlm|4z*#^W9r@b=mgJ zGCz#N?Ho$hpRKLs<&Pha6&4mkm+Kmf89767ZOO*Li*BU1cjWa$CTG`(ZVDfL+HkdD z=+Sie{Xu-?`8Kz6gwr`PL%l32 z>4!jsPB!um)Yg+F-!4z`S`F>LbE0xr$w zK_*ai}_%q7383nd! zM?&X_Ob@|O5$4>rx*L?2-a$O<u5J;C?{Wh)LFL|Hd;W+oBA#nf23)yFD>ni+xBf1uVNmeuFg56cZg}?xpiAV1<#^@~3qbigv<8xAJ zz14h5*26JaS1w;@pgM_U)2f=IX-o#Iufk5rkUN?QTKn^yEcfj|#}0O4aANmtiWqsq zWz4(q_Gb!OM>n~Se~x{fKT_PivGJ@5#*LX%SO6MJyN#zy`K~!SeQ0gT_UndzIQ8H> zCYJer1@r{@)Q0HBl@Rib=&7M~X)}hsMPH-9QlrxST=R=KRmaFVfa4?5Xszrb(chu> z?5({=`NJ|Vx~QXOQm=%`Qcp+FqP2W_UH_&<>PXqFPbbNexwfE5SJ~Co0hx2K(0*^u z4Gmr=fT#u^(!w_DCwb!r6Rv%8`BX=T+jK(}mF}KR=kvN3faJaSLTZt{N!G!mrl{Luc7Zrn9@sTdcOgHu@(EkPqz(Tq3Z z8kY+m8W-?(y)H-Pgy|BjDalJVrtLM27n5qRRl~&x9jtNN%m6-K9=B|4^F;P^m&BO<$l>a5t>3*@)$$V z-3Kz|xo?Q7u1tDWl!KP>DJr!meqS+df2CR!5)6Y{gsNI<%`Y1Bd0w2hmP|h}>b)7b za7bDQG-5{CYNjY6tkpll9PExnCB-bHbmsUy8uMV5Ri_$kI`>HQwE>qwr8=hgP*UEx zv+DB@`So3}+jhHj=;RRXPdCwtLRLaYWjFLr$CmKjV^d`K4|goKzU-;gou~7RYuV_| zT=vz#YW?4U{gh)vQz0WlkpA&ct}iZRRcg09E%rW1x0TvahG4j9Lm(HmfnHvu(Z$m0 z^}@_6m&yVj+567t?-v&yIQRDwc0Ln1l99d~Y|?lb6NO036~t~uX8>=Pfe**!0KY_G z4(#rZMUJP(a@=BgqOQngF~G7#MYz)dRl(A;ypDIXv}z<@2YjJ>I|b^cmmf2Fcz|=5 zm~Xr0b$V8Co2Qs9P`*wY;H<@D&bwCYko)O}oDBs=+m3nu#Tsj62tvv4Ny*cZQu|TNgbFlh-1X5tkHJyZ*HRm<-G53qO-P$x!O_z0q!AGT1N@mjAjBNiV=n~Dl{>!gA- z*LvTB&dTq3+lA?$r(i3ZPXm}Yv!|!#H5haC&uOgYFet9$8eGjE%nnfDwe(b~j#UTu zhnW-`gxMF33LcaX_R$vRHI~NPvuS0wiSA`YSG65RJ>YLUN|lp*@GfTaV-4ydA51TUMMX}lxG^77 zS)yd6h!0C_h3i8fI-{evrdk{%mGa`bDy@x8o80d2A6+sPl`pB{eyER^9INLm+=)0* zf>~Efq{h9>j9^z}GCGJi^LLs8;rtiU(4~grUGrr}U`cY)Eg%cKa%!dv%A=+e1_}3P z2A~IFB0|fgV3Jj8n|>}+q007!oIsV$@MAk@lLT*@B0qK&8%0<#iAB#n4Q1~ayiMAI zD2}#HNVb51oWgs;3RyJ1Blx6zQ?1f;=y}os18xMxTy$&914>*$@3Zy;PTOdDsWd%Y zK75K=?h$tOg%fx)MTx8iB8xHsNuStt93;B@|flxhp!h@*gCac=t_YUKxm27BAr_a9%w|#0# zj}eLaOGeC5?^A^4CmBp6GmYO{X}>7*cxg;Cs-IYhY8tpG&{SZ&qaD)FK}A<+YaO?& z(vUTS9jBCv3GLpwvu5@YtNUqYi+Eb+_!P^h#Y6W2ZPw$>OoYzcX~`JIU+6lNv%0*X zJH~DL@59M0CH46ppv`@guJ?iQ@MR$n=8USTS=qGoAkV_I~~^OyewCOoam literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/mahjong/putted-tile-4.png b/packages/frontend/assets/mahjong/putted-tile-4.png new file mode 100644 index 0000000000000000000000000000000000000000..4617f883d3d2c80c9c5333d845db8eafeb503813 GIT binary patch literal 5604 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 CNoGX= diff --git a/packages/frontend/assets/mahjong/tile-top-v.png b/packages/frontend/assets/mahjong/tile-top-v.png deleted file mode 100644 index d087d195b445b2e88a8f850a76bba3437245004d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5049 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 H_t^gcTM#!) diff --git a/packages/frontend/src/pages/mahjong/room.game.vue b/packages/frontend/src/pages/mahjong/room.game.vue index b62786cd28..90d7f418fe 100644 --- a/packages/frontend/src/pages/mahjong/room.game.vue +++ b/packages/frontend/src/pages/mahjong/room.game.vue @@ -8,15 +8,28 @@ SPDX-License-Identifier: AGPL-3.0-only