高中编程教育|最后的小唯&事件响应:抽奖游戏的制作

网友投稿 2018-08-31 22:13

事件响应:抽奖游戏的制作

李振环 山东省青州第一中学  262500

本节课是程序设计学习的第一节,主要通过本节课抽奖游戏的制作,让学生体验用VB编程写程序的全部过程,初步掌握VB编程语言的使用;通过添加按钮控件并修改其属性,了解程序界面的设计方法;通过编写代码及运行程序,理解事件响应的工作机制。

基于大部分学生没有编程基础,本节课选择了简单易做的抽奖小游戏作为入门学习内容。学生即能体验编程的基本过程,又有一定的趣味性。本节课引入三个主题:花博会、菜博会、运动会,具有地方特色的同时又能引发学生对编程解决问题的理解。通过不同事件的应用,加深对计算机解决问题的过程与方法的理解,并能迁移到与之相关的其他问题解决之中。从而逐步培养学生的计算思维。

本节还涉及到了学生的综合素质的提升,教师的抽奖程序是以花博会为主题,以多肉作为抽奖奖品和小组奖励奖品,小组合作培养多肉,并把研究多肉的生长情况作为学生的研究性学习任务,通过图片以及文字来记录多肉的生长过程,形成多肉生长情况报告,并传到综合素质平台作为个人成长记录。由此,可以持续培养学生信息意识,把课上的学习延伸到生活中。在合作解决问题的过程中,能与他人共享信息,实现信息的最大价值。

课前准备:分组合作

将学生分为6个小组,本节课以小组为单位作为评价单位,进行奖励。

情境导入:体验程序的功能,引起对程序的思考。

请4位学生参与“花博会抽奖”游戏,并发放奖品(多肉植物)。

本节课的任务就是制作类似的抽奖程序,通过这个环节让学生整体了解程序的功能,并用多肉作为奖品调动学生的学习热情,也丰富了学生的课外生活。

设计游戏界面:认识控件及属性

首先,教师为同学们分析游戏程序制作流程,分为2步:第一步设计游戏界面、第二步设计游戏功能。

教师讲解第一步界面的设计。主要是利用控件及其属性来完成。打开VB程序演示并讲解。

(1)按钮的添加:在控件工具箱上选中按钮控件,在设计窗体上按住鼠标左键拖动画出一个按钮。

(2)属性的修改:caption属性是控件的标题,先选中某个按钮,在属性窗口中找到caption属性,讲其值改为相应的标题。

接着,学生活动:

(1)以小组为单位选取主题,设计自己游戏界面。

要求每个小组可以选择一个主题,可以是菜博会、花博会、运动会。

(2)界面包括3-6个按钮。

(3)为每个按钮添加与主题相关新的标题(caption)。

(4)运行程序,并调试程序。突出不同进度的要求,让早做完的同学可以根据小贴士让自己的界面更美观。如,为了程序界面的美观,要保持按钮的大小一致,整齐有序。建议通过属性Height(高)、Width(宽)设置大小,用对齐通过属性top(与窗口上端的距离)、left(与窗口左端的距离)设置位置等。

本环节的设计意图有:

第一,VB程序的特点是可视化界面,主要利用窗体和控件设计。做简单游戏程序,可用按钮控件,简单易操作,也能够体会到VB程序的特点。

第二,设置小贴士,兼顾做的快同学,体现了层次教学。

第三,在评方面,以小组为单位,看看哪个小组做的又快又好,做的最快的得2颗星,做出来的得1颗星。通过小组作品展示,选取2个小组的作品让学生点评,教师补充讲解学生在制作过程中遇到的问题。

设计游戏功能:编写代码完成事件响应

界面只是游戏的外壳,功能的实现还需要通过添加代码来实现。

首先,分析游戏的功能。当点按钮时,按钮的标题随之变化。这是事件响应的程序工作机制。

然后,讲解事件响应。以此游戏为例子,按钮的单击是事件,标题的变化是事件的响应,事件是VB预先设定好的,而事件的响应需要代码的实现。

以一个按钮为例讲解此事件响应过程代码。

Private Sub Command1_Click(  )

Command1.Caption = "一等奖"

End Sub

Private是私有的,Sub是过程,Command1_Click是按钮command1的单击。

表示只有单击command1才会发生以下响应。

这个响应为:Command1.Caption = "一等奖" ,这是给command1的caption赋一个新值,表示当单击command1时标题变为“一等奖”。编写语法为:控件名.属性=值。

End Sub 是结束以上过程。

接下来,让学生设计添加代码。通过双击按钮进入代码编辑窗口,程序会自动添加2行代码,为事件的代码,只需要添加变化的过程代码就行。学生在已有的界面基础上设计自己功能代码。

提供分层学习的小贴士2:当我们输入控件名加.时会弹出属性列表,可以直接选择属性。

以小组为单位,看看哪个小组做的又快又好,做的最快的得2颗星,做出来的得1颗星。

小组作品展示:选取2个作品,展示。

三个环节的设计意图有:

第一,体会事件响应的工作机制,初步体会计算思维。

第二,初步体验程序的设计过程,了解VB使用方法。

小组探究:使用图片提高游戏层次

让学生思考,如何实现鼠标移动到按钮上,按钮上出现图片?

在“抽奖”游戏中主要是运用click事件,这是事件响应的常用事件。在这个探究任务中运用的是mousemove事件,加深对事件响应机制的理解。

为降低此探究任务的难度,进行技术提供。

第一步:选择按钮控件command1。

第二步:在按钮属性窗口找到style属性,值设置为1。

第三步:在代码窗口里事件列表里选择MouseMove事件。

第四步:添加代码,为按钮的picture属性赋值。

例如:Command1.Picture = LoadPicture("E:桃花.jpg")

本环节的设计意图有:

第一,为使学生更深入的体会事件响应机制,设计探究任务,使用不同的事件触发功能代码的执行。

第二,通过探究任务也可以更好了解并掌握的事件时间响应代码的书写规则。

第三,引导学生学会知识点迁移应用。

课后拓展:利用研究性学习任务,研究多肉生长情况,形成报告

为了使学习能够从课堂延伸到生活中,给学生们留了研究性学习任务,随时用文字和图片记录多肉的生长情况,形成自己的研究性学习报告,作为自己的社会实践,传到自己的综合素质平台上。

有关多肉植物的研究性学习报告,建议包括多肉植物的名称、小组成员及分工、多肉植物的繁殖种类、多肉植物适应的生长环境(光照 温度 湿度)、多肉植物病虫害及多发病的治理措施、多肉植的物生过程(图片)等。

研究性学习的设计意图包括:

第一,拓展学生的课外生活,加强学生的团队意识和合作能力。

第二,提高学生的信息意识。

苍山点题:

同课异构,是我最近五年一直在坚持做的课堂教学促进活动,不仅在我们学科,而且在其他学科也组织老师进行同课异构,在此过程中我们发现对老师的课堂创新能力、教学驾驭能力促进是非常大的。本次提供的两节课,也分别在市、县级公开课中进行了展示,提供给大家来讨论。

第一篇文章,利用计算机解决问题时,在算法概念的引入上采用了数学知识作为牵引;采用了任务驱动教学,从基础任务一到拓展任务三,层层递进。基础任务一所有的同学都要求完成,任务二小组成员协作完成,拓展任务三每个小组合作完成一个即可,这样即完成了本节课的教学任务又实现了分层次教学;拓展任务发挥学生的想象力自由创作,学生分工合作,最后呈现的作品效果很好。另外,学生后续任务安排的紧凑,仅节课完成教学任务,留给学生思考时间较少,值得精炼改进。

第二篇文章,在整个教学过程中,用“游戏”程序的设计第一节课,既简单又能总体感知程序设计的一般过程。分别利用单击、鼠标移动事件,使学生更充分理解事件响应的工作机制,让学生初步体会计算思维课中和课后充分发挥小组合作,加强了学生的合作能力和团队意识,也增加了任务完成的效率。让学生体会合作的重要性。当然,单凭这节课很难使学生完全理解事件响应的工作机制,对于计算机程序设计的本质和计算思维的理解就更难了,还需要长期的学习过程。怎样潜移默化、循序渐进的培养学生的计算思维,利用计算机编程来解决问题,还需要深入探索。

这两节课,已经脱离单纯的程序代码任务教学向计算思维的方向迈进,虽然问题还较多,好在我们已经开始启程,未来天地广阔。也非常期待您更多编程教育的案例分享给大家——

《中国信息技术教育》2018.8

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com