From 3bf3ba450c5d7d8da41cbe5ca2d405e38b40d631 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 20 Jan 2024 14:51:40 +0900 Subject: [PATCH] enhance(reversi): tweak reversi --- packages/frontend/assets/reversi/put.mp3 | Bin 0 -> 5014 bytes packages/frontend/assets/reversi/stone_b.png | Bin 0 -> 10794 bytes packages/frontend/assets/reversi/stone_w.png | Bin 0 -> 11546 bytes .../frontend/src/pages/reversi/game.board.vue | 106 +++++++++++++++--- packages/frontend/src/pages/reversi/index.vue | 16 +-- 5 files changed, 97 insertions(+), 25 deletions(-) create mode 100644 packages/frontend/assets/reversi/put.mp3 create mode 100644 packages/frontend/assets/reversi/stone_b.png create mode 100644 packages/frontend/assets/reversi/stone_w.png diff --git a/packages/frontend/assets/reversi/put.mp3 b/packages/frontend/assets/reversi/put.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..baa1b83195434d3af77ecf04b6d81c22c8fd2109 GIT binary patch literal 5014 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/assets/reversi/stone_w.png b/packages/frontend/assets/reversi/stone_w.png new file mode 100644 index 0000000000000000000000000000000000000000..f2bee593dc8104bffd24bd7fa0d0be3744b6349c GIT binary patch literal 11546 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

B`ss0kCJA!@6i9% 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/src/pages/reversi/game.board.vue b/packages/frontend/src/pages/reversi/game.board.vue index bf45fc411..fbe44d016 100644 --- a/packages/frontend/src/pages/reversi/game.board.vue +++ b/packages/frontend/src/pages/reversi/game.board.vue @@ -6,7 +6,13 @@ SPDX-License-Identifier: AGPL-3.0-only