从语法到工程:这门课补什么

很多 C++ 学习者卡在这样一个尴尬阶段:会写简单的控制台程序,懂类和继承的基本语法,但一旦要做一个稍有规模的项目,就不知道从何下手。代码逻辑散乱,接口定义模糊,甚至出现“我知道怎么写,但写出来跑不通”的情况。

这门俄罗斯方块课程,核心解决的问题正是“面向对象设计能力”与“完整工程构建能力”的断层。它不是重复讲解数据类型或循环语句,而是带你经历一个真实项目的完整生命周期。通过七日成蝶的体系,你将不再只是“写代码”,而是学会“设计游戏”。

适合有一定 C++ 基础(掌握类、对象、函数、基本容器)但缺乏大型项目实战经验的学习者。如果你正处在“语法懂了,项目懵了”的阶段,这里就是你的突破口。

学习路径与建议切入点

课程以七天为周期,循序渐进。建议你按以下顺序重点突破:

  • 第一天:谋定而后动。不要急于写代码,先看完“游戏设计与分析”和“核心算法”章节。这是培养设计思维的关键,理解方块旋转、碰撞检测、行消除等核心逻辑的数学与算法本质。
  • 第二天:搭建框架。重点学习“搭建游戏框架”三部曲。这是面向对象思想的升华点,理解如何划分模块、设计接口、组织类之间的关系。砖块预览面板和信息板的设计,体现了 UI 与逻辑分离的思想。
  • 第三天:主活动区实现。进入核心编码阶段,学习如何将第一天的算法转化为可运行的代码,并处理界面渲染与用户输入的交互。

加餐中的 VS2019 安装与#pragma 预处理指令内容,是针对实际开发环境的必要补充,务必动手实践,避免环境配置问题干扰学习主线。

学完能做什么,资料如何配合

完成这门课后,你将能够独立设计并实现一个带有图形界面的俄罗斯方块游戏。更重要的是,你将掌握一套可复用的游戏开发架构思维:如何从需求分析入手,如何进行模块划分,如何设计清晰的类结构,以及如何将算法逻辑封装进对象中。

资料包中的源码和示例,是你查漏补缺的工具。建议在每节视频学习后,先尝试自己实现对应功能,再对照资料包中的代码进行差异分析。不要直接复制粘贴,重点理解其中“为什么这样设计”而非“代码怎么写”。对于不懂的片段,回溯前一节的理论基础,往往能发现之前的理解盲点。这种“实践—对照—反思”的循环,是弥合能力缺口最有效的方式。

课程目录

1 七日成蝶课程体系说明(2020) (20:53)
2 (加餐)VS2019下载安装 (11:49)
3 (加餐)VS2019初体验 (07:00)
4 (第一天)先睹为快 (13:31)
5 (第一天)谋定而后动 (07:43)
6 (第一天)游戏设计与分析 (11:32)
7 (第一天)游戏核心算法 (03:39)
8 (加餐)#pragma once与#ifndef (04:18)
9 (第二天)搭建游戏框架(上) (09:25)
10 (第二天)搭建游戏框架(中) (13:48)
11 (第二天)搭建游戏框架(下) (08:48)
12 (第二天)游戏信息板 (16:08)
13 (第二天)砖块预览面板 (13:08)
14 (第三天)游戏主活动区(上) (16:21)
15 (第三天)游戏主活动区(下) (02:37)
16 (第三天)面向对象思想的升华之砖块单元 (07:21)
17 (第三天)继承的妙用之砖块子类 (07:42)
18 (第三天)继承的妙用之砖块父类 (13:16)
19 (第三天)控制砖块运动(上) (09:04)
20 (第三天)控制砖块运动(下) (07:40)
21 (第四天)游戏布局 (12:56)
22 (第四天)随机砖块 (11:50)
23 (第四天)砖块与主游戏区(上) (14:44)
24 (第四天)砖块与主游戏区(下) (04:43)
25 (第四天)砖块下边界控制 (07:41)
26 (第五天)游戏键盘控制 (07:36)
27 (第五天)砖块左右边界控制 (06:27)
28 (第五天)主游戏区与二维数组的对应关系 (15:13)
29 (第五天)砖块碰撞检测(上) (08:09)
30 (第五天)砖块碰撞检测(中) (13:43)
31 (第五天)砖块碰撞检测(下) (05:57)
32 (第六天)编码思路再整理 (05:38)
33 (第六天)消层算法(上) (12:07)
34 (第六天)消层算法(下) (01:30)
35 (第六天)主游戏区清空算法 (05:41)
36 (第六天)阶段成果检测 (05:16)
37 (第七天)完善信息面板功能 (11:26)
38 (第七天)完善预览砖块面板 (16:52)
39 (第七天)游戏暂停功能及结语 (09:11)