开发弹球游戏教学讲解设计_第1页
开发弹球游戏教学讲解设计_第2页
开发弹球游戏教学讲解设计_第3页
开发弹球游戏教学讲解设计_第4页
开发弹球游戏教学讲解设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 6项目名称项目2-3 开发弹球游戏(4学时)教学目标根据弹球游戏的需求,探讨归纳需要解决的问题,了解面向对象程序开发的基本理念。学会创建类和对象。初步掌握面向对象程序设计的基本方法,学会通过编程实现游戏功能。资源准备学生准备:搜索下载小球弹跳之类的小游戏并体验,思考开发小游戏的思路。教师准备:弹球游戏程序。教学重点了解面向对象程序开发的基本理念教学难点初步掌握面向对象程序设计的基本方法,学会通过编程实现游戏功能。教学过程教学环节教学活动及步骤情境导入教师引导学生阅读案例导入情境,提出本项目的驱动性问题 我们玩过小球弹跳之类的小游戏,小球在屏幕上移动弹跳。你知道如何使用Pyt

2、hon 面向对象程序设计来开发小游戏吗?让我们一起尝试创建弹球游戏吧。游戏规则:弹球游戏让小球在屏幕上移动,碰到上下左右边界则弹跳。任务实施一创建小球类和对象教师引导学生阅读教材上的任务描述 创建一个类名为 Ball 的类,为其赋予属性和方法,创建一个名为 Ball 的对象,调用类的属性和方法,使一个蓝色的小球显示在画布中间。小组针对以下问题进行探究及讨论 试玩弹球游戏,说出该游戏的规则并交流游戏体验。弹球游戏中涉及的实体是什么?该实体具备哪些属性和方法?如何创建类和对象?你能说一说类和对象的关系吗?尝试定义名为 Ball 的类,创建名为 Ball 的对象,使蓝色小球显示在画布上。教师针对以上

3、问题进行操作提示 1. 创建类和对象的格式。(1)定义类的格式:class 类名:属性列表方法列表(2)创建对象。创建对象和调用一个函数很相似,可以使用类名作为关键字去创建一个类的对象。对象名 = 类名( )给对象添加属性的方法如下:对象名.新的属性名 = 值2. 创建 Ball 类和 Ball 对象。(1)准备工作。加载 Tkinter、Time 库,引入 Tkinter 模块的内容,创建弹球游戏窗口和画布。(2)创建 Ball 类。使用 class 语句创建 Ball 类,使用构造方法创建初始化函数,包括两个参数 huabu 和 color 属性(画布及小球颜色),为了移动小球,需要将所画

4、小球的 ID 保存,通过初始化操作,使其绘制一个指定大小和颜色的小球并移至画布中间位置显示。定义 DRAW 函数,内容后续添加,以检测小球坐标并根据情况反弹。(3)创建 ball 对象。创建一个蓝色小球对象。任务实施二编写小球弹跳程序教师提出本任务要求 分析本项目开发弹球游戏的算法和解决方案,并编写简单的小球弹跳程序,让小球在屏幕画布上左右移动,碰到画布左右边界则反弹。问题探究 1. 分析开发弹球游戏的思路,说出需要解决的问题及算法策略。2. 操作简单的小球弹跳游戏,想一想,预设小球移动方向和速度的算法是什么?检测到小球碰到画布边界时反弹的算法是什么?小球如何在画布上移动?小球的坐标位置是如何

5、获取的?需要调用哪些 CANVAS 函数?3.编写小球弹跳程序,让小球在画布上左右水平移动,当检测到小球碰到画布左右边界时反弹。三、教师针对以上问题进行操作提示 从问题分析出发,画出流程图,讲解解决方案。1. 画出本项目弹球游戏流程图。2.小球弹跳程序的编写思路。修改任务一ball.py程序,修改Ball类的初始化函数,设定 Ball 类运动的方向和偏移量;修改 DRAW 函数,调整小球的行为。在 DRAW 函数中检测坐标并根据坐标改变移动方向,实现反弹。3. 编写程序,使小球左右水平移动,碰到画布左右边界时反弹。(1)编写小球 Ball 类的初始化函数,使小球左右水平移动,并获取当前画布宽度

6、存于对象变量中。(2)编写 DRAW 函数,调用画布的 MOVE 函数和COORDS 函数,获取小球坐标,检测到小球碰到画布左右边界时反弹。问题探究 运行及调试程序。测试过程中遇到了哪些问题?你是如何处理的?思考如何让小球的移动速度快一些?任务实施三优化弹球游戏程序教师提出本任务要求 优化弹球游戏程序,修改程序代码,让小球在屏幕画布上四处移动,碰到画布边界让它反弹。问题探究 1. 修改程序代码,让小球在画布垂直方向上移动,当检测到小球碰到画布上下边界时反弹。2. 修改程序,让小球随机移动,检测到小球碰到画布上下左右边界时反弹。教师针对以上问题进行操作提示 1. 修改任务二程序代码,让小球在垂直

7、方向上移动,检测到小球碰到画布上下边界时反弹。修改小球 Ball 类的初始化函数和 DRAW 函数。2. 修改任务二程序代码,完善游戏功能,让小球随机移动,检测到小球碰到画布上下左右边界时反弹。参考资源 2-3-1, 完善程序。问题探究 试着编写程序代码并运行调试,参考资源 2-3-1,修改、运行及调试程序。挑战进阶 在游戏中添加一个球拍,用户左右移动球拍接球以防止小球坠落。如何修改程序使小球碰到球拍时反弹?如果小球落到屏幕底部,则游戏结束。评价反思学习评价教师引导学生依据学习评价表对本项目的学习情况进行自评或互评学习反思教师引导学生依据学习反思表对本项目的学习进行反思课后作业一、完成知识巩固

8、题1、选择题(单选或多选)(1)关于类和对象的关系,下列描述正确的是( )。A. 类是面向对象的核心B. 类是现实中事物的个体C. 对象是根据类创建的,并且一个类只能对应一个对象D. 对象描述的是现实的个体,它是类的实例(2)以下关于 self 的说法不正确的是( )。A. self 可有可无,它的参数位置也不确定B. self 是可以修改的C. self 代表当前对象的地址D. self 不是关键词,也不用赋值2. 填空题(1)在 Python 中,可以使用( )关键字来声明一个类。(2)Python 提供名称为( )的构造方法,实现让类的对象完成初始化。3. 判断题(在括号内打“”或“”)(1)面向对象是基于面向过程的。( ) (2)通过类可以创建对象,有且只有一个对象实例。 ( )二、完成实践拓展题设计一个表示学生的类:student。该类的属性包括name(姓名)、age(年龄)、scores (成绩),其中成绩包含语文、数学和英语 3 科成绩,每科成绩的类型为整数。此外该类还包含 3 个方法。(1)获取学生姓名的方法:get_name( ) ,返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论