这是从零学习 CS50 2D 游戏开发(CS50G)的代码仓库:用 Lua + LÖVE,跟着 lecture 一周实现一个经典小游戏,最后做自选的 Final Project。
- 代码 —— 每个项目一个自包含目录,按 lecture 的推进顺序写。
- 笔记 —— 写在 csfive/home,内容包括 lecture 要点、代码片段、我踩过的坑和更多内容延伸。
| 资源 | 链接(以 Week 0 示例) |
|---|---|
| 课程主页 | CS50 2D |
| 讲座视频 | YouTube 播放列表 · CS50 Video Player |
| 官方讲义 | notes · slides (PDF) |
| 官方源码 | github.com/games50 · 源码 zip |
| 我的笔记 | 在线查看 · 仓库 |
| LÖVE / Lua | love2d.org · LÖVE Wiki · Lua 5.1 手册 |
| 周 | 项目 | 规格 | 代码 | 笔记 | 状态 |
|---|---|---|---|---|---|
| 0 | Pong | Spec | 0-pong/ |
笔记 | ⬜ |
| 1 | Flappy Bird | Spec | 1-flappy-bird/ |
笔记 | ⬜ |
| 2 | Breakout | Spec | 2-breakout/ |
— | ⬜ |
| 3 | Match 3 | Spec | 3-match3/ |
— | ⬜ |
| 4 | Super Mario Bros. | Spec | 4-mario/ |
— | ⬜ |
| 5 | Legend of Zelda | Spec | 5-zelda/ |
— | ⬜ |
| 6 | Angry Birds | Spec | 6-angry-birds/ |
— | ⬜ |
| 7 | Pokémon | Spec | 7-pokemon/ |
— | ⬜ |
| ✦ | Final Project | Spec | final/ |
— | ⬜ |
状态:⬜ 未开始 · 🚧 进行中 · ✅ 已完成
需要 LÖVE 11.5(当前稳定版),内置 LuaJIT / Lua 5.1。
# macOS
brew install --cask love
# 运行某一周
love 0-pong课程由 Colton Ogden 与 David J. Malan 讲授,课程材料(讲义、素材、示例代码)版权归 CS50 所有,遵循 CC BY-NC-SA 4.0。本仓库中的代码为个人跟做练习,仅供学习参考。