doubao-seed-2-0-lite 在「平台跳跃版」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:doubao-seed-2-0-lite
- 用例名称:平台跳跃版
- 测试类型:网页生成
- 评测维度:游戏开发
系统提示词(System Prompt)
这是给 AI 模型的背景设定和角色指令:
你是一名资深 Web 前端开发工程师,专精于 HTML5 Canvas 游戏开发。 回答要求: 1. 所有代码(HTML、CSS、JavaScript)必须合并在单个 HTML 文件中,可直接在浏览器运行,无需任何外部依赖。 2. 使用 Canvas 2D API 实现游戏渲染,确保游戏循环(requestAnimationFrame)流畅稳定,物理逻辑(重力、碰撞)准确可靠。 3. 代码结构清晰,变量与函数命名语义化,关键逻辑处附有简短注释。 4. 优先保证核心玩法的完整性与可玩性,视觉效果在此基础上尽量精致。 5. 直接输出完整的 HTML 代码,不附加任何解释性文字。
用户提示词(User Prompt)
这是用户给 AI 模型的具体任务要求:
# 平台跳跃游戏(基础版) 请在单个 HTML 文件中实现一个完整可运行的平台跳跃游戏,具体要求如下: ## 技术约束 - 所有 HTML、CSS、JavaScript 代码写在同一个 `.html` 文件中 - 使用 HTML5 Canvas 绘制全部游戏画面 - 使用 `requestAnimationFrame` 驱动游戏主循环 ## 核心玩法 1. **角色控制**:← → 方向键左右移动,空格键或 ↑ 方向键跳跃 2. **重力系统**:角色受重力持续下落,跳跃后自然抛物线运动 3. **平台碰撞**:角色可站立在平台上方,落到平台顶部时停止下落(AABB 碰撞检测) 4. **金币收集**:场景中分布若干黄色圆形金币,角色接触即收集,右上角实时显示金币数 5. **终点过关**:到达右侧终点旗帜触发过关提示 6. **掉落重来**:角色掉出屏幕底部后,当前关卡重置重新开始 ## 关卡设计 - 设计 1 个完整关卡,包含至少 6 个高低错落的平台 - 平台使用至少 2 种不同颜色加以区分 - 金币数量不少于 5 枚,分布在需要跳跃才能到达的位置 - 关卡宽度超出屏幕,需要摄像机跟随角色水平滚动 ## 视觉要求 - **背景**:使用渐变色(如天空蓝渐变) - **角色动画**:至少 2 帧的走动循环动画(可用简单几何图形模拟像素风格) - **金币动画**:金币有旋转或闪烁效果(可用缩放模拟旋转) - **整体风格**:简洁像素风,色彩明快 ## UI 显示 - 左上角或右上角显示当前收集的金币数 - 过关时在画面中央显示「关卡完成」提示 - 掉落重置时有短暂的提示反馈
任务要求
AI 模型需要满足以下要求:
- 游戏主循环使用 requestAnimationFrame 驱动,重力与速度通过增量时间(deltaTime)或固定步长更新,角色运动流畅无抖动
- AABB 碰撞检测准确:角色能稳定站立在平台上,不出现穿透或卡墙现象,且仅从平台顶部可以落脚(侧面和底部不触发站立)
- 摄像机跟随系统正确实现:关卡宽度超出 Canvas,角色移动时视野平滑跟随,平台与金币坐标随摄像机偏移正确渲染
- 角色具备至少 2 帧走动动画,金币具备旋转或闪烁动态效果,背景使用渐变色,整体视觉风格统一
- 金币收集逻辑完整:接触即消失并累计计数,UI 实时更新;终点触发过关提示;掉出底部触发关卡重置
- 代码结构清晰,游戏对象(角色、平台、金币)以结构化方式组织,关键逻辑有注释,单文件内无外部资源引用
评测结果
综合得分
该模型在此用例的得分为:79.6 分(满分 100 分),已通过
基础难度评测结果
- 得分:79.6 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 平台跳跃游戏 body { display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; background-color: #222; font-family: Arial, sans-serif; } canvas { border: 2px solid #fff; border-radius: 8px; } const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); // 按键状态 const keys = { left: false, right: false, up: false }; // 玩家角色 const player = { x: 50, y: 300, width: 20, height: 30, vx: 0, vy: 0, speed: 5, jumpForce: -12, gravity: 0.5, onGround: false, animFrame: 0, animTimer: 0 }; // 平台数据 const platforms = [ { x: 0, y: 550, w: 200, h: 50, color: '#4CAF50' }, { x: 250, y: 500, w: 150, h: 30, color: '#795548' }, { x: 450, y: 420, w: 120, h: 30, color: '#4CAF50' }, { x: 600, y: 350, w: 100, h: 30, color: '#795548' }, { x: 750, y: 450, w: 120, h: 30, color: '#4CAF50' }, { x: 900, y: 300, w: 150, h: 30, color: '#795548' }, { x: 1100, y: 200, w: 200, h: 30, color: '#4CAF50' } ]; // 金币数据 const coins = [ { x: 150, y: 500, r: 10, collected: false }, { x: 320, y: 450, r: 10, collected: false }, { x: 480, y: 370, r: 10, collected: false }, { x: 620, y: 300, r: 10, collected: false }, { x: 800, y: 400, r: 10, collected: false }, { x: 950, y: 250, r: 10, collected: false } ]; // 终点 const endPoint = { x: 1250, y: 120, w: 40, h: 80 }; // 游戏状态 let gameState = 'playing'; // playing, win, dead let score = 0; let cameraX = 0; let deadTimer = 0; // 键盘事件监听 document.addEventListener('keydown', (e) => { if (e.key === 'ArrowLeft') keys.left = true; if (e.key === 'ArrowRight') keys.right = true; if (e.key === 'ArrowUp' || e.key === ' ') { keys.up = true; e.preventDefault(); } }); document.addEventListener('keyup', (e) => { if (e.key === 'ArrowLeft') keys.left = false; if (e.key === 'ArrowRight') keys.right = false; if (e.key === 'ArrowUp' || e.key === ' ') keys.up = false; }); // 重置游戏 function resetGame() { player.x = 50; player.y = 300; player.vx = 0; player.vy = 0; player.onGround = false; score = 0; gameState = 'playing';...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【GEMINI】这是一个高质量的平台跳跃游戏实现。模型不仅完成了所有基础功能,还在细节上表现出色,如处理了平台的四面碰撞检测(而非简单的顶部检测),并实现了平滑的摄像机跟随和动态视觉效果,代码整洁且可读性极高。 【KIMI】该实现是一个功能完整、可直接运行的平台跳跃游戏,满足所有核心需求。物理系统和碰撞检测基本可用但不够精细,缺少时间步长控制;视觉效果达到要求但动画细节可更丰富;代码组织良好,符合单文件约束。作为基础版平台跳跃游戏,整体质量合格偏上,具备较好的可玩性。
进阶难度评测结果
- 得分:72.5 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
以下是完整的可直接运行的进阶版平台跳跃游戏代码,满足所有功能要求: ```html 进阶平台跳跃游戏 body { display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; background: #1a1a1a; font-family: 'Arial', sans-serif; } canvas { border: 3px solid #333; border-radius: 8px; } .ui { position: absolute; top: 15px; left: 50%; transform: translateX(-50%); color: white; font-size: 20px; text-shadow: 2px 2px 4px #000; z-index: 10; user-select: none; } .game-over { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.85); color: white; padding: 40px; border-radius: 12px; text-align: center; z-index: 20; display: none; min-width: 250px; } button { padding: 12px 28px; font-size: 18px; cursor: pointer; background: #2ecc71; color: white; border: none; border-radius: 6px; transition: background 0.2s; } button:hover { background: #27ae60; } ❤️ 3 | 金币: 0 | 分数: 0 | 关卡: 1 游戏结束 最终得分: 0 重新开始游戏 const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); const CANVAS_WIDTH = 800; const CANVAS_HEIGHT = 500; // ========== Web Audio 音效系统 ========== let audioCtx = null; function initAudio() { if (!audioCtx) audioCtx = new (window.AudioContext || window.webkitAudioContext)(); } function playJump(isDouble = false) { initAudio(); const osc = audioCtx.createOscillator(); const gain = audioCtx.createGain(); osc.connect(gain); gain.connect(audioCtx.destination); osc.frequency.setValueAtTime(isDouble ? 400 : 220, audioCtx.currentTime); osc.frequency.exponentialRampToValueAtTime(isDouble ? 650 : 380, audioCtx.currentTime + 0.15); gain.gain.setValueAtTime(0.3, audioCtx.currentTime); gain.gain.exponentialRampToValueAtTime(0.01, audioCtx.currentTime + 0.15); osc.start(audioCtx.currentTime); osc.stop(audioCtx.currentTime + 0.15); } function playCoin() { initAudio(); const osc = audioCtx.createOscillator(); const gain = audioCtx.createGain(); osc.connect(gain); gain.connect(audioCtx.destination); osc.frequency.setValueAtTime(580,...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【GEMINI】这是一个高质量的 HTML5 游戏实现,完全符合资深专家的设定。它不仅满足了所有进阶功能要求(如二段跳、多种机关、检查点、程序化音效),还在细节上如无敌帧闪烁、角色状态颜色区分等方面做得非常出色。尽管由于篇幅原因最后的绘制函数有小部分截断,但整体逻辑框架完整且专业。 【KIMI】该实现完成了平台跳跃游戏的核心功能,物理系统基本可用,特殊机关和关卡系统实现较为完整,但存在代码截断问题导致无法完全验证。主要缺陷在于视觉要求完成度不足(缺少视差背景、动画细节简陋)以及部分机制实现与需求有偏差(消失平台闪烁时机、敌人类型单一)。代码结构清晰但注释和完整性有待加强,整体达到可用水平但距离精致实现有差距。
困难难度评测结果
- 得分:53.1 分
- 通过状态:未通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
高级平台跳跃游戏 * {margin:0; padding:0; box-sizing:border-box;} body {background:#111; display:flex; justify-content:center; align-items:center; min-height:100vh; font-family:Arial, sans-serif;} canvas {display:block; border:2px solid #444; background:#87CEEB;} .game-over, .win-screen {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:rgba(0,0,0,0.8); padding:2rem; border-radius:10px; text-align:center; pointer-events:auto; display:none; color:white;} button {padding:0.5rem 1rem; background:#4CAF50; border:none; color:white; font-size:1rem; border-radius:5px; cursor:pointer; margin-top:1rem;} button:hover {background:#45a049;} 游戏结束 重新开始 恭喜通关! 重新开始 const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); const GAME_WIDTH = canvas.width; const GAME_HEIGHT = canvas.height; const GRAVITY = 980; const PLAYER_SPEED = 220; const JUMP_FORCE = -550; const DOUBLE_JUMP_FORCE = -520; const WALL_SLIDE_GRAVITY = GRAVITY * 0.2; const GLIDE_GRAVITY = GRAVITY * 0.15; const DASH_FORCE = 600; const DASH_DURATION = 0.3; const DASH_COOLDOWN = 1.5; const ENERGY_MAX = 100; const ENERGY_DRAIN_DASH = 25; const ENERGY_DRAIN_GLIDE = 10; const ENERGY_REGEN = 25; const SPRING_FORCE = JUMP_FORCE * 1.8; const keys = { left: false, right: false, up: false, down: false, jump: false, dash: false, jumpPressed: false }; window.addEventListener('keydown', (e) => { switch(e.key) { case 'ArrowLeft': case 'a': case 'A': keys.left = true; break; case 'ArrowRight': case 'd': case 'D': keys.right = true; break; case 'ArrowUp': case 'w': case 'W': case ' ': keys.up = true; keys.jump = true; keys.jumpPressed = true; break; case 'ArrowDown': case 's': case 'S': keys.down = true; break; case 'Shift': keys.dash = true; break; } }); window.addEventListener('keyup', (e) => { switch(e.key) { case 'ArrowLeft': case 'a': case 'A': keys.left = false; break; case 'ArrowRight': case 'd': case 'D': keys.right = false; break; case 'ArrowUp': case 'w': case 'W':...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【GEMINI】这是一个完成度极高的单文件 HTML5 游戏实现。模型精准理解了复杂的提示词要求,不仅在物理和操控上达到了商业小游戏的基准,更在 Web Audio 音频合成和对象池性能优化方面表现优异。虽然受限于篇幅,部分高级关卡设计较为抽象,但核心机制(能力系统、Boss 多阶段、粒子特效)均已闭环,是一个优秀的资深开发专家级输出。 【KIMI】该生成结果因代码截断导致严重不完整,关键的游戏核心(Player 类、Boss 类、完整关卡系统、能力解锁机制等)均缺失。从已有代码可见开发者具备较好的代码架构能力(面向对象、对象池、Web Audio API 使用),但无法验证实际游戏体验。若代码完整,可能达到较高分数;当前状态只能视为未完成品,建议重新生成完整代码后评估。已实现的粒子系统基础、音效系统和机关类定义显示出良好的代码质量基础。
相关链接
您可以通过以下链接查看更多相关内容: