Curriculum Framework

课程大纲

Lesson 1

程序的暴力倾向

课程内容:

1.百钱买白鸡问题 2.暴力破解等式

知识点:

枚举的范围,枚举的一般步骤

Lesson 2

程序也会排队?

课程内容:

1.交换两个数 2.查找数组中最小的数字 3.选择排序

知识点:

选择排序

Lesson 3

会吐泡泡的程序

课程内容:

1.让数组中最大的数字沉到数组末尾 2.冒泡排序的简单版本 3.冒泡排序的优化版本

知识点:

冒泡排序思想,简单实现和优化过程

Lesson 4

一场扑克游戏

课程内容:

插入排序

知识点:

1.在数组中查找第一个比给定值大的元素
2.程序的鲁棒性
3.在数组的指定位置中插入元素
4.插入排序

Lesson 5

偷懒

课程内容:

一种现成的排序函数

知识点:

1.min和max的使用
2.vector的介绍
3.sort的简单使用
4.翻转数组
5.sort的复杂使用

Lesson 6

抱团成伙

课程内容:

结构体的入门、飞机大战的预备知识

知识点:

1.类的回顾
2.介绍结构体
3.平面直角坐标系
4.类与结构体的对比
5.全局变量

Lesson 7

飞机大战之界面

课程内容:

游戏主体界面实现

知识点:

1、界面三要素的关系
2、资源文件的使用
3、单一职责原则的设计及实际运用

Lesson 8

飞机大战之子弹

课程内容:

子弹类的实现,实现自动移动功能

知识点:

1、Qt坐标系
2、PixmapItem的使用
3、QTimer类的使用
4、信号槽功能的使用
5、Q_OBJECT调试问题解决

Lesson 9

飞机大战之玩家

课程内容:

玩家类的实现,键盘事件实现控制玩家移动

知识点:

1、信号槽机制与事件的区别
2、Qt的键盘接收事件
3、基础移动实现
4、子弹发射的实现
5、人物移动优化的方案

Lesson 10

飞机大战之敌机

课程内容:

敌机类的实现,实现自动生成敌机,并检测碰撞

知识点:

1、随机数的实现
2、QList列表的理解
3、typeid操作符
4、this指针

Lesson 11

飞机大战之生命值

课程内容:

显示积分和生命值,通过生命值终止游戏

知识点:

1、TextItem使用
2、自定信号及发射信号的方法

Lesson 12

飞机大战之游戏结束

课程内容:

重新开始界面、游戏难度设置

知识点:

1、QMessageBox使用
2、timer事件的开始及结束

继续了解 NOIP Level4