Merge pull request #2 from klddddd/feature/ci-cd-pipeline feat: 新增 CI/CD 流水线配置和配套文档
Merge pull request #2 from klddddd/feature/ci-cd-pipeline
feat: 新增 CI/CD 流水线配置和配套文档
开源软件课程项目 — Harness CI/CD 驱动 + AI 代码质量管理
🎮 在线体验 | 📖 CI/CD 文档 | 🤖 AI 审查说明
经典的数字合并游戏,采用模块化架构,集成 Harness 全自动 CI/CD 流水线和 AI 驱动的代码质量管控。
# 1. 克隆仓库 git clone https://github.com/Yu-717/2408.git cd 2408 # 2. 直接在浏览器打开 open game2048/index.html # 3. 或使用本地服务器 npx serve game2048
↑ ↓ ← →
W A S D
H J K L
Ctrl+Z
game2048/ ├── index.html # 游戏入口 ├── style.css # 全局样式 ├── src/ │ ├── game.js # 🧠 核心逻辑(棋盘、移动、判定、撤销、音效) │ ├── render.js # 🎨 渲染模块(DOM绘制、消息提示) │ └── input.js # ⌨️ 输入控制(键盘、触屏) ├── test/ │ └── game.test.js # 自动化测试(Mocha + Chai) ├── .github/ # CI/CD 配置 │ └── workflows/ │ ├── quality.yml # 质量检查(lint + 测试矩阵 + AI审查 + 质量门禁) │ └── deploy.yml # GitHub Pages 自动部署 ├── docs/ │ ├── CI_CD_PIPELINE.md # 完整流水线文档 ← ★ 新增 │ └── ... ├── README.md └── CONTRIBUTING.md
npm install --save-dev mocha chai jsdom npx mocha test/game.test.js
initBoard(size?)
size: number
void
newGame()
setBoardSize(n)
n: 3|4|5
spawnTile()
boolean
slideRow(row)
row: number[]
number[]
moveLeft()
moveRight()
moveUp()
moveDown()
doMove(dir)
dir: string
undoMove()
checkWin()
checkLose()
getScore()
number
getBoardSize()
getMaxTile()
renderBoard()
showMessage(msg, isWin)
hideMessage()
MIT License · Copyright © 2026 AI-2048 Team
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
🎮 AI-2048
经典的数字合并游戏,采用模块化架构,集成 Harness 全自动 CI/CD 流水线和 AI 驱动的代码质量管控。
✨ 特性
🚀 快速开始
🎮 操作
↑ ↓ ← →W A S DH J K LCtrl+Z🏗️ 项目结构
🧪 运行测试
📋 模块 API
game.js — 核心逻辑
initBoard(size?)size: numbervoidnewGame()voidsetBoardSize(n)n: 3|4|5voidspawnTile()booleanslideRow(row)row: number[]number[]moveLeft()booleanmoveRight()booleanmoveUp()booleanmoveDown()booleandoMove(dir)dir: stringvoidundoMove()booleancheckWin()booleancheckLose()booleangetScore()numbergetBoardSize()numbergetMaxTile()numberrender.js — 渲染
renderBoard()showMessage(msg, isWin)hideMessage()👥 团队
🏷️ CI/CD 状态
🌐 部署地址
📄 协议
MIT License · Copyright © 2026 AI-2048 Team