温州大学课程教案
- 学院:计算机科学与学院
- 课程名称:游戏设计基础
- 学时:22
- 教材:学习Python
- 授课教师:陈忠克
- 授课对象:计算机本科
第一课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Python语言起步
4. 本授课单元教学目标:
让学生了解Python程序设计语言,了解Python在游戏开发中应用的情况。掌握Python语言运行环境的安装使用方法,掌握Python程序的基本写法。
5. 本授课单元教学重点和难点:
重点:Python语言的特点
6. 本授课单元教学过程设计:
- Python介绍
- 解释型的
- 强大的
- 通用的
- 开放的
- 简单易学的
- 程序员的话
- Python与游戏开发
- 用Python作脚本
- 用Python开发主程序
- Python安装运行
- 在Windows上安装运行Python
- 在Linux/Unix上安装Python
- pygame安装
- 编写第一个Python程序
- 在交互式环境下执行
- 挑选一个编辑器
- 使用源代码执行
- 获取帮助
第二课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Python语言的基本概念和基本数据类型
4. 本授课单元教学目标:
让学生了解程序设计的基本概念,掌握Python的各种数据类型
5. 本授课单元教学重点和难点:
重点:Python语言的高级数据类型
6. 本授课单元教学过程设计:
- 解释基本概念
- 字面常量Literal Constants
- 数值Numbers
- 字符串Strings
- 变量Variants
- 标识符的命名
- 数据类型
- 对象Objects
- 语句与行
- 缩进
- 运算符Operators
- 表达式Expressions
- 基本数据类型
- 布尔类型
- 数值类型
- 字符串类型
- unicode字符串
- 高级数据结构
- 列表Lists
- 元组Tuples
- 字符串替换
- 字典Dictionaries
- 序列
- 引用
- 列表推导式 List Comprehensions
- 类型转换
- 文件Files
- 运算符
- 运算符表
- 运算符优先级
第三课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Python语言的控制流
4. 本授课单元教学目标:
让学生掌握Python的分支和循环语句,掌握Python的函数用法
5. 本授课单元教学重点和难点:
重点:Python语言的函数
6. 本授课单元教学过程设计:
- 控制流
- 顺序结构
- 分支结构
- 循环结构
- 函数
- 函数形参
- 局部变量
- global语句
- 默认参数值
- 关键字参数
- 变长参数列表
- return语句
- 文档字符串
- lambda
- 函数式编程
- 内置函数
第四课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Python语言的类和对象
4. 本授课单元教学目标:
让学生掌握Python类的定义,掌握对象的定义
5. 本授课单元教学重点和难点:
重点:Python类的动态特性
6. 本授课单元教学过程设计:
- 类class
- 简介
- 创建类
- 类与对象的变量
- 对象的方法
init方法
- 类与对象
- 继承
- 私有变量 Private Variables
- 类的特殊方法和运算符重载
第五课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Python语言包和模块
4. 本授课单元教学目标:
让学生了解Python模块和包的组织方法,掌握常用的包和模块的使用
5. 本授课单元教学重点和难点:
重点:Python常用的包
6. 本授课单元教学过程设计:
- 模块
- 字节编译的.pyc文件
- from..import语句
- 制造你自己的模块
模块的name
- dir()函数
- 包 Packages
- 创建包
- 导入包中的模块
- 标准库
- sys模块
- 操作系统
- 文件通配符 File Wildcards
- 字符串正则匹配 String Pattern Matching
- 数学 Mathematics
- 互联网访问 Internet Access
- 日期和时间 Dates and Times
- 数据压缩 Data Compression
- 性能度量
- 质量控制
- Batteries Included
第六课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Pygame起步
4. 本授课单元教学目标:
让学生了解Pygame的基本特点,Pygame的基本使用方法
5. 本授课单元教学重点和难点:
重点:Pygame的基本结构和使用方法
6. 本授课单元教学过程设计:
- 概述
- 介绍
- 安装
- 文档
- 参考资料
- 起步
- 初始化
- surface和屏幕
- 画图
- 定时事件
- 结合在一起
- sprite
- 背景
第七课
1. 授课时间:
4课时
2. 授课类型:
理论课
3. 授课题目:
Pygame图形接口基础
4. 本授课单元教学目标:
让学生了解Pygame中图形绘制的方法,Pygame中文字绘制的方法,图像的处理方法
5. 本授课单元教学重点和难点:
重点:Pygame图形和文字的绘制
6. 本授课单元教学过程设计:
- 图像处理
- 读取和保存
- 变换
- 对surface的控制
- 像素格式
- 块复制
- 透明
- 剪切区域
- 锁定
- 绘图
- 画矩形
- 画多边形
- 画圆
- 画椭圆
- 画弧线
- 画连续的线段
- 抗锯齿的线段
- 点操作
- 填充区域
- 写字
- 选择字体
- 创建文字Surface
第八课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Pygame多媒体
4. 本授课单元教学目标:
让学生掌握Pygame音乐、声效、视频、CD的使用方法
5. 本授课单元教学重点和难点:
重点:Python的音乐和音效
6. 本授课单元教学过程设计:
- Pygame的多媒体
- 音乐
- 音效
- 视频
- CD
第九课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Pygame事件与用户交互
4. 本授课单元教学目标:
让学生掌握在Pygame中控制键盘、鼠标和游戏摇杆的方法
5. 本授课单元教学重点和难点:
重点:键盘和鼠标的控制
6. 本授课单元教学过程设计:
- 事件系统
- 键盘
- 鼠标
- 摇杆
- 定时
第十课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Python网络编程
4. 本授课单元教学目标:
让学生掌握Python Socket编程的基本方法
5. 本授课单元教学重点和难点:
重点:Python的socket模块使用方法
6. 本授课单元教学过程设计:
- python Socket编程
- Python socket 模块
- 基本的 Python socket 模块
- socket 模块
SocketServer 模块
- Python 中的 socket 编程
- 前提条件
- 创建和销毁 socket
- Socket 地址
- 服务器 socket
- 客户机 socket
- 流 socket I/O
- 数据报 socket I/O
- socket 选项
- 异步 I/O
- 构建一个 Python 聊天服务器
- 一个简单的聊天服务器
- run 方法
- 辅助方法
实例化一个新的 ChatServer
展示 ChatServer
- 高级网络类
- 网络模块
- httplib (HTTP 客户机)
- smptlib(SMTP 客户机)
- poplib(POP3 客户机)
- Python socket 模块
第十一课
1. 授课时间:
2课时
2. 授课类型:
理论课
3. 授课题目:
Pygame的Sprite
4. 本授课单元教学目标:
让学生掌握Pygame的Sprite动画方法
5. 本授课单元教学重点和难点:
重点:Pygame的Sprite类和Group类的用法
6. 本授课单元教学过程设计:
- Sprite模块介绍
- 历史知识
- 类
- Sprite类
- Group类
- 把它们结合起来
- 众多的Group类型
- 绘图Groups
- 碰撞检测
- 常见问题
- 扩展你自己的类(高级)