【新春创造营】春节小游戏-猜灯谜、脑筋急转弯、转盘抽奖

春节小游戏 - 全流程基于iFlow开发

只有这一段是我写的。iFlow真的很方便,整个应用全部都是AI开发的,包括提交Github.com,当然写这个帖子也是AI写的(除了这一段话)。千言万语汇成一句话:祝大家新年快乐,阖家幸福!

截图

项目简介

春节小游戏是一个基于Vue 3的移动端Web应用(推荐手机打开),包含三个互动游戏:

  1. 猜灯谜 - 20+传统中国灯谜,考验智慧

  2. 脑筋急转弯 - 20+趣味脑筋急转弯,开发思维

  3. 幸运大转盘 - 可自定义奖项的抽奖转盘,增加乐趣

技术栈:Vue 3 + Vite + Vant 4 + Vue Router + Pinia

特色功能

  • :artist_palette: 春节主题设计(中国红+金色配色)

  • :red_paper_lantern: 丰富的背景装饰(灯笼、中国结、福字、烟花)

  • :mobile_phone: 完美的移动端适配

  • :stopwatch: 三种倒计时模式

  • :bullseye: 转盘扇区突出显示效果

  • :crescent_moon: 持久化设置存储

使用到的 iFlow CLI 功能

本次项目开发中,主要使用了以下iFlow CLI工具:

1. 文件操作工具

  • read_file - 读取文件内容,了解现有代码结构

  • write_file - 创建新文件(配置文件、数据文件、文档等)

  • replace - 精确修改文件内容,实现功能迭代

2. 代码探索工具

  • list_directory - 查看项目目录结构

  • glob - 查找特定模式的文件

  • search_file_content - 在文件中搜索特定内容

3. 命令执行工具

  • run_shell_command - 执行Shell命令

  • Git操作(init, add, commit, push)

  • NPM操作(依赖安装、构建、预览)

  • PowerShell命令(在Windows系统下)

4. 任务管理工具

  • todo_write - 创建和管理任务列表

  • todo_read - 读取当前任务状态

实现过程

第一阶段:项目初始化(第1-5次交互)

目标:搭建项目基础框架

实现内容

  1. 创建Vue 3项目(Vite + Vant 4 + Vue Router + Pinia)

  2. 配置项目结构

  3. 设置开发环境和生产环境变量

  4. 配置Vite构建工具

关键文件

  • package.json - 项目依赖配置

  • vite.config.js - Vite构建配置

  • main.js - 应用入口

  • App.vue - 根组件

第二阶段:基础游戏开发(第6-15次交互)

目标:实现猜灯谜和脑筋急转弯游戏

实现内容

  1. 创建游戏数据文件(riddles.json, brainTeasers.json)

  2. 开发游戏页面组件(RiddleGame.vue, BrainTeaserGame.vue)

  3. 实现倒计时功能(三种模式)

  4. 添加答题验证和反馈系统

  5. 实现状态管理(gameStore.js)

  6. 开发通用组件(AnswerCard, GameHeader, ResultModal)

关键功能

  • 倒计时系统(无/10秒/20秒)

  • 答题正确/错误判断

  • 提示功能

  • 音效开关

  • 连续答对统计

第三阶段:Bug修复(第16-20次交互)

发现的问题

  1. Vant组件未注册

  2. Toast API变更

  3. 倒计时不自动启动

  4. 返回按钮路径错误

解决方案

  • 在main.js中注册Vant

  • 更新Toast调用方式

  • 在onMounted中启动倒计时

  • 修改路由为push(‘/’)

第四阶段:功能调整(第21-25次交互)

用户反馈

  • 夜间模式效果不佳

  • 不需要成就系统和答题统计

调整内容

  • 移除暗黑模式相关代码

  • 移除成就系统

  • 移除答题统计功能

  • 简化UI界面

第五阶段:添加转盘游戏(第26-50次交互)

需求:添加圆形大转盘抽奖功能

实现过程

初始版本

  • 创建LotteryGame.vue

  • 实现基础转盘UI

  • 添加中心开始按钮和指针

  • 实现基本旋转动画

多次迭代优化

  1. 指针显示问题 - 调整z-index和位置

  2. 文字显示问题 - 多次调整文字位置和对齐方式

  3. 扇形设计 - 从div改为SVG绘制

  4. 旋转问题 - 修复transform-origin设置

  5. 抽奖逻辑 - 多次修正角度计算公式

最终方案

  • 使用SVG绘制扇形

  • 移除固定指针

  • 随机旋转后计算12点钟方向的扇区

  • 中奖扇区突出显示(半径增大+发光效果)

关键代码


// 中奖扇区判定逻辑

const anglePerSector = 360 / prizeList.value.length

const finalRotation = rotation.value % 360

const angleAt12Clock = (270 - finalRotation + 360) % 360

const sectorIndex = Math.floor((angleAt12Clock + 90) / anglePerSector) % count

第六阶段:视觉美化(第51-60次交互)

需求:美化整体页面,添加春节装饰

实现内容

  1. 在App.vue中添加背景装饰

  2. 设计SVG格式的装饰元素:

  • 中国结(2个)

  • 灯笼(4个)

  • 烟花(6个)

  • 福字(4个)

  1. 添加CSS动画效果

  2. 随机化装饰位置和倾斜角度

装饰特点

  • 使用SVG绘制

  • 春节配色(红色# c41e3a、金色# ffd700)

  • 丰富动画(摆动、闪烁、浮动)

  • 随机分布,营造自然感

第七阶段:Git部署(第61-65次交互)

部署步骤

  1. 初始化Git仓库

  2. 创建GitHub远程仓库

  3. 配置GitHub Actions部署

  4. 推送代码到GitHub

遇到的问题

  • 部署失败(Node.js版本过低)

  • Vite 7.3.1需要Node.js 20.19+

解决方案

  • 修改deploy.yml,将Node.js从18升级到20

  • 重新推送代码

部署成功

第八阶段:文档整理(第66-67次交互)

完成的工作

  1. 创建ai_prompt.md - 详细的项目生成提示词

  2. 更新README.md - 添加AI项目说明和部署链接

  3. 创建iflow.md(本文件) - 项目开发记录

提示词内容

  • 项目概述

  • 技术栈要求

  • 核心功能需求

  • 详细实现规格

  • 装饰元素规格

  • 部署配置

  • 注意事项

项目特色功能详解

1. 转盘抽奖系统

技术实现

  • 使用SVG绘制精确的扇形区域

  • 三段式动画(加速→匀速→减速)

  • requestAnimationFrame实现平滑动画

  • 几何计算确定中奖扇区

视觉效果

  • 中奖扇区半径增大(165px vs 150px)

  • 亮度增强(1.6倍)

  • 金色发光阴影+脉冲动画

  • 喜庆的灯笼图标+摆动效果

2. 春节背景装饰

装饰元素

  • 中国结:传统图案,摆动动画

  • 灯笼:红色椭圆,金色流苏

  • 烟花:多色放射线条,闪烁效果

  • 福字:红底金字,浮动动画

技术特点

  • 全部使用SVG绘制

  • CSS动画实现动态效果

  • 随机位置和角度

  • pointer-events: none不阻挡交互

3. 响应式设计

适配范围

  • 屏幕尺寸:320px - 750px

  • 移动端优先

  • 触摸友好

实现方式

  • 相对单位(rem, %)

  • Flexbox布局

  • Vant移动端组件库

  • 媒体查询适配

截图说明

首页截图

应包含:

  • 游戏标题"春节小游戏"

  • 三个游戏卡片(猜灯谜、脑筋急转弯、幸运大转盘)

  • 春节背景装饰(灯笼、中国结、福字、烟花)

  • 设置和关于按钮

猜灯谜游戏截图

应包含:

  • 游戏头部(标题、返回按钮)

  • 题目显示区域

  • 答案输入框

  • 倒计时组件(右上角)

  • 操作按钮(提交、查看提示、查看答案)

  • 答题反馈(正确/错误提示)

脑筋急转弯游戏截图

应包含:

  • 与猜灯谜类似的布局

  • 脑筋急转弯题目

  • 相同的答题组件

幸运大转盘游戏截图

应包含:

  • 游戏头部(标题、返回按钮)

  • 大转盘(SVG绘制的彩色扇形)

  • 中心开始按钮(灯笼图标)

  • 中奖扇区突出显示效果(更大、更亮、发光)

  • 自定义奖项按钮

中奖弹窗截图

应包含:

  • 恭喜图标:tada:

  • 中奖提示文字

  • 中奖奖项名称

  • 确定按钮

自定义奖项弹窗截图

应包含:

  • 弹窗标题"自定义奖项"

  • 文本输入区域(每行一个奖项)

  • 确定和取消按钮

在线体验链接

GitHub仓库GitHub - jpg1024/spring-festival-game: 春节主题小游戏 - 猜灯谜、脑筋急转弯、幸运大转盘

在线体验地址春节小游戏

项目文档

开发环境

  • 操作系统:Windows 10.0.19045

  • Node.js版本:Python 3.14.0

  • Git版本:2.52.0.windows.1

  • 包管理器:npm

  • 构建工具:Vite 7.3.1

  • 部署平台:GitHub Pages + GitHub Actions

项目统计

  • 开发时间:67次交互

  • 代码文件:35个文件

  • 代码行数:约8000行

  • 依赖包:5个主要依赖 + 3个开发依赖

  • 游戏题目:40个(20个灯谜 + 20个脑筋急转弯)

  • 装饰元素:16个(2个中国结 + 4个灯笼 + 6个烟花 + 4个福字)

技术亮点

  1. SVG精确绘制:转盘扇形使用SVG path元素,数学计算精确

  2. 高性能动画:使用CSS transform和requestAnimationFrame

  3. 状态管理:Pinia集中管理游戏状态和设置

  4. 持久化存储:localStorage保存用户设置和自定义奖项

  5. 自动部署:GitHub Actions CI/CD自动化部署

  6. 响应式设计:完美适配移动端

  7. 代码分割:Vite自动代码分割优化加载性能

总结

本项目使用iFlow CLI完整开发了一个功能丰富、视觉效果优秀的春节主题移动端小游戏。从项目初始化到部署上线,共经历了67次交互,通过反复迭代优化,最终实现了稳定的功能和精美的设计。

项目特点

  • :white_check_mark: 功能完整:三个游戏模式,丰富的玩法

  • :white_check_mark: 视觉精美:春节主题装饰,动画效果丰富

  • :white_check_mark: 交互流畅:转盘动画流畅,响应迅速

  • :white_check_mark: 技术先进:Vue 3 + Vite + GitHub Actions

  • :white_check_mark: 部署简单:一键推送到GitHub,自动部署

iFlow CLI优势

  • :rocket: 效率高:自动化工具减少手动操作

  • :magnifying_glass_tilted_left: 智能化:代码探索和理解能力强

  • :hammer_and_wrench: 功能全:涵盖开发全流程

  • :memo: 可追溯:详细的交互记录

  • :robot: AI驱动:智能代码生成和优化

这是一个展示iFlow CLI强大能力的典型案例,通过AI辅助开发,大大提高了开发效率和代码质量。

1 个赞

视觉可以再优化一下!不过可以自定义年会抽奖了!

1 个赞

本来想用指针,效果好点,但是AI计算不好中奖的结果,只能改成这种

1 个赞