Curriculum Framework

课程大纲

Lesson 1

PyCharm概述

课程内容:

在回顾level2的知识之上学习Pygame相关基础知识,并开始Pygame的第一个项目

知识点:

1. PyCharm简介及基本操作
2. 包与模块的概念
3. Pygame框架简介与文档使用
4. 介绍display和event模块
5. 开始第一个Pygame项目

Lesson 2

拯救黑洞(一)

课程内容:

利用Pygame模块制作拯救黑洞的游戏,并介绍相关模块的效果。

知识点:

1. 介绍游戏内容,基本操作,效果与设计思路
2. 介绍display、font、draw、event等模块
3. 介绍Pygame中的Surface.blit()方法
4. 介绍Pygame中的Rect模块中的contains()函数

Lesson 3

拯救黑洞(二)

课程内容:

拯救黑洞游戏升级,加入黑洞变色、游戏胜负判断、游戏倒计时功能。

知识点:

1. 游戏胜负逻辑判断
2. RGB颜色变化
3. get_ticks()函数
4. delay()函数

Lesson 4

flappy bird(一)

课程内容:

flappy bird实现了移动的“飞翔”小鸟效果

知识点:

1. Pygame中image、Surface、 transform、Rect等模块
2. 程序框架的描述
3. KEYDOWN事件、key属性、K_SPACE常量
4. set_repeat()函数

Lesson 5

flappy bird(二)

课程内容:

flappy bird游戏功能完善,在窗口中添加大量、成对出现的、自动向左移动的矩形“障碍”。

知识点:

1.draw模块中的rect函数及其各个参数的含义
2.障碍物移动的逻辑

Lesson 6

flappy bird(三)

课程内容:

完成最终的代码并对代码进行优化,实现最终的游戏效果。

知识点:

1.碰撞检测逻辑实现
2.游戏得分逻辑
3.time模块中的Clock()函数
4.event模块中的key属性

Lesson 7

接金币(一)

课程内容:

以“面向对象”的方式搭建游戏框架;定义“玩仔类”并实现跟随鼠标左右移动的效果

知识点:

1.pygame.mouse.get_pos()函数
2.pygame.Rect类
3.pygame.Surface.get_rect()方法

Lesson 8

接金币(二)

课程内容:

定义下落物体类并实现移动和“复活”的效果;检查下落物体是否被玩仔接住或移出游戏窗口

知识点:

1.将实现独立功能的代码块“提取”成方法
2.根据特征和行为相似的子类“抽象”出父类

Lesson 9

接金币(三)

课程内容:

使用鼠标左、右键控制金币的下落速度;实现暂停、胜利、失败三个游戏状态的判断和处理;添加游戏音效

知识点:

1.pygame.mixer.Sound类
2.pygame.mixer.music模块

Lesson 10

飞机大战(一)

课程内容:

以“面向对象”的方式搭建游戏框架;定义“我方飞机类”并实现跟随键盘方向键移动的效果;定义“敌机类”并实现从窗口顶部随机位置自动下落的效果

知识点:

1.pygame.key.get_pressed()函数
2.locals模块中的“键盘”常量

Lesson 11

飞机大战(二)

课程内容:

实现大量敌机精灵定时出现的效果;实现大量子弹精灵从我方飞机定时发射的效果

知识点:

1.pygame.time.set_timer()函数
2.pygame.sprite.Sprite类
3.pygame.sprite.Group类

Lesson 12

飞机大战(三)

课程内容:

对子弹精灵组、敌机精灵组和我方飞机对象进行“碰撞检测”;实现按下键盘“空格键”后在游戏“暂停”和“运行”状态之间切换的效果;结合生命值和得分信息,在游戏退出前更新最高分记录

知识点:

1.pygame.sprite.spritecollide()函数
2.pygame.sprite.groupcollide()函数
3.文件读写

继续了解 Python Level4