feat: Implement network battle and practice modes with question generation

- Added `questionGenerator.ts` for dynamic question generation based on difficulty levels.
- Created `NetworkBattle.vue` for real-time multiplayer gameplay using PeerJS.
- Developed `Practice.vue` for single-player practice sessions with score tracking and history.
- Updated `yarn.lock` to include new dependencies for PeerJS and message packing.
- Enhanced UI with responsive design and feedback animations for user interactions.
This commit is contained in:
Coldin04 2025-04-25 18:05:34 +08:00
parent 90b3876ea3
commit 6e9c0fef54
9 changed files with 1413 additions and 1 deletions

View file

@ -712,6 +712,13 @@ __metadata:
languageName: node
linkType: hard
"@msgpack/msgpack@npm:^2.8.0":
version: 2.8.0
resolution: "@msgpack/msgpack@npm:2.8.0"
checksum: 10c0/5964ed3daad9ccf314238da81c91152dc693bca167b2469445c1d3ce0495443612e543d052281061a91ec48ed44a6a49dd3a334b5d0dbe2dc2db6ea6143e5787
languageName: node
linkType: hard
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@ -1511,6 +1518,7 @@ __metadata:
eslint-plugin-vue: "npm:~10.0.0"
jiti: "npm:^2.4.2"
npm-run-all2: "npm:^7.0.2"
peerjs: "npm:^1.5.4"
pinia: "npm:^3.0.1"
prettier: "npm:^3.5.3"
typescript: "npm:~5.8.0"
@ -2098,6 +2106,13 @@ __metadata:
languageName: node
linkType: hard
"eventemitter3@npm:^4.0.7":
version: 4.0.7
resolution: "eventemitter3@npm:4.0.7"
checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b
languageName: node
linkType: hard
"execa@npm:^9.5.2":
version: 9.5.2
resolution: "execa@npm:9.5.2"
@ -3160,6 +3175,25 @@ __metadata:
languageName: node
linkType: hard
"peerjs-js-binarypack@npm:^2.1.0":
version: 2.1.0
resolution: "peerjs-js-binarypack@npm:2.1.0"
checksum: 10c0/562b6ef27b0de6b152dcab3e13684d38decfff8b51967e12ae14707b1292a78c162ce6befc9ae63ffefec81555eb37372a0e8a530aeabdc69bea3348e4a43790
languageName: node
linkType: hard
"peerjs@npm:^1.5.4":
version: 1.5.4
resolution: "peerjs@npm:1.5.4"
dependencies:
"@msgpack/msgpack": "npm:^2.8.0"
eventemitter3: "npm:^4.0.7"
peerjs-js-binarypack: "npm:^2.1.0"
webrtc-adapter: "npm:^9.0.0"
checksum: 10c0/f52d95693059917ae701c829f766b8c8c6ad13041f16e294d3f82a9f49357e769800895cba445139c3586c89a59f6d818b58c4f1251612139fa6a891d951ace7
languageName: node
linkType: hard
"perfect-debounce@npm:^1.0.0":
version: 1.0.0
resolution: "perfect-debounce@npm:1.0.0"
@ -3434,6 +3468,13 @@ __metadata:
languageName: node
linkType: hard
"sdp@npm:^3.2.0":
version: 3.2.0
resolution: "sdp@npm:3.2.0"
checksum: 10c0/fa0146132b4c9185f276b80e09f52259b103e609565ac40c560250dbe7fc47723d30530c0db9cac6217c83153944a71af81fa70dc0367f195aabcf110f8185fd
languageName: node
linkType: hard
"semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
@ -3990,6 +4031,15 @@ __metadata:
languageName: node
linkType: hard
"webrtc-adapter@npm:^9.0.0":
version: 9.0.3
resolution: "webrtc-adapter@npm:9.0.3"
dependencies:
sdp: "npm:^3.2.0"
checksum: 10c0/bb8c1626cc0e18bd34c03074fc6a541666dbe473c8f063c5d0ea2a3a3a4887f498212a131c936777f660382185f44941476609a50df5f1543015240623375725
languageName: node
linkType: hard
"which@npm:^2.0.1":
version: 2.0.2
resolution: "which@npm:2.0.2"