《趣味程序设计之“接纸团”小游戏》教学设计

时间:2022-07-04 06:26:30

《趣味程序设计之“接纸团”小游戏》教学设计

“分支结构”作为程序设计中解决实际问题的一种方法,是“VB程序设计”教学中的重点和难点之一,让学生理解何时用和如何用是教学的关键。大多数教材通过类似“猜数”的程序进行教学,但由于与学生的生活联系不是很紧密,很难引起学生的兴趣。因此,本课以设计一个“接纸团”的小游戏作为课程内容的载体,以设计游戏来激发学生的学习兴趣。

教材与学生情况分析

本课是河北省中小学信息技术电子教材VB程序设计分册中第四单元中的内容,课时为两课时,软件版本为VB6.0。在本课之前,教材已涉及程序设计的基本概念、VB的基本操作以及顺序结构中用到的简单控件、常量、变量、表达式和函数等知识,为本课的教学奠定了基础。本课将学习利用分支结构控制程序的流程,学生通过学习能够处理多分支问题并作出正确判断,并能用流程图表示程序的执行过程。

本课的教学对象是初二年级学生。通过前面的学习,学生已经掌握了VB程序设计的概念和一般过程,能够完成对象的属性设置和事件添加,并能够运用表达式和函数来解决问题。另外,前几节课的活动以学生学习和生活中的常用软件为原型进行程序设计,激发了学生开发复杂软件的兴趣,所以学生迫切希望找到解决问题的方法。

教学目标

知识与技能目标:理解并掌握Timer控件和Timer事件的用法;掌握Rnd函数的用法;能够合理运用关系表达式和逻辑表达式;能够用IF语句来处理多分支问题并作出正确判断;能够使用流程图表示程序的执行过程;能够处理嵌套的分支结构。

过程与方法目标:通过开发“接纸团”小游戏,掌握程序设计的一般过程;能够测试和调试程序;通过不断探究解决问题,能够自主完成一些任务。

情感态度与价值观目标:在游戏的不断完善中体验迭代的思想;在实现程序功能中体会用户体验的重要性和程序设计的意义。

游戏设计与实现

1.游戏功能设计

基于以上分析,本节课将要求学生完成一个“接纸团”游戏的设计任务,实现键盘控制、计时和物体随机运动等基本功能,具体方案如上页表所示。本游戏的开发分两个版本,完成前面四个功能为“接纸团V1.0”版本,实现全部七个功能为“接纸团V2.0”版本。

2.游戏界面设计

本课需要用到的控件有Image、PictureBox、Label、Timer。Image控件用来创建ImgLaji对象和ImgTong对象,分别显示纸团和垃圾桶;PictureBox控件用来创建一个供ImgLaji对象和ImgTong对象活动的区域,相当于一个容器;Label控件用来创建Label1对象和Label2对象,前者用来说明后者的功能,后者用来显示得分;Timer控件用来创建一个计时器对象,用来统计游戏时间和模拟ImgLaji对象自动往复的匀速下落。下图是本课案例的界面,学生可以以此为参照展开设计,使程序界面更美观。

3.程序编写

实现“接纸团V1.0”的功能需要用到Timer事件、IF单分支和双分支语句及条件表达式,具体代码省略。

教学实践

本次教学为两节连堂课,笔者设计的教学流程为:创设情境,分析需求针对需求,设计界面任务驱动,层层递进拓展提升,归纳总结。

1.创设情境,分析需求

教师以游戏的设计作为活动和内容的载体,贴近学生的学习和生活经验,从而激发学生的兴趣和热情。因此,本环节教师首先让学生回忆玩过的游戏并思考其功能,引导学生展开讨论,找出与本课主题相关的游戏功能并总结。在此基础上,教师再让学生思考如何设计一个“接纸团”的游戏。学生积极讨论,提出应对策略。教师积极反馈学生的回答,并通过引导使其在脑海里建立一个解决的蓝图,接着运行“接纸团”游戏案例,引导学生用自己的语言描述游戏的功能,从而为学生的蓝图插上翅膀。

2.针对需求,设计界面

本环节包括分析阶段和搭建阶段。

在分析阶段,教师首先引导学生思考教材中的“对象事件分析表”如何实现程序的每个功能,接着让学生检查表中是否实现了程序的全部功能,如果不能,说明理由并进行完善。在分析过程中,让学生体会如何把自然语言转化为编程语言,实现需求分析中的功能。

在搭建阶段,则由学生根据已有知识,参照上页表格中要求的控件,完成界面的设计。在此过程中,学生会遇到新的知识,如Timer控件。对此,学生以小组形式讨论并总结控件的添加方法。教师对学生的回答给予积极反馈,并纠正和补充说明。

3.任务驱动,层层递进

这一环节,根据游戏的功能划分为四个阶段。

①利用ImgLaji对象实现匀速下落一次。

首先,让学生利用已有知识实现ImgLaji对象的下移运动,并分析此效果存在的不足,从而引出Timer控件和Timer事件。然后,教师系统地介绍Timer控件的重要属性和Timer事件的执行原理,并引导学生分析Timer控件的Enable属性与其他控件的Enable属性的不同。学生在对以上知识有了一定的认识后,利用Timer事件实现ImgLaji对象匀速下落并运行程序。此时会出现ImgLaji对象在下移时超出Picture1范围的新问题,以致看不到第二次下移运动。

教师引导学生分析新问题,得出“ImgLaji对象在下移过程中如果没有超出范围则继续移动,否则停止移动”的解决办法。此时,给学生介绍选择结构和单分支IF语句,并利用流程图描述程序执行过程。接着,教师引导学生学习条件表达式,并比较其与数学表达式的异同,编写单分支结构代码实现判断ImgLaji对象超出范围停止的功能。

②利用ImgLaji对象从窗体顶部随机位置往复匀速落下。

运行上述程序,教师通过设置疑问引出双分支结构,实现了ImgLaji对象超出范围后回到界面顶部。经过修改后,学生还会发现一个新的问题,即ImgLaji对象每次都从相同的位置下移,既没有实现需求中随机的效果,也不具备挑战性。因此,教师引导学生自学Rnd函数的用法,并思考哪个属性决定ImgLaji对象的随机下移。教师通过提问,发现学生能够想到改变ImgLaji对象的Left属性实现随机效果,但就随机值的获取还存在问题。此时,教师进一步引导学生思考Picture1对象和ImgLaji对象的关系,从而得出只要使ImgLaji对象的Left属性值在Picture1的Width属性值范围内即可。接着,让学生探索解决此问题的表达式,并采用最有效的方法编写代码。

上一篇:团结协作共分享,网络教研助成长 下一篇:CDIO教育理念的外语专业教学创新与跨文化交际...