1、第 17-18 课时设计一个小游戏(综合活动 2) 教学内容分析教学内容分析 教材向学生介绍了一个猜价赢大礼游戏,在这个活动中,游戏参与者通过猜测奖品的价 格,尝试获取奖品。这是一个富有趣味,简单而且易于理解的游戏。教材以用 C 语言编写猜 价游戏程序为实践任务,引导学生体验实现特定功能程序的流程,包括制订活动方案,描述 算法步骤,编写、调试程序,测程序等。最后,教材在此基础上提出了游戏的改进版本,给 学生留下了充分的实践空间。本实践活动内容是对之前所学顺序结构、分支结构和循环结构 程序设计的综合运用。 考虑到本活动的工程量较大,教材引入了项目合作开发模式,通过互相交流、分工合作、 互帮互助来
2、共同完成这个综合实践活动。这既体现了教材从浅入深,从简单到复杂的知识结 构布局方式,同时也体现了从生活实际出发,立足课堂教学,重在学生参与体验实践活动过 程的务实态度。 活动主题:让学生体验从需求定位、问题分析、概要设计,到编写程序、调试代码,以 及最后测试程序的全过程。在小组团队协作和同伴互助中,体会实践活动的乐趣。 (1)需求定位与问题分析:准确的问题分析和清晰的需求定位,是开发猜价游戏所必需的前提 条件。 (2)概要设计:设计问题的解决方案,生成流程图,为猜价游戏的编码做好设计和规划。 (3)编写和调试程序:教材在此重点描述了将设转化为代码的过程。只有通过这个过程,学生 才能够验证之前对
3、问题的分析和概要设计否正确。教材中还专门提出了创新活动,以期让学 生在原有游戏的基础上行改进,增强游戏的互动性。 (4)测试程序:在学生的代码投入运行之后,教材专门强调了测试的重要性,并且给出了一个 测试清单。学生可以此为例,反复检测自的小游戏是否能够正常工作。对于程序设计来说, 这是很重要的一个部分,不但体现了教材在编写上的科学性和完备性,同时还体现了学以致 用和用实践来检验理论设计的科学精神。通过测试所得到的经验和发现的问题,都促使学生 反思自己的设计开发过程,将来更复杂的程序设计打下基础,做好准备。 创新活动:教材中所描述的“猜价游戏”以及“剪刀、石头、布”游戏基本上可以认为 是利用计算
4、机实现初步的人机对话,让计算机能够根据玩家输入的数据做出智能的判断,从 而推进游戏的开展。没有计算机的帮助传统的游戏设备无法完成这种单人的游戏设计。计算 机在软件的帮助下,智能地响应玩家的行为,体现了初步的机器智能。通过创新活动,学生 可以积攒程序设计的经验,通过不断反思游戏的局限性,在游戏中应用更复杂的代码逻辑、 不断精进自己的编程技能。 教学对象分析教学对象分析 在开展本实践活动之前,学生已经对 C 语言基本程序设计结构有了一定程度的了解,并 且能够熟练使用 Dev-C+集成编译环境,编写较为简单的程序。这对于学生在课堂有限时间 内完成猜价游戏的设计任务将是很大的助力。 尽管如此,猜价游戏
5、仍然是学生目前为止所经历的最困难最复杂的编程任务。学生并不 明白进行问题分析和明确需求的重要性如果贸然急于开始编程任务,很容易迷失方向。这是 教师在组织教学活动的过程中要特别注意的。 另外,分组合作的编程实践活动形式也是学生较少体验的,不同于其他学科的分组讨论 和小组合作,编程活动的交流与合作有它自身内在的特点和规律,教师应当注意引导,提前 给出提示。 教学目标教学目标 1.能根据实际问题,分析程序所需具备的功能。 2.能根据程序功能需求,提出解决方案,设计流程图。 3.能根据程序设计和流程图编写 C 语言代码,实现预定的功能。 4.能够依据需求,对编写出的程序进行简单的测试。 5.能归类整理
6、程序开发过程中所产生的各类文档。 教学重点和难点教学重点和难点 1.教学重点。 (1)根据猜价游戏所需具备的功能,提出解决方案,画出流程图。 (2)对猜价游戏程序进行测试,改进其功能,使之更加完善。 2.教学难点。 综合应用分支和循环语句,进行游戏程序的编码与调试。 教学方法教学方法 1.讲授法与讨论法:本活动实践性很强,但教师不要急于把学生推到编程环节。在教学活动 过程中,教师应通过组织讨论和直接讲解的方式,描述猜价小游戏制作的全过程,引导学生 确认问题需求,明确编程的最终目标,充分估计编程活动中可能遇到的各种困难。 2.任务驱动教学法:通过给出阶段性的任务,确认对实践活动的每一个环节目标的
7、达成度, 让学生通过完成一个个阶段性的任务,最终实现游戏作品的大目标 。 教学准备教学准备 1.教学环境。 多媒体网络教室。 2.资源准备。 “猜价赢大礼”视频。 教学过程教学过程 第 17 课时 一、引入新课(5 分钟) 1.播放一段“猜价赢大礼”综艺游戏的视频。 2.提问:如果只有一位玩家能不能玩这个游戏呢? 3.小结学生的回答,提出新的问题:如果只有一位玩家,我们能不能设计一个电脑程序,让 电脑成为主持人,和他玩这个游戏呢? 4.提问:让电脑来代替真人进行游戏有哪些优势? 注意引导学生领会:有别于传统工具,计算机是具备智能的设备。 二、分析问题解决方案和流程(5 分钟) 1.提问:利用
8、C 语言完成这样一个小游戏需要经过哪些步骤? 2.小结学生的讨论结果,在黑板上列出游戏设计的 4 个步骤: (1)明确猜价游戏程序需要具备哪些功能。 (2)讨论具体的设计和实现方案, 电脑应该如何实现这些游戏功能。 把讨论的结果变成流程图。 (3)编写代码并调试:这是将我们的想法变成现实的重要步骤。 (4)测试完成的小游戏:测试环节验证了游戏程序的质量,并为将来可能的改进打下了基础。 3.小结学生的讨论结果,提出实践活动的指导意见: (1)由于这个游戏开发的工程量较大,所以建议大家通过分组进行分工合作,以期提高工作效 率。 (2)在任务分工的时候,每位同学都要明确自己的特长和所承担的任务。 (
9、3)在实践活动过程的各个环节,我们会创建各类文档,换句话说,开发小游戏的实践过程, 是一个文档驱动的过程。 4.提问:想想看,实践活动的每一个环节需要产生哪些文档? 5.总结学生的讨论结果,并板书: (1)小组合作任务分解文档。 (2)需求分析阶段:游戏需求说明文档,说明游戏具体要实现哪些功能 (3)概要设计阶段:游戏概要设计文档,如何具体来实现游戏程序,附流程图。 三、实践问题解决方案(5 分钟) 1.引导学生进行分组,明确每一个人所承担的任务,形成小组合作任务分解文档。 2.布置课堂任务一:小组合作,形成仅有一次猜价机会的游戏的功能需求文档,提出解决方 案并绘制流程图。 在学生活动的同时,
10、在大屏幕上滚动播放各小组的需求分析文档,以及对应的解决方案 和流程图。 3.随堂辅导,点评需求分析文档中关于猜价游戏功能需求上描述不够明确的地方。 在分享流程图设计的同时,教师要注意提醒各小组画的流程图中可能出现的逻辑错误,比如, 流程图无法正确实现游戏的功能,流程图本身可能存在逻辑上的二义性。 4. 组织讨论:在这个游戏的设计过程中,为什么需要用到分支结构?如果不使用分支结构, 能不能够完成既定的设计任务? 5.布置任务二:根据逻辑流程图编写代码。 6.暂停全班的编程活动,进行分组展示。 利用多媒体教室软件,让每个小组的学生代表向全班展示自己的代码,并且演示游戏的过程。 7.将学生的代码和课
11、本的参考程序代码进行比对分析。 要注意引导学生,鼓励学生用不同的代码实现相同或相似的游戏功能。切忌简单地让学生照 抄教材的参考程序代码。 8.布置任务三:组织学生测试自己的猜价游戏,并将测试结果记录下来。 9.带领学生回顾实践活动开始之初所设定的猜价游戏开发的诸多环节和步骤,帮助学生巩固 本次实践活动所得到的经验和编程技巧。 四、拓展提升(10 分钟) 1.引入新内容:在之前的活动中,我们体验了完整的游戏开发过程,但是这个游戏本身略显 简单。接下来的实践活动,我们将不断推进游戏的设计,让它变得更加有趣。 2.提问:现在这个游戏令人感到最不满的地方是什么? 接下来我们要让这个游戏的过程变得更有趣
12、一些,多给用户一些猜测价格的机会。 3.布置任务四:编写一个让玩家有次猜价机会的小游戏。 游戏的复杂程度提升了、显然游戏的功能需求也有了更多的变化。随之而来的流程图设计和 C 语言代码是不是也要做出变化呢? 组织各小组活动,改进自己的设计和代码。 在各小组活动开始之前,一定要强调将之前的代码和设计文档进行一次备份,以免本次活动 调整代码的过程中,出现了偏差之后无法滚回。 要求学生在调整代码之前,首先要调整流程图的设计。 4.暂停各组的活动,统一展示修正之后的流程图。 5.提问:为了实现玩家有至少 10 次猜测价格的机会,修正后的流程图应该具备怎样的逻辑结 构?如果不使用循环,可否实现相同的游戏
13、功能? 6.组织学生根据调整好的流程图,改进代码。 对于学习比较吃力的小组,建议他们参考教材图综 2-4 和书本上的代码进行填空。 提醒学生在调试完代码之后,要进行全面的测试,尤其是玩家有 10 次猜测价格的机会,在测 试的时候要有耐心。 五、整理文档(5 分钟) 提醒各小组保存好自己的各种文档和代码,准备下一个课时进行交流展示活动。 第 18 课时 一、交流展示作品与小结实践活动体验(10 分钟) 1.展示各小组已经完成的代码。 对于已经完成调试活动的小组,让他们向全班进行一次玩家演示活动。 2.交换各小组的代码,组织学生讨论: 谁的游戏更好玩,谁能够发现其他小组程序中存在的瑕疵? 3.总结
14、学生猜价游戏活动的成果。 除了这样的猜价小游戏,同样的程序设计思想还可以拓展到其他类似的活动中,比如“剪刀、 石头、布”也是我们生活中常见的一种游戏。 二、引入创新活动(10 分钟) 展示教材给出的“剪刀、石头、布”游戏代码,请学生阅读,并且动手分析该代码的逻辑, 画出“剪刀、石头、布”游戏的流程图。 注意帮助学生理解代码中首次出现的新内容,比如“ stdlib.h” “rand()%3”的作用。 三、交流展示(20 分钟) 1.展示学生绘制的流程图作品并讨论: (1)程序设计者是如何在游戏中表现剪讨刀、石头和布的? (2)“剪刀、石头、布”游戏的流程图和之前的猜价游戏的流程图有哪些相似之处? 2.组织学生测试代码。 尝试在教材原有代码的基础上,设计更加友好的玩家界面。 交换各小组的代码,进行小组间的对抗赛,9 局 5 胜制,比一比哪个小组能用最少的游戏次 数获得胜利。 四、回顾与总结(5 分钟) 总结:通过这次的实践活动,我们体验了两个用 C 语言实现的游戏,更重要的是我们体验了 程序从问题分析到流程图设计,到编程和调试,最终解决问题的全过程。 在编程活动中,我们之前所学习的顺序、分支和循环三种逻辑结构以及相应的 C 语言语 句,都得到了充分的应用。 教学反思教学反思
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。