游戏设计基础教案

返回“Python游戏开发基础”目录

温州大学课程教案

  • 学院:计算机科学与学院
  • 课程名称:游戏设计基础
  • 学时:22
  • 教材:学习Python
  • 授课教师:陈忠克
  • 授课对象:计算机本科

第一课

授课时间:

2课时

授课类型:

理论课

授课题目:

Python语言起步

本授课单元教学目标:

让学生了解Python程序设计语言,了解Python在游戏开发中应用的情况。掌握Python语言运行环境的安装使用方法,掌握Python程序的基本写法。

本授课单元教学重点和难点:

重点:Python语言的特点

本授课单元教学过程设计:

  1. Python介绍
    1. 解释型的
    2. 强大的
    3. 通用的
    4. 开放的
    5. 简单易学的
    6. 程序员的话
  2. Python与游戏开发
    1. 用Python作脚本
    2. 用Python开发主程序
  3. Python安装运行
    1. 在Windows上安装运行Python
    2. 在Linux/Unix上安装Python
    3. pygame安装
  4. 编写第一个Python程序
    1. 在交互式环境下执行
    2. 挑选一个编辑器
    3. 使用源代码执行
    4. 获取帮助

第二课

授课时间:

2课时

授课类型:

理论课

授课题目:

Python语言的基本概念和基本数据类型

本授课单元教学目标:

让学生了解程序设计的基本概念,掌握Python的各种数据类型

本授课单元教学重点和难点:

重点:Python语言的高级数据类型

本授课单元教学过程设计:

  1. 解释基本概念
  2. 字面常量Literal Constants
  3. 数值Numbers
  4. 字符串Strings
  5. 变量Variants
  6. 标识符的命名
  7. 数据类型
  8. 对象Objects
  9. 语句与行
  10. 缩进
  11. 运算符Operators
  12. 表达式Expressions
  13. 基本数据类型
  14. 布尔类型
  15. 数值类型
  16. 字符串类型
  17. unicode字符串
  18. 高级数据结构
  19. 列表Lists
  20. 元组Tuples
  21. 字符串替换
  22. 字典Dictionaries
  23. 序列
  24. 引用
  25. 列表推导式 List Comprehensions
  26. 类型转换
  27. 文件Files
  28. 运算符
  29. 运算符表
  30. 运算符优先级

第三课

授课时间:

2课时

授课类型:

理论课

授课题目:

Python语言的控制流

本授课单元教学目标:

让学生掌握Python的分支和循环语句,掌握Python的函数用法

本授课单元教学重点和难点:

重点:Python语言的函数

本授课单元教学过程设计:

  1. 控制流
  2. 顺序结构
  3. 分支结构
  4. 循环结构
  5. 函数
  6. 函数形参
  7. 局部变量
  8. global语句
  9. 默认参数值
  10. 关键字参数
  11. 变长参数列表
  12. return语句
  13. 文档字符串
  14. lambda
  15. 函数式编程
  16. 内置函数

第四课

授课时间:

2课时

授课类型:

理论课

授课题目:

Python语言的类和对象

本授课单元教学目标:

让学生掌握Python类的定义,掌握对象的定义

本授课单元教学重点和难点:

重点:Python类的动态特性

本授课单元教学过程设计:

  1. 类class
  2. 简介
  3. 创建类
  4. 类与对象的变量
  5. 对象的方法
  6. __init__方法
  7. 类与对象
  8. 继承
  9. 私有变量 Private Variables
  10. 类的特殊方法和运算符重载

第五课

授课时间:

2课时

授课类型:

理论课

授课题目:

Python语言包和模块

本授课单元教学目标:

让学生了解Python模块和包的组织方法,掌握常用的包和模块的使用

本授课单元教学重点和难点:

重点:Python常用的包

本授课单元教学过程设计:

  1. 模块
  2. 字节编译的.pyc文件
  3. from..import语句
  4. 制造你自己的模块
  5. 模块的__name__
  6. dir()函数
  7. 包 Packages
  8. 创建包
  9. 导入包中的模块
  10. 标准库
  11. sys模块
  12. 操作系统
  13. 文件通配符 File Wildcards
  14. 字符串正则匹配 String Pattern Matching
  15. 数学 Mathematics
  16. 互联网访问 Internet Access
  17. 日期和时间 Dates and Times
  18. 数据压缩 Data Compression
  19. 性能度量
  20. 质量控制
  21. Batteries Included

第六课

授课时间:

2课时

授课类型:

理论课

授课题目:

Pygame起步

本授课单元教学目标:

让学生了解Pygame的基本特点,Pygame的基本使用方法

本授课单元教学重点和难点:

重点:Pygame的基本结构和使用方法

本授课单元教学过程设计:

  1. 概述
    1. 介绍
    2. 安装
    3. 文档
    4. 参考资料
  2. 起步
    1. 初始化
    2. surface和屏幕
    3. 画图
    4. 定时事件
    5. 结合在一起
    6. sprite
    7. 背景

第七课

授课时间:

4课时

授课类型:

理论课

授课题目:

Pygame图形接口基础

本授课单元教学目标:

让学生了解Pygame中图形绘制的方法,Pygame中文字绘制的方法,图像的处理方法

本授课单元教学重点和难点:

重点:Pygame图形和文字的绘制

本授课单元教学过程设计:

  1. 图像处理
    1. 读取和保存
    2. 变换
  2. 对surface的控制
    1. 像素格式
    2. 块复制
    3. 透明
    4. 剪切区域
    5. 锁定
  3. 绘图
    1. 画矩形
    2. 画多边形
    3. 画圆
    4. 画椭圆
    5. 画弧线
    6. 画连续的线段
    7. 抗锯齿的线段
    8. 点操作
    9. 填充区域
  4. 写字
    1. 选择字体
    2. 创建文字Surface

第八课

授课时间:

2课时

授课类型:

理论课

授课题目:

Pygame多媒体

本授课单元教学目标:

让学生掌握Pygame音乐、声效、视频、CD的使用方法

本授课单元教学重点和难点:

重点:Python的音乐和音效

本授课单元教学过程设计:

  1. Pygame的多媒体
  2. 音乐
  3. 音效
  4. 视频
  5. CD

第九课

授课时间:

2课时

授课类型:

理论课

授课题目:

Pygame事件与用户交互

本授课单元教学目标:

让学生掌握在Pygame中控制键盘、鼠标和游戏摇杆的方法

本授课单元教学重点和难点:

重点:键盘和鼠标的控制

本授课单元教学过程设计:

  1. 事件系统
  2. 键盘
  3. 鼠标
  4. 摇杆
  5. 定时

第十课

授课时间:

2课时

授课类型:

理论课

授课题目:

Python网络编程

本授课单元教学目标:

让学生掌握Python Socket编程的基本方法

本授课单元教学重点和难点:

重点:Python的socket模块使用方法

本授课单元教学过程设计:

  1. python Socket编程
  2. Python socket 模块
    1. 基本的 Python socket 模块
    2. socket 模块
    3. SocketServer 模块
  3. Python 中的 socket 编程
    1. 前提条件
    2. 创建和销毁 socket
    3. Socket 地址
    4. 服务器 socket
    5. 客户机 socket
    6. 流 socket I/O
    7. 数据报 socket I/O
    8. socket 选项
    9. 异步 I/O
  4. 构建一个 Python 聊天服务器
    1. 一个简单的聊天服务器
    2. ChatServer 类
    3. run 方法
    4. 辅助方法
    5. 实例化一个新的 ChatServer
    6. 展示 ChatServer
  5. 高级网络类
    1. 网络模块
    2. httplib (HTTP 客户机)
    3. smptlib(SMTP 客户机)
    4. poplib(POP3 客户机)

第十一课

授课时间:

2课时

授课类型:

理论课

授课题目:

Pygame的Sprite

本授课单元教学目标:

让学生掌握Pygame的Sprite动画方法

本授课单元教学重点和难点:

重点:Pygame的Sprite类和Group类的用法

本授课单元教学过程设计:

  1. Sprite模块介绍
  2. 历史知识
  3. Sprite类
  4. Group类
  5. 把它们结合起来
  6. 众多的Group类型
  7. 绘图Groups
  8. 碰撞检测
  9. 常见问题
  10. 扩展你自己的类(高级)