diff --git a/components.d.ts b/components.d.ts index 6a2a88a..660abe8 100644 --- a/components.d.ts +++ b/components.d.ts @@ -24,8 +24,10 @@ declare module 'vue' { ElPopover: typeof import('element-plus/es')['ElPopover'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] GameList: typeof import('./src/components/baseLayouts/GameList.vue')['default'] + Lobby: typeof import('./src/components/baseLayouts/Lobby.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] + TableCard: typeof import('./src/components/baseLayouts/TableCard.vue')['default'] UserBar: typeof import('./src/components/baseLayouts/UserBar.vue')['default'] } } @@ -44,7 +46,9 @@ declare global { const ElPopover: typeof import('element-plus/es')['ElPopover'] const ElTooltip: typeof import('element-plus/es')['ElTooltip'] const GameList: typeof import('./src/components/baseLayouts/GameList.vue')['default'] + const Lobby: typeof import('./src/components/baseLayouts/Lobby.vue')['default'] const RouterLink: typeof import('vue-router')['RouterLink'] const RouterView: typeof import('vue-router')['RouterView'] + const TableCard: typeof import('./src/components/baseLayouts/TableCard.vue')['default'] const UserBar: typeof import('./src/components/baseLayouts/UserBar.vue')['default'] } \ No newline at end of file diff --git a/src/components/baseLayouts/GameList.vue b/src/components/baseLayouts/GameList.vue index 9b3fedd..203c374 100644 --- a/src/components/baseLayouts/GameList.vue +++ b/src/components/baseLayouts/GameList.vue @@ -54,46 +54,32 @@ interface GameInfo { /** 游戏列表数据 */ const games: GameInfo[] = [ { - id: 'basketball', - icon: '🏀', - name: '篮球对决', - description: '实时篮球对战游戏,与全球玩家同场竞技', - gameplay: '使用方向键移动球员,空格键投篮。每场比赛5分钟,得分多者获胜。支持1v1、3v3模式。' + id: 'snake', + icon: '🐍', + name: '贪吃蛇', + description: '经典贪吃蛇竞技,在狭小空间内争夺生存权', + gameplay: '方向键控制蛇的移动,吃到食物变长。撞墙或其他蛇的身体即死亡,最后存活的玩家获胜。' }, { - id: 'football', - icon: '⚽', - name: '足球竞技', - description: '热血足球比赛,组建你的梦之队', - gameplay: 'WASD控制球员移动,J键传球,K键射门。11人制比赛,配合战术赢得胜利。' + id: 'tetris', + icon: '🧊', + name: '俄罗斯方块', + description: '经典下落消除,与对手一较高下', + gameplay: '方向键移动和旋转方块,填满横排即可消除。同时向对手发送干扰行,坚持到最后的玩家获胜。' }, { - id: 'racing', - icon: '🏎️', - name: '极速赛车', - description: '极限竞速,漂移过弯超越对手', - gameplay: '方向键控制方向,Shift键加速漂移。多种赛道可选,挑战最快圈速记录。' - }, - { - id: 'chess', - icon: '♟️', - name: '策略棋牌', - description: '经典棋牌合集,运筹帷幄决胜千里', - gameplay: '包含围棋、象棋、五子棋等多种棋类。支持人机对战和在线匹配两种模式。' - }, - { - id: 'shooting', + id: 'gomoku', icon: '🎯', - name: '射击战场', - description: '团队战术射击,配合队友夺取胜利', - gameplay: '鼠标瞄准,左键射击,R键换弹。多种武器和地图,5v5团队竞技模式。' + name: '五子棋', + description: '黑白对弈,先连成五子者胜', + gameplay: '鼠标点击落子,黑白双方轮流在棋盘上放置棋子。先在横、竖、斜任意方向连成五子的一方获胜。' }, { - id: 'arena', - icon: '🏆', - name: '竞技场', - description: '综合竞技平台,参与锦标赛赢取奖励', - gameplay: '每日举办多场锦标赛,涵盖各类型游戏。积累积分提升段位,赢取丰厚奖励。' + id: 'guess-number', + icon: '🔢', + name: '猜数字', + description: '逻辑推理对战,猜中对方的秘密数字', + gameplay: '每轮输入猜测的数字组合,系统会提示位置和数字正确的数量。率先猜中对手数字组合的玩家获胜。' } ] diff --git a/src/components/baseLayouts/Lobby.vue b/src/components/baseLayouts/Lobby.vue new file mode 100644 index 0000000..a68f2e8 --- /dev/null +++ b/src/components/baseLayouts/Lobby.vue @@ -0,0 +1,449 @@ + + + + + diff --git a/src/components/baseLayouts/TableCard.vue b/src/components/baseLayouts/TableCard.vue new file mode 100644 index 0000000..e0cf9a9 --- /dev/null +++ b/src/components/baseLayouts/TableCard.vue @@ -0,0 +1,489 @@ + + + + + diff --git a/src/layouts/BaseLayout.vue b/src/layouts/BaseLayout.vue index 0f9ed41..28d729e 100644 --- a/src/layouts/BaseLayout.vue +++ b/src/layouts/BaseLayout.vue @@ -27,7 +27,9 @@ -
+
+ +
@@ -35,6 +37,7 @@