GLM-5.1 在「泡泡龙消除连连看」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:GLM-5.1
- 用例名称:泡泡龙消除连连看
- 测试类型:网页生成
- 评测维度:游戏开发
系统提示词(System Prompt)
这是给 AI 模型的背景设定和角色指令:
你是一名资深 Web 前端开发专家,擅长使用原生 HTML5 Canvas 和 JavaScript 开发互动游戏。 回答要求: 1. 所有代码(HTML、CSS、JavaScript)必须写在单个 HTML 文件中,不依赖任何外部库或框架。 2. 使用 requestAnimationFrame 驱动游戏主循环,确保动画平滑不卡顿。 3. 代码结构清晰,变量与函数命名语义化,关键逻辑需有简短注释。 4. 优先保证核心游戏逻辑的正确性(发射、碰撞、消除),再考虑视觉美化。 5. 输出完整可直接在浏览器中运行的 HTML 文件,不得省略任何代码片段。
用户提示词(User Prompt)
这是用户给 AI 模型的具体任务要求:
请使用原生 HTML5 Canvas + JavaScript 在单个 HTML 文件中实现一个基础版泡泡龙消除游戏。 【游戏界面】 - Canvas 尺寸建议 400×600 px,背景为深色。 - 画布顶部预置 4~6 行彩色泡泡(至少 4 种颜色),泡泡以圆形表示,半径约 20px。 - 泡泡按行排列,奇偶行可水平错开半个泡泡宽度(简单网格即可,不强制六边形)。 【发射器】 - 画布底部中央放置一个三角形或箭头形状的发射器。 - 发射器跟随鼠标移动方向旋转,始终指向鼠标位置。 - 显示一条从发射器到鼠标方向的虚线瞄准辅助线(长度适中即可)。 - 点击鼠标左键发射当前泡泡;发射后自动准备下一个随机颜色的泡泡。 【飞行与碰撞】 - 泡泡沿鼠标点击方向匀速飞行。 - 碰到左右墙壁时反弹(水平速度取反)。 - 碰到顶部边界或已有泡泡时,停止并吸附到最近的网格位置。 【消除规则】 - 泡泡落定后,检测与其相邻(上下左右及斜向)的同色泡泡。 - 若同色连通泡泡数量 ≥ 3,则全部消除。 - 消除时给予简单的视觉反馈(如短暂闪烁或直接移除)。 【计分与结束】 - 每消除一个泡泡得 10 分,在画布上方显示当前分数。 - 当任意泡泡到达画布底部发射区时,显示「Game Over」并停止游戏。 - 提供「重新开始」按钮,点击后重置游戏。
任务要求
AI 模型需要满足以下要求:
- 游戏主循环使用 requestAnimationFrame 实现,泡泡飞行动画流畅无明显卡顿。
- 发射器能正确跟随鼠标方向旋转,并显示瞄准辅助线;点击后泡泡沿正确方向发射。
- 泡泡碰到左右墙壁能正确反弹,碰到顶部或已有泡泡时能吸附到合理的网格位置。
- 同色连通泡泡 ≥ 3 个时触发消除逻辑(使用 BFS 或 DFS 遍历连通区域),消除结果正确。
- 分数实时更新显示,游戏失败条件判定正确,「重新开始」功能可完整重置游戏状态。
- 代码结构清晰,核心逻辑(网格管理、碰撞检测、消除算法)各自独立,无明显 Bug。
评测结果
综合得分
该模型在此用例的得分为:83.0 分(满分 100 分),已通过
基础难度评测结果
- 得分:83.0 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 泡泡龙消除游戏 body { margin: 0; padding: 0; background-color: #2c3e50; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; font-family: 'Arial', sans-serif; color: #fff; } #game-container { position: relative; box-shadow: 0 0 20px rgba(0,0,0,0.5); border-radius: 8px; overflow: hidden; } canvas { display: block; background-color: #1a1a2e; /* 深色背景 */ cursor: crosshair; } #ui-layer { position: absolute; top: 0; left: 0; width: 100%; pointer-events: none; /* 让鼠标事件穿透到canvas */ padding: 10px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; } .ui-text { font-size: 20px; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); color: #fff; } #game-over-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); display: none; /* 默认隐藏 */ flex-direction: column; align-items: center; justify-content: center; pointer-events: auto; } #game-over-screen h1 { margin: 0 0 10px 0; color: #e74c3c; font-size: 40px; } #game-over-screen p { font-size: 24px; margin-bottom: 20px; } button { padding: 12px 24px; font-size: 18px; background-color: #3498db; color: white; border: none; border-radius: 5px; cursor: pointer; box-shadow: 0 4px 6px rgba(0,0,0,0.3); transition: background-color 0.2s; } button:hover { background-color: #2980b9; } 分数: 0 下一个: Game Over 最终得分: 0 重新开始 const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); const scoreDisplay = document.getElementById('score-display'); const nextColorIndicator = document.getElementById('next-color-indicator'); const gameOverScreen = document.getElementById('game-over-screen'); const finalScoreSpan = document.getElementById('final-score'); const restartBtn = document.getElementById('restart-btn'); // 游戏常量 const W = canvas.width; const H = canvas.height; const R = 18; // 泡泡半径 const COLS = 10; const ROWS = 15; const SHOOTER_Y = H - 50; // 发射器Y坐标 const BUBBLE_SPEED...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】该实现完成了泡泡龙游戏的主要功能框架,包括网格初始化、BFS消除算法、悬空泡泡检测、墙壁反弹、发射器旋转和瞄准线等核心特性。代码结构清晰,工程质量较好。主要缺陷在于:消除无视觉反馈动画、snapToGrid吸附算法可能不够精准、重启时存在多循环叠加问题、角度限制逻辑有误差。整体而言是一个功能基本可用的泡泡龙游戏实现,达到了基础版本的要求,但在细节打磨和边界情况处理上还有提升空间。 【GEMINI】这是一个非常高质量的实现。模型不仅完全满足了所有基础需求(发射、碰撞、反弹、消除、计分、结束检测),还主动优化了游戏体验,例如增加了悬空检测逻辑和下一个泡泡提示。代码编写规范,逻辑严谨,是一个可以直接投入使用的成熟示例。 【KIMI】整体来说,这是一个非常优秀的泡泡龙消除游戏实现。核心游戏逻辑完整且正确,用户交互体验良好,代码结构清晰、质量高。在基础版的要求上,实现了所有关键功能,且有一定的扩展性。若消除反馈能再丰富一些,用户体验会更好。但瑕不掩瑜,这仍然是一份出色的作品。
进阶难度评测结果
- 得分:88.6 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 泡泡龙消除游戏 * { margin: 0; padding: 0; box-sizing: border-box; user-select: none; } body { background-color: #1a1a2e; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; overflow: hidden; } #game-container { position: relative; box-shadow: 0 0 30px rgba(0, 0, 0, 0.8); border-radius: 12px; overflow: hidden; } canvas { display: block; background: linear-gradient(180deg, #16213e 0%, #0f3460 100%); } #ui-layer { position: absolute; top: 0; left: 0; width: 100%; pointer-events: none; padding: 15px; display: flex; justify-content: space-between; align-items: center; } .ui-box { background: rgba(0, 0, 0, 0.6); padding: 8px 16px; border-radius: 20px; color: #fff; font-size: 18px; font-weight: bold; letter-spacing: 1px; border: 2px solid rgba(255, 255, 255, 0.1); } #score-display { color: #e94560; } #next-bubble-container { display: flex; align-items: center; gap: 10px; } #next-canvas { width: 30px; height: 30px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); } #game-over-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.85); display: none; flex-direction: column; align-items: center; justify-content: center; pointer-events: auto; } #game-over-screen h1 { color: #e94560; font-size: 48px; margin-bottom: 20px; text-shadow: 0 0 10px rgba(233, 69, 96, 0.5); } #final-score { color: #fff; font-size: 24px; margin-bottom: 40px; } #restart-btn { padding: 12px 40px; font-size: 20px; font-weight: bold; color: #fff; background: #e94560; border: none; border-radius: 30px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(233, 69, 96, 0.4); } #restart-btn:hover { background: #ff5c77; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(233, 69, 96, 0.6); } 分数: 0 下一个: GAME OVER 最终得分: 0 重新开始 // ================= 游戏常量 ================= const R = 18; // 泡泡半径 const D = R * 2; // 泡泡直径 const...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【GEMINI】这是一个高质量的泡泡龙游戏实现。代码结构清晰,算法实现专业,特别是在六边形坐标转换和物理反弹预测方面表现出色。开发者不仅满足了所有功能要求,还在视觉效果(渐变、动画)和交互体验(触屏支持)上做了额外优化,是一个非常完整且可直接运行的优秀作品。 【KIMI】该代码实现了泡泡龙消除游戏的核心功能,包括六边形网格排列、碰撞吸附、消除算法和悬空掉落逻辑。动画流畅度和性能表现良好。UI界面虽然完整,但美观度和交互体验有待提升。总体来说,代码实现了题目要求的主要功能,但在细节处理和用户体验方面还有改进空间。
困难难度评测结果
- 得分:88.9 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 高级泡泡龙 :root { --primary: #ff6b6b; --secondary: #4ecdc4; --dark: #2c3e50; --light: #f7f1e3; --gold: #f1c40f; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: var(--dark); color: var(--light); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; overflow: hidden; display: flex; justify-content: center; align-items: center; height: 100vh; touch-action: none; } #gameContainer { position: relative; width: 100%; max-width: 480px; height: 100vh; max-height: 800px; background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%); box-shadow: 0 0 20px rgba(0,0,0,0.5); overflow: hidden; } canvas { display: block; width: 100%; height: 100%; } .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 10; opacity: 0; pointer-events: none; transition: opacity 0.3s; } .overlay.active { opacity: 1; pointer-events: auto; } .btn { background: var(--secondary); color: var(--dark); border: none; padding: 12px 24px; margin: 8px; font-size: 18px; font-weight: bold; border-radius: 25px; cursor: pointer; transition: transform 0.1s, box-shadow 0.1s; box-shadow: 0 4px 0 #38a89d; } .btn:active { transform: translateY(4px); box-shadow: 0 0 0 #38a89d; } .btn-primary { background: var(--primary); box-shadow: 0 4px 0 #c0392b; } .btn-primary:active { box-shadow: 0 0 0 #c0392b; } h1 { color: var(--gold); text-shadow: 2px 2px 0 #d35400; margin-bottom: 20px; font-size: 2.5em; } h2 { color: var(--primary); margin-bottom: 10px; } p { margin: 5px 0; font-size: 1.1em; } input { padding: 10px; font-size: 16px; border-radius: 5px; border: 2px solid var(--secondary); background: var(--dark); color: var(--light); text-align: center; margin: 10px 0; } #leaderboardList { list-style: none; width: 80%; max-width: 300px; } #leaderboardList li { background: rgba(255,255,255,0.1); margin: 4px 0; padding: 8px; border-radius: 5px;...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【GEMINI】这是一个高质量的泡泡龙游戏实现。代码不仅完全满足了所有硬性技术指标(六边形网格、BFS 算法、Web Audio 合成、移动端适配),还在用户体验上做了诸多优化,如反弹路径预测和丰富的粒子反馈。模块化设计使得代码易于维护和扩展,是一个非常专业的 AI 生成示例。 【KIMI】整体来说,这是一个高质量的泡泡龙游戏实现。核心游戏逻辑完整,代码结构清晰,性能良好。用户体验和UI设计出色,游戏交互流畅,视觉反馈丰富,移动端兼容性好。排行榜功能完整。一些小的细节可以进一步优化,比如粒子特效的性能优化,以及音效的多样性。总的来说,这是一个优秀的泡泡龙游戏实现。
相关链接
您可以通过以下链接查看更多相关内容: