GLM-5.1 在「俄罗斯方块」的评测结果

这是该 AI 模型在此测试用例上的详细评测结果。

基本信息

  • 模型名称:GLM-5.1
  • 用例名称:俄罗斯方块
  • 测试类型:网页生成
  • 评测维度:游戏开发

系统提示词(System Prompt)

这是给 AI 模型的背景设定和角色指令:

你是一名资深 Web 前端开发专家,擅长使用 HTML5 Canvas 开发交互式游戏。 回答要求: 1. 所有代码(HTML、CSS、JavaScript)必须封装在单个 HTML 文件中,可直接在浏览器运行,无需任何外部依赖。 2. 优先保证核心游戏循环的稳定性与鲁棒性:碰撞检测必须准确,消行逻辑必须无 Bug,游戏结束判定必须可靠。 3. 代码结构清晰,关键逻辑(方块定义、碰撞检测、消行、渲染)应有简短注释。 4. 直接输出完整可运行的 HTML 代码,不附加任何解释文字。

用户提示词(User Prompt)

这是用户给 AI 模型的具体任务要求:

请生成一个完整的俄罗斯方块游戏,所有代码(HTML、CSS、JavaScript)写在单个 HTML 文件中,可直接在浏览器独立运行。 ## 核心游戏机制(必须正确实现) 1. **游戏画布**:使用 HTML5 Canvas 绘制 10×20 的标准游戏区域,每格大小不小于 28px。 2. **7 种标准方块**:正确定义 I、O、T、S、Z、J、L 七种方块的形状矩阵,每种方块使用不同的鲜明颜色。 3. **键盘控制**: - `←` / `→`:左右移动方块 - `↓`:加速下落(软降落) - `↑`:顺时针旋转方块 4. **碰撞检测**:移动和旋转时均需检测边界碰撞与方块堆叠碰撞,确保方块不会穿越边界或已堆叠的方块。 5. **方块堆叠与消行**:方块落地后固定到游戏区域;检测并消除已填满的行,上方方块整体下移;每次消行后更新分数。 6. **分数与等级**: - 消 1/2/3/4 行分别给予不同分数(如 100/300/500/800 分) - 每消 10 行升一级,等级越高方块下落速度越快 7. **下一个方块预览**:在游戏区域旁显示下一个将出现的方块。 8. **游戏结束检测**:新方块生成时若与已堆叠方块重叠,则判定游戏结束,显示「Game Over」提示。 9. **重新开始**:提供「重新开始」按钮,点击后完整重置游戏状态(清空棋盘、分数归零、等级归一)。 ## 视觉要求 - 游戏区域绘制清晰的网格线(灰色细线) - 每种方块颜色鲜明且互相区分 - 界面布局整洁:游戏画布居中,左侧或右侧显示分数、等级、下一个方块预览区和重新开始按钮 - 游戏结束时在画布上叠加半透明遮罩并显示「Game Over」及最终分数 请直接输出完整的 HTML 代码。

任务要求

AI 模型需要满足以下要求:

  1. 7 种标准方块(I/O/T/S/Z/J/L)形状定义正确,颜色各异,随机生成顺序合理(可使用随机抽取或 7-bag 随机器)。
  2. 碰撞检测覆盖左右边界、底部边界及已堆叠方块,旋转时同样进行碰撞检测(旋转失败时方块保持原状)。
  3. 消行逻辑正确:填满的行被消除,上方所有行整体下移,不出现行错位或残留格子的 Bug。
  4. 分数与等级系统完整:消行得分按行数分档计算,等级随消行数累计提升,下落速度随等级加快。
  5. 下一个方块预览区正确显示即将出现的方块;游戏结束时触发 Game Over 状态并停止游戏循环。
  6. 重新开始按钮功能完整,点击后游戏状态(棋盘、分数、等级、当前方块)全部重置,游戏重新开始。

评测结果

综合得分

该模型在此用例的得分为:93.5 分(满分 100 分),已通过

基础难度评测结果

  • 得分:93.5 分
  • 通过状态:已通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

```html 俄罗斯方块 :root { --bg: #080810; --fg: #e0e0f0; --muted: #5a5a72; --accent: #00e5ff; --card: #10101c; --border: #22223a; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: var(--bg); color: var(--fg); font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; display: flex; justify-content: center; align-items: center; min-height: 100vh; overflow: hidden; } /* 背景氛围光 */ body::before { content: ''; position: fixed; inset: 0; background: radial-gradient(ellipse at 25% 30%, rgba(0,229,255,0.04) 0%, transparent 55%), radial-gradient(ellipse at 75% 70%, rgba(255,23,68,0.03) 0%, transparent 55%); pointer-events: none; animation: bgBreath 10s ease-in-out infinite alternate; } @keyframes bgBreath { 0% { opacity: .6; } 100% { opacity: 1; } } .game-container { display: flex; gap: 28px; align-items: flex-start; position: relative; z-index: 1; } /* 游戏画布外框 */ .game-board { position: relative; border: 2px solid var(--border); border-radius: 6px; box-shadow: 0 0 40px rgba(0,229,255,0.07), inset 0 0 60px rgba(0,0,0,0.6); background: #0a0a16; } #gameCanvas { display: block; border-radius: 4px; } /* 侧边面板 */ .side-panel { display: flex; flex-direction: column; gap: 14px; width: 176px; } .game-title { font-size: 32px; font-weight: 900; letter-spacing: 6px; text-align: center; background: linear-gradient(135deg, #00e5ff 0%, #d500f9 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 4px; } .panel-box { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 14px 16px; } .panel-box h3 { font-size: 11px; text-transform: uppercase; letter-spacing: 2.5px; color: var(--muted); margin-bottom: 6px; font-weight: 600; } .panel-box .value { font-size: 26px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; } #previewCanvas { display: block; margin: 4px auto 0; border-radius: 4px; } .btn-restart { width: 100%; background: transparent;...

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】这是一个实现质量非常高的俄罗斯方块游戏。所有核心功能要求均已正确实现,包括 7 种标准方块、完整的碰撞检测、准确的消行逻辑、分数等级系统、下一个方块预览和游戏结束判定。代码结构清晰,关键逻辑都有注释,使用了 7-bag 随机器和墙踢机制等现代俄罗斯方块的标准实现。视觉设计精美,方块采用 3D 凸起效果,界面布局整洁专业,还额外实现了幽灵方块投影和消行闪光动画等增强用户体验的功能。代码封装在单个 HTML 文件中,可直接在浏览器运行,完全符合任务要求。唯一可改进之处是可以添加硬降落功能和暂停功能,但这些不影响其作为一个完整且高质量的俄罗斯方块游戏实现。 【GEMINI】这是一份教科书级别的俄罗斯方块实现。开发者不仅满足了所有功能性要求,还在代码结构、游戏平衡性(7-bag 算法)、操作手感(旋转补偿)以及视觉美化(3D 材质、幽灵投影、动画效果)上做了大量加分项。代码整洁,注释清晰,是一个非常高质量的单文件 Web 游戏示例。 【KIMI】该实现是一个功能完整、视觉精美的俄罗斯方块游戏,超出基础要求的视觉设计(3D方块效果、幽灵投影、霓虹主题)展现了较高的前端开发水平。核心游戏逻辑基本正确,7-bag随机发生器、墙踢机制、消行得分系统均实现到位。主要扣分点在于消行异步处理引入的flashActive状态对游戏循环的阻断不够优雅,可能造成操作卡顿感;以及部分细节如I方块初始位置、预览区居中计算、速度曲线平滑度等可进一步优化。代码结构清晰,注释恰当,单文件封装满足要求,可直接运行。

进阶难度评测结果

  • 得分:86.8 分
  • 通过状态:已通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

```html 俄罗斯方块 :root { --bg: #0f0f1a; --panel-bg: #1a1a2e; --border: #2a2a4a; --text: #e0e0e0; --accent: #00d4ff; } * { box-sizing: border-box; margin: 0; padding: 0; } body { background-color: var(--bg); color: var(--text); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; overflow: hidden; user-select: none; } #game-wrapper { display: flex; gap: 20px; align-items: flex-start; } .side-panel { width: 140px; display: flex; flex-direction: column; gap: 20px; } .panel-box { background-color: var(--panel-bg); border: 2px solid var(--border); border-radius: 8px; padding: 15px; text-align: center; } .panel-box h3 { font-size: 14px; color: var(--accent); margin-bottom: 10px; text-transform: uppercase; letter-spacing: 1px; } #canvas-container { position: relative; border: 2px solid var(--border); border-radius: 4px; box-shadow: 0 0 20px rgba(0, 212, 255, 0.1); background-color: #000; } #gameCanvas { display: block; } .preview-canvas { display: block; margin: 0 auto; background-color: rgba(0,0,0,0.2); border-radius: 4px; } .stat-value { font-size: 24px; font-weight: bold; color: #fff; } .stat-label { font-size: 12px; color: #888; margin-top: 4px; } #combo-display { color: #ff9f1c; font-weight: bold; font-size: 18px; min-height: 24px; } #tspin-display { color: #d63384; font-weight: bold; font-size: 16px; min-height: 20px; } button { background-color: var(--accent); color: #000; border: none; padding: 10px 15px; border-radius: 4px; font-weight: bold; cursor: pointer; width: 100%; transition: background-color 0.2s; } button:hover { background-color: #00a8cc; } #controls-info { margin-top: 20px; font-size: 12px; color: #666; text-align: center; max-width: 600px; line-height: 1.6; } .hold-used { opacity: 0.4; filter: grayscale(100%); } #start-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.8); display: flex;...

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】这是一个高质量的俄罗斯方块实现,完整满足所有核心要求和进阶功能。游戏机制准确且手感流畅,DAS/ARR、Hold、Ghost Piece 等现代俄罗斯方块特性实现到位。T-Spin 检测和 Combo 系统逻辑正确,Web Audio API 音效系统完整且符合浏览器策略。视觉效果丰富(消行闪烁、落地震动、分数弹出、立体方块渲染)且执行流畅。代码采用清晰的模块化结构,资源管理规范,整体稳定性优秀。主要改进空间在于 T-Spin Mini 判定的细化、游戏结束界面的视觉增强,以及部分魔法数字的常量化。作为单 HTML 文件的完整实现,该作品展现了扎实的前端开发能力和游戏逻辑设计水平。 【GEMINI】这是一个极高水准的俄罗斯方块实现。它不仅完美完成了所有基础和进阶功能需求,还在代码结构和操作手感(DAS/ARR)上展现了专业开发者的水平。音效系统的程序化合成非常精巧,视觉反馈丰富,是一个可以直接投入使用的完整单文件游戏示例。 【KIMI】该实现是一个功能较为完整的俄罗斯方块游戏,核心机制正确,视觉效果达标,代码结构清晰。主要扣分点在于:T-Spin检测和加分系统不够准确(未区分Mini/Full,分数计算错误),Combo初始值设计缺陷,旋转踢墙系统过于简化不符合现代俄罗斯方块标准,以及AudioManager的节拍调度存在稳定性隐患。作为'资深Web前端开发专家'的输出,在SRS旋转系统和精确音频调度方面表现不足,但整体上是一个可运行、可玩的实现。

困难难度评测结果

  • 得分:89.8 分
  • 通过状态:已通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

```html TETRIS - 高级俄罗斯方块 *{margin:0;padding:0;box-sizing:border-box} :root{--bg:#0a0e14;--panel:rgba(12,20,32,0.94);--border:#1a3050;--accent:#00e5ff;--accent2:#ff6b35;--text:#c8d6e5;--dim:#4a5a6a;--glow:rgba(0,229,255,0.25)} body{background:var(--bg);color:var(--text);font-family:'Courier New',monospace;display:flex;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;user-select:none} body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(0,229,255,0.04),transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(255,107,53,0.03),transparent 60%);pointer-events:none;z-index:0} /* 菜单 */ #menu-screen{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;background:var(--bg)} #menu-screen h1{font-size:64px;font-weight:900;letter-spacing:12px;color:var(--accent);text-shadow:0 0 40px var(--glow),0 0 80px rgba(0,229,255,0.1);margin-bottom:8px} #menu-screen .sub{font-size:14px;color:var(--dim);letter-spacing:4px;margin-bottom:48px} .mode-btn{display:block;width:260px;padding:16px 0;margin:8px 0;background:transparent;border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:16px;letter-spacing:3px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden} .mode-btn:hover{border-color:var(--accent);color:#fff;background:rgba(0,229,255,0.06);box-shadow:0 0 20px var(--glow)} .mode-btn span{font-size:11px;color:var(--dim);display:block;margin-top:4px;letter-spacing:1px} /* 游戏界面 */ #game-screen{display:none;position:relative;z-index:1} #game-layout{display:flex;gap:16px;align-items:flex-start} .side-panel{width:170px;display:flex;flex-direction:column;gap:12px} .panel-box{background:var(--panel);border:1px solid var(--border);padding:12px;border-radius:4px} .panel-box h3{font-size:11px;letter-spacing:3px;color:var(--dim);margin-bottom:8px;text-transform:uppercase} #center-col{position:relative}...

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】这是一个高质量的俄罗斯方块实现,完整覆盖了所有核心需求与高级特性。游戏机制准确完整(SRS旋转、T-Spin、Combo、多模式),AI系统功能强大且可调(启发式评估、实时决策面板、速度控制),视觉特效丰富流畅(粒子爆炸、3D立体、震动闪烁、程序化音效),代码结构清晰稳定(模块化设计、单文件完整、无明显bug)。整体完成度极高,可直接在浏览器运行并提供优秀的游戏体验。少数细节可优化(T-Spin判定严格性、AI策略深度、部分常量提取),但不影响整体评价为优秀作品。 【GEMINI】这是一个极高水准的俄罗斯方块实现。它不仅完美完成了所有基础和高级功能要求,还在代码架构和细节打磨(如 SRS 踢墙数据、音效合成算法)上展现了资深专家的水平。AI 系统的可交互性和透明度极高,视觉反馈和操作手感均达到了商业小游戏的标准。 【KIMI】整体来看,代码实现了俄罗斯方块游戏的核心功能和高级特性,提供了良好的用户体验。但在模块化设计和部分功能的实现细节上还有改进空间。

相关链接

您可以通过以下链接查看更多相关内容:

加载中...