<!-- title: 《Flexbox Froggy》青蛙白送，学费照收 -->
<!-- domain: games -->
<!-- repo: thomaspark/flexboxfroggy -->

每个学CSS的人都背过那句咒语：`justify-content: center`。背了忘，忘了背，写的时候还是要靠猜。Flex布局就这么个东西——概念只有十来个，折磨程序员整整十年。2015年前后，一位叫Thomas Park的设计师把这只人人喊打的怪兽抓进了池塘：GitHub上的`flexboxfroggy`，用一群青蛙和一池荷叶，把CSS Flexbox变成了二十来道解谜关。

游戏免费，代码开源。但这位作者的算盘远不止“开源做慈善”——这只青蛙，是他一门真生意的看门招牌。

## 仓库档案

- **名称**：Flexbox Froggy（青蛙学Flex）
- **作者**：Thomas Park，个人开发者、前端设计师，也是免费Bootstrap主题站Bootswatch的作者（据仓库页面）
- **⭐ Star**：数千星体量的经典项目（据仓库页面）
- **语言**：JavaScript / HTML / CSS，无框架静态页（据仓库）
- **形态**：纯网页游戏，浏览器打开即玩，无需注册登录
- **License**：开源项目，协议细节以仓库内LICENSE文件为准
- **状态**：2015年前后上线，运营至今；社区翻译覆盖数十种语言，中文版齐全（据仓库页面）

## 这游戏是什么

一句话：**写CSS把青蛙挪到荷叶上，挪对了就过关。**

每一关，屏幕上是两样东西：几只青蛙，几片荷叶，位置错开。下方一行输入框，等一句CSS。你写下`justify-content: flex-end;`按回车，青蛙“呱”地一声齐刷刷跳到右边荷叶上——过关。写错了，青蛙该蹲哪儿蹲哪儿，一动不动，改一改再试。

二十来道关卡，就是一份Flex属性教学大纲的通关化：从`justify-content`（水平怎么排）、`align-items`（垂直怎么对）开始，到`flex-direction`（横竖轴翻转）、`order`（插队）、`align-self`（单飞）、`flex-wrap`（换行）、`align-content`（多行对齐），一个属性一道坎，最后几关把所有属性揉在一起考。

整个核心循环长这样：

```mermaid
flowchart TD
    A["进入关卡: 青蛙与荷叶错位摆放"] --> B["读题: 观察差了哪几个位置"]
    B --> C["写一行CSS"]
    C --> D{"提交判分"}
    D -->|"布局命中"| E["青蛙跳上荷叶 动画反馈"]
    E --> F["过关 下一关属性更难"]
    D -->|"布局不对"| G["青蛙原地不动 无惩罚"]
    G --> B
    F --> H{"还有关卡吗"}
    H -->|"有"| A
    H -->|"通关"| I["属性大纲学完 分享战绩"]
    I --> J["意犹未尽? 去作者的游戏平台"]
```

循环的最后一环藏在通关页：这只青蛙不是孤品。作者手里还有Grid Garden（教Grid布局的萝卜园）、Flexbox Defense（用CSS摆塔防）一整套同门游戏，以及一个把它们攒在一起的学习游戏平台Codepip。

## 为什么上头

一个教学页面能让人一口气玩穿二十几关，靠的不是可爱青蛙，是几条设计被抠到了极致：

**反馈即报错，报错即提示。** 传统教程的反馈是文字：“你的代码有误”。Flexbox Froggy的反馈是画面本身：青蛙没到荷叶上，就是错；到了，就是对。错误信息不需要读，看一眼就懂——而且错在哪一目了然：两只青蛙纹丝没动，问题多半出在`justify-content`；荷叶在下面没对齐，那就该查`align-items`。反馈的速度和精度，就是解谜游戏上头感的全部来源。

**零惩罚重试。** 没有分数，没有计时，没有生命值，错了没有任何代价。心理学上这砍掉了“失败恐惧”，让人敢于乱试——而乱试恰恰是学CSS最快的路径。很多人第一次真正理解`space-between`和`space-around`的区别，不是读文档读会的，是在这游戏里连错三次之后突然开窍的。

**关卡是顿悟的定时投放。** 每关只引入一个新概念，通关的钥匙永远是“啊哈”一声的理解，而不是背答案。教学设计里这叫“最近发展区”：踮踮脚够得着。二十来道关卡排成一条连续的顿悟流水线，每一两分钟放出一个，多巴胺按关卡结算。

**完成度强迫症。** 游戏没有任何社交、排行、云存档，但“就差三关”这件事自带驱动力。二十来分钟的通关总时长，恰好卡在“一鼓作气”的区间——太短显得廉价，太长必然弃坑。

**来玩的人本来就带着任务。** 这是教育游戏独有的钩子：玩家不是来消遣的，是来学CSS的。动机是现成的，游戏只需要解决“学不下去”这一个问题。需求自带、留存自来的生意，纯娱乐赛道求都求不来。

## 技术拆解

- **技术栈**：jQuery时代的轻量静态页——没有框架，没有构建工具，没有后端，静态托管即可全球可玩（据仓库）。麻雀虽小五脏俱全，反而是“教育游戏该怎么做”的最佳参考答案：这类游戏的技术难点从来不在性能，在内容结构。
- **关卡即数据**：每道关卡被描述成一个数据结构——初始DOM、目标位置、可用属性、起始代码。引擎只负责读数据、渲染、判分。加一关不用碰引擎代码，这意味着关卡可以批量生产，甚至将来可以开放给玩家生产。
- **判分思路可以直接抄**：把玩家输入的CSS真正注入DOM，让浏览器自己排版，然后用几何位置比对青蛙和荷叶是否重合。判卷的不是正则，不是字符串比对，而是浏览器引擎本身——出题人只要摆好初始和目标两个状态，判定逻辑是免费的。这个“声明式出题、让解释器判卷”的套路，可以平移到SQL、正则、Git等一切有真实解释器的技能上。
- **i18n是社区自来水**：全部文案抽成字典文件，按语言代码组织，加一种语言就是一条PR。数十种语言的翻译（据仓库页面）就是这么攒出来的——教育游戏的受众天然全球分布，把翻译门槛降到一个文件，社区会替你铺路。
- **可白嫖的组件清单**：关卡数据结构、CSS注入判分器、逐关解锁的进度流、i18n字典方案——四件东西拼起来，就是一个“写代码过关卡”教育游戏的最小内核，两周能复刻。

## 变现观察

这个仓库本身一分钱不挣：免费、开源、无广告。但它是一桩被验证过的生意的门面。

**作者的核心动作是“游戏攒平台”。** Thomas Park先做了Flexbox Froggy（上线后在前端圈爆红），接着用同一套骨架做了Grid Garden、Flexbox Defense等一整排学习游戏，然后把它们攒进自己的平台Codepip：部分游戏和关卡免费，进阶内容和完整游戏走订阅付费（据其官网）。免费的青蛙负责全网引流和搜索占位——全球学CSS的人在搜索引擎里撞见的第一站就是它——付费平台负责把流量换成收入。典型的免费增值漏斗，只是漏斗的每一节都是游戏。

**同类先例证明这不是孤例。** 另一位开发者geddski做了Flexbox Zombies，把Flex教学包装成僵尸生存剧，付费解锁（据其官网）；更早的编程解谜、打字练习网站，也各自验证过“游戏化教学有人愿意掏钱”。再往大了看，Duolingo把语言教学游戏化做到市值以百亿美元计，证明这条路的尽头足够宽。

**教育游戏和纯游戏的变现有个本质区别**：玩家为消遣付费，要跟3A大作抢注意力；学员为“学会”付费，是天经地义。同一份内容，换个叙事框架，付费意愿差一个数量级。个人开发者的优势恰恰在这——大厂看不上小赛道，而“教Excel函数”“教正则”“教SQL”每一个细分，都养得活一两个独立站点。

## 给我的灵感

**1. 两周MVP：换一门“有即时视觉反馈”的技能，做同款。** 骨架照抄青蛙：关卡数据+判分器+静态站。选品的唯一标准是“结果能画出来、错误能看出来”——写SQL把数据从表里“捞”出来、写正则把匹配的字符“钓”上来、写Excel公式把乱账理顺（打工人市场比程序员大三倍）。两三周出可玩版本，先挂广告位和打赏；攒到五六个游戏后，照Codepip的路子组订阅平台，这才是这门生意的正规打法。

**2. 换题材融合：把“写代码过关”嫁接进国内刚需。** 国内版的机会点在职场技能：SQL刷题游戏（数据分析师人手一份的焦虑）、Excel函数游戏（财务和运营的日常）、正则表达式游戏（后端和爬虫圈的暗号）。流量打法天然适合中文社区——通关截图本身就是梗图，“这游戏治好了我十年的flex恐惧症”是现成的传播文案。

**3. 加一层钩子：把玩家变学员，把学员变班级。** 原版没有账号体系，这是它作为公益项目的浪漫，也是它作为产品的天花板。反过来做：每日一题（Wordle式分享战绩）、闯关排行榜、关卡编辑器让老师自己出题布置作业、按班级收订阅费。教育游戏真正的买家从来不是玩家本人，是老师和培训机构——他们付的不是娱乐费，是教学效率的钱。

## 上手

- 仓库：https://github.com/thomaspark/flexboxfroggy
- 在线试玩：https://flexboxfroggy.com （站内可直接切换中文）
- 姊妹作：Grid Garden https://gridgarden.com ｜ Flexbox Defense https://flexboxdefense.com

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
