Files
nl-game/src/games/index.js
李琦 cd1ab90013 初始化
需要注意的是饥荒不够完善:动作、手持工具、细节交互、系统逻辑
2026-08-15 07:24:34 +08:00

211 lines
8.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 游戏注册表:游戏编码 → 组件加载器 + 支持的道具 + 操作说明
// 编码必须与数据库 games.code 一致supports 决定游玩页道具栏显示哪些道具
export const gameRegistry = {
snake: {
loader: () => import('./components/SnakeGame.vue'),
supports: ['double_points', 'revive'],
controls: '方向键 / WASD 控制移动方向',
},
tetris: {
loader: () => import('./components/TetrisGame.vue'),
supports: ['double_points', 'bomb'],
controls: '←→ 移动,↑ 旋转,↓ 软降,空格 硬降',
},
g2048: {
loader: () => import('./components/Game2048.vue'),
supports: ['double_points'],
controls: '方向键滑动合并数字',
},
minesweeper: {
loader: () => import('./components/MinesweeperGame.vue'),
supports: ['double_points', 'hint'],
controls: '左键翻格,右键插旗',
},
breakout: {
loader: () => import('./components/BreakoutGame.vue'),
supports: ['double_points', 'revive'],
controls: '鼠标 / ←→ 移动挡板',
},
pong: {
loader: () => import('./components/PongGame.vue'),
supports: ['double_points'],
controls: '鼠标 / ↑↓ 移动球拍,先得 11 分获胜',
},
flappy: {
loader: () => import('./components/FlappyGame.vue'),
supports: ['double_points', 'revive', 'shield'],
controls: '点击 / 空格 扇动翅膀',
},
memory: {
loader: () => import('./components/MemoryGame.vue'),
supports: ['double_points', 'hint'],
controls: '点击卡片翻开,找出所有相同的一对',
},
whack: {
loader: () => import('./components/WhackGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '点击冒头的地鼠,小心炸弹',
},
gomoku: {
loader: () => import('./components/GomokuGame.vue'),
supports: ['double_points', 'hint'],
controls: '点击棋盘落子,先五连者胜',
},
tictactoe: {
loader: () => import('./components/TicTacToeGame.vue'),
supports: ['double_points'],
controls: '点击格子落子,三连即胜',
},
spaceshooter: {
loader: () => import('./components/SpaceShooterGame.vue'),
supports: ['double_points', 'revive', 'bomb', 'shield'],
controls: '←→ / 鼠标移动,自动开火',
},
dino: {
loader: () => import('./components/DinoGame.vue'),
supports: ['double_points', 'revive', 'shield'],
controls: '空格 / 点击跳跃,↓ 下蹲',
},
down100: {
loader: () => import('./components/Down100Game.vue'),
supports: ['double_points', 'revive'],
controls: '←→ 移动,踩稳平台往下走',
},
sudoku: {
loader: () => import('./components/SudokuGame.vue'),
supports: ['double_points', 'hint'],
controls: '点击格子后输入 1-9填满全盘',
},
puzzle15: {
loader: () => import('./components/Puzzle15Game.vue'),
supports: ['double_points'],
controls: '点击与空位相邻的数字滑动,按 1-15 复原',
},
simon: {
loader: () => import('./components/SimonGame.vue'),
supports: ['double_points'],
controls: '看完灯光序列后按相同顺序点击',
},
bubble: {
loader: () => import('./components/BubbleGame.vue'),
supports: ['double_points', 'bomb'],
controls: '鼠标瞄准点击发射,三个同色即消除',
},
fruit: {
loader: () => import('./components/FruitGame.vue'),
supports: ['double_points', 'revive', 'time_extend'],
controls: '按住鼠标滑动切开水果,别碰炸弹',
},
maze: {
loader: () => import('./components/MazeGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '方向键 / WASD 移动,走到绿色终点',
},
connect4: {
loader: () => import('./components/Connect4Game.vue'),
supports: ['double_points'],
controls: '点击竖列投子,先四连者胜',
},
lightsout: {
loader: () => import('./components/LightsOutGame.vue'),
supports: ['double_points', 'hint'],
controls: '点灯会翻转自身与上下左右,关掉全部灯',
},
typing: {
loader: () => import('./components/TypingGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '单词落地前用键盘输入完成',
},
mathrush: {
loader: () => import('./components/MathRushGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '心算后点击正确答案,连对有加成',
},
colorreact: {
loader: () => import('./components/ColorReactGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '文字含义与颜色一致按 ✔,否则按 ✘',
},
aim: {
loader: () => import('./components/AimGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '点击出现的靶心,越快越准分越高',
},
pianotiles: {
loader: () => import('./components/PianoTilesGame.vue'),
supports: ['double_points', 'revive'],
controls: '点击黑块(或按 ASDF 对应四列)',
},
jumpjump: {
loader: () => import('./components/JumpJumpGame.vue'),
supports: ['double_points', 'revive'],
controls: '按住蓄力,松开起跳到下一个平台',
},
tank: {
loader: () => import('./components/TankGame.vue'),
supports: ['double_points', 'revive', 'bomb', 'shield'],
controls: 'WASD / 方向键移动,空格 / 点击开炮',
},
asteroids: {
loader: () => import('./components/AsteroidsGame.vue'),
supports: ['double_points', 'revive', 'bomb', 'shield'],
controls: '←→ 旋转,↑ 喷射推进,空格开火',
},
klotski: {
loader: () => import('./components/KlotskiGame.vue'),
supports: ['double_points'],
controls: '拖动/点击滑块移动,让曹操走到底部出口',
},
mario: {
loader: () => import('./components/MarioGame.vue'),
supports: ['double_points', 'revive', 'shield'],
controls: '←→ 移动,空格/↑ 跳跃,↓ 可钻特定水管;复刻原版 1-1~1-4 四关:顶?块出金币蘑菇吃蘑菇变大能顶碎砖旗杆抓得越高分越多1-4 城堡关躲火棍跳过库巴摸斧头断桥',
levels: { total: 4, names: ['世界 1-1', '世界 1-2', '世界 1-3', '世界 1-4'] },
},
stack3d: {
loader: () => import('./components/Stack3dGame.vue'),
supports: ['double_points'],
controls: '点击 / 空格 放下移动中的方块,对齐越准塔越高',
},
ballmaze3d: {
loader: () => import('./components/BallMaze3dGame.vue'),
supports: ['double_points', 'time_extend'],
controls: '方向键倾斜迷宫控制小球滚动,滚到金色终点',
},
racing3d: {
loader: () => import('./components/Racing3dGame.vue'),
supports: ['double_points', 'revive', 'shield'],
controls: '←→ 变道躲避车流,速度会越来越快',
},
pvz: {
loader: () => import('./components/PvzGame.vue'),
supports: ['double_points', 'bomb', 'shield'],
controls: '点击卡片选植物后点击草坪种植,点击阳光收集,守住五条防线',
},
linkgame: {
loader: () => import('./components/LinkGame.vue'),
supports: ['double_points', 'hint', 'time_extend', 'bomb'],
controls: '点击两个相同图案,连线拐弯不超过两次即可消除;共 12 关,每关图块移动规则不同,后 6 关限时更紧',
levels: {
total: 12,
names: ['经典', '下落', '上浮', '左靠', '右靠', '分裂', '经典⚡', '下落⚡', '上浮⚡', '左靠⚡', '右靠⚡', '分裂⚡'],
},
},
match3: {
loader: () => import('./components/Match3Game.vue'),
supports: ['double_points', 'hint', 'bomb'],
controls: '拖拽(或点击)相邻两个团子交换位置,凑成三连消除;共 12 关,步数内达成目标分即过关',
levels: { total: 12 },
},
starve: {
loader: () => import('./components/StarveGame.vue'),
supports: ['double_points'],
saveable: true, // 云存档:每天清晨自动存,死亡删档(永久死亡);仅单人模式
wide: true, // 宽屏游戏:游玩页解除 1200px 限宽,画布自适应铺满可视区域
coop: true, // 组队联机:进入时可选单人冒险 / 组队联机2~4 人共享世界)
mods: true, // Mod 装载:开局可勾选内置 mod难度类 mod 影响得分系数)
controls:
'WASD 移动 · 空格采集 · F 攻击 · 1~9 使用物品栏 · C 合成 · M 地图 · Esc 关面板(鼠标点击同样可用);夜晚完全黑暗会遭查理袭击,务必备火;科学机器/炼金引擎解锁高级配方,烹饪锅可炖官方料理;历经秋冬春夏四季(冬季注意保暖、提防独眼巨鹿),猪人可喂肉结盟;每活一天 +100 分并自动云存档;支持 2~4 人组队联机与 30 款人物皮肤',
},
}