【新春创造营】新春民俗翻翻乐 - 马年记忆牌游戏
项目介绍
新春民俗翻翻乐是一款基于传统春节民俗元素设计的记忆翻牌游戏。避开常规小游戏的单调玩法,结合春节传统民俗元素做记忆翻牌,既有趣味性又有民俗小科普意义。单页轻量化设计,完美适配电脑端和手机端,春节红金配色氛围感拉满,互动性强,比静态页面更有参与感。
玩家通过翻找配对的卡片,重温舞龙、舞狮、剪窗花、贴春联、年画、糖画、守岁、放鞭炮等8种经典民俗元素,在游戏中感受传统文化的魅力,寓教于乐。
预览图片
民俗元素卡片内容
| 图标 | 名称 | 科普介绍 |
|------|------|----------|
|
| 舞龙 | 春节驱邪纳福的传统民俗,起源于汉代,距今已有两千多年历史 |
|
| 舞狮 | 分为南狮北狮,寓意吉祥如意,舞狮拜年能驱赶年兽、带来好运 |
|
| 剪窗花 | 用剪刀在红纸上剪出各种图案,贴在窗户上,寓意辞旧迎新 |
|
| 贴春联 | 也叫对联,用对仗工整的诗句表达新年祝愿,是中国独特的文学形式 |
|
| 年画 | 起源于门神画,题材丰富、色彩鲜艳,寄托了人们对美好生活的向往 |
|
| 糖画 | 以糖为材料的民间技艺,用糖稀绘制各种图案,既可观赏又能食用 |
|
| 守岁 | 除夕夜全家团聚,等待新年的到来,象征着辞旧岁、迎新年 |
|
|放鞭炮| 传说能驱赶年兽、放走晦气,鞭炮声声辞旧岁 |
使用 iFlow CLI 功能
-
write_file:创建项目文件夹和 HTML 文件
-
run_shell_command:执行 mkdir 创建目录
-
list_directory:查看项目文件结构
实现过程
-
使用
mkdir命令创建spring-memory-game项目文件夹 -
编写单文件 HTML,包含完整的 CSS 样式和 JavaScript 逻辑
-
采用 CSS3 3D 变换实现翻牌动画效果
-
使用 Fisher-Yates 洗牌算法确保每次游戏牌面随机排列
-
民俗元素采用 Emoji 图标呈现,无需外部图片资源,加载速度快
-
响应式设计通过媒体查询适配手机和电脑端
-
DOM 动态生成游戏卡片,代码结构清晰易维护
技术栈
纯 HTML/CSS/JS,无任何外部依赖,单 HTML 文件(内部 style+script),开箱即用。
核心技术要点
CSS 部分
-
使用 Flex 和 Grid 实现响应式网格布局,4×4 卡片矩阵
-
perspective 属性配合 transform-style: preserve-3d 实现 3D 空间效果
-
backface-visibility: hidden 隐藏牌面背面
-
CSS 动画实现卡片翻转、匹配成功脉冲、标题发光效果
-
媒体查询
@media (max-width: 500px)做移动端适配,缩小卡片尺寸和字体 -
春节主题红金配色,背景深蓝色渐显喜庆氛围
JavaScript 部分
-
folkElements 数组存储民俗元素数据(Emoji 图标 + 名称 + 科普描述)
-
Fisher-Yates 洗牌算法打乱数组并复制配对,生成随机牌面
-
DOM 操作动态创建卡片元素并插入游戏网格
-
点击事件绑定,翻牌状态管理(flipped、matched)
-
配对逻辑判断:相同元素配对成功保持翻开,不同元素自动翻回
-
计时器 setInterval 实现秒级计时
-
翻牌次数和配对进度实时更新
-
弹窗逻辑:科普弹窗 + 恭喜通关弹窗
页面布局
页面采用垂直居中布局,自上而下依次为:
-
标题区域:带有发光动画效果的春节主题标题
-
成绩展示区:耗时、翻牌次数、配对进度三栏显示
-
游戏网格区:4×4 共 16 张卡片
-
重置按钮:一键重新开始游戏
底部为隐藏的科普弹窗和恭喜弹窗,通过 JS 控制显示隐藏。
核心功能
-
16 张卡片,8 对民俗元素,随机排列每次不同 -
流畅的 3D 翻牌动画效果(0.6秒过渡) -
实时计时与翻牌次数统计 -
配对成功后弹出民俗小科普介绍 -
8 对全部配对成功后显示恭喜弹窗 -
移动端自适应优化,防止误触
游戏规则
-
点击红色"福"字牌背翻开卡片
-
翻开后记住民俗元素的位置
-
找出两两配对的相同元素
-
配对成功会展示该民俗的科普介绍
-
全部配对完成后显示用时和翻牌次数成绩
设计亮点
-
春节红金配色营造浓郁节日氛围
-
3D 翻转动画增强互动沉浸感
-
民俗科普融入游戏,寓教于乐
-
响应式设计全平台适配
-
单文件零依赖,部署简单
