(2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx

上传人(卖家):大布丁 文档编号:1683087 上传时间:2021-08-25 格式:DOCX 页数:10 大小:350.94KB
下载 相关 举报
(2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx_第1页
第1页 / 共10页
(2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx_第2页
第2页 / 共10页
(2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx_第3页
第3页 / 共10页
(2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx_第4页
第4页 / 共10页
(2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、4.4 综合问题的解决综合问题的解决 教学目标:教学目标: 1.学会分析任务,描述需求分析,知道需要解决的关键问题 2.了解面向对象的编程思想 3.体验软件开发的基本流程 教学重点教学重点 熟悉应用程序开发流程、pygame 模块的使用 教学难点教学难点 理解、使用函数实现功能模块 教学过程教学过程 游戏引入游戏引入 接福游戏:打开接福程序,实现通过单击鼠标,去接屏幕上不断 出现的福字,并根据成功接到福字的次数记录分值。 下发程序,学生运行并体验,并写出这款游戏的功能。 (截取界面) 一、需求分析: 确定软件系统的功能。通俗地讲就是确定需要计算机做什么,想 达到什么样的效果,只有确定了这些需求

2、后,才能够分析和寻求系统 的解决方法。 综合考虑这款游戏: 需要导入的模块有 pygame、random、sys。其中,pygame 模块 提供了图像、声音等函数;random 模块用于产生随机数;sys 模块包含 了跟 Python 环境相关的函数。 1、pygame 模块: 它是一个专门用来开发游戏的模块,可以包含图像、声音等。它的相 关内容主要有: 模块功能 Pygame.display访问显示设备 Pygame.event管理事件 Pygame.font使用字体 Pygame.image加载和存储图片 (1)显示一个窗口 import pygame#导入模块 pygame.init()

3、#pygame 模块初始化 #创建一个窗口 screen,大小为 800*600 screen=pygame.display.set_mode(800,600) (2)显示一个有背景色的窗口 screen.fill(255,255,0)#窗口填充黄色* * 来源来源: :学科网学科网 ZXXKZXXK pygame.display.update()#窗口刷新 (3)显示一个有背景图片的窗口 用下面两条语句替换(2)代码段中带“*”号的语句 back=pygame.image.load(bj.jpg) #加载背景图像 screen.blit(back,0,0) #将背景图画在窗口 二、设计流程

4、通常情况下,游戏的基本结构如图所示: 游戏状态可以理解为程序中的变量。随着鼠标单击,游戏中的分 数需要更新, 这些状态随着鼠标单击或键盘输入等事件的发生而改变。 随着游戏状态更新或游戏场景变化, 屏幕上显示的内容也会相应 地发生改变。 本案例中,实际上就是显示不同位置的福字,要达到这个效果, 需要完成以下步骤: 1、在新的位置上画出图像。 2、把原来的图像擦掉,可采用重绘背景覆盖的方法。 x=random.randint(50,700) #随机生成福字水平方向坐标 y=random.randint(50,500) #随机生成福字垂直方向坐标 showfu(x,y)#在(x,y)位置显示福字 p

5、ygame.display.update() #刷新窗口 3、Pygame 自带了一个监听类循环,不断检查用户的操作,这个循环 在程序运行过程期间持续工作。 while True: for event in pygame.event.get(): #侦听并获取事件列表 if event.type=pygame.QUIT: #接收到退出事件后退出程序 sys.exit() if event.type=pygame.MOUSEBUTTONDOWN: #侦听到鼠标点击事件 mousex,mousey=pygame.mouse.get_pos() #获取鼠标按下的坐标 #判断鼠标是否击中福字,本例福字

6、宽为 60,高为 70 if mousex in range(x,x+60) and mousey in range(y,y+70): score=score+5 #加分 以下是本游戏中要用到的程序功能块,包括游戏环境设置、绘制 图像、设置初始值等。 三、组装程序,调试运行 由创建界面绘制福字显示得分等功能块,程序代码如下: import pygame,sys,random #导入模块 pygame.init() #初始化来源:学#科#网 Z#X#X#K def showfu(x,y): #定义函数,在(x,y)位置显示福字 gift=pygame.image.load(fu.png) #加载

7、福字图像 screen.blit(gift,x,y) #将福字显示在(x,y)位置上 def showscore(score): #定义函数,显示分数 textfont=pygame.font.SysFont(Arial,30) #创建文本对象,Arial,大小 30 t=textfont.render(score:+str(score),True,(255,0,0) #生成平滑的红色字符串 screen.blit(t,50,50) #在窗口显示 #主程序开始 score=0 #变量初始化 mousex=0 mousey=0 screen=pygame.display.set_mode(800

8、,600) #创建一个窗口来源:Z,xx,k.Com pygame.display.set_caption(接福) #设置窗口标题 back=pygame.image.load(bj.jpg) #加载背景图像 screen.blit(back,0,0) #将背景图显示在窗口 showscore(score) #显示分数 x=random.randint(50,700) #随机生成福字水平方向坐标 y=random.randint(50,500) #随机生成福字垂直方向坐标 showfu(x,y)#在(x,y)位置显示福字来源:学.科.网 pygame.display.update() #刷新窗

9、口 while True: for event in pygame.event.get(): #侦听并获取事件列表 if event.type=pygame.QUIT: #接收到退出事件后退出程序 sys.exit()来源:Z_xx_k.Com if event.type=pygame.MOUSEBUTTONDOWN: #侦听到鼠标点击事件 mousex,mousey=pygame.mouse.get_pos() #获取鼠标按下的坐标 #判断鼠标是否击中福字,本例福字宽为 60,高为 70 if mousex in range(x,x+60) and mousey in range(y,y+7

10、0): score=score+5 #加分 screen.blit(back,0,0) #将背景图显示在窗口 showscore(score) #显示分数 x=random.randint(50,700)#随机生成福字水平方向坐标 y=random.randint(50,500) #随机生成福字垂直方向坐标 showfu(x,y)#在(x,y)位置显示福字 pygame.display.update() #刷新窗口 pygame.time.delay(800) #延时 学生分组研讨并调试运行。学生分组研讨并调试运行。 四、拓展延伸 人机交互主要体现在鼠标上,需要获取按键的情况,就要在监听事件

11、中增加相应的判断语句。 代码如下: while True: for even t in pygame.event.get(): #侦听并获取事件列表 if event.type=pygame.QUIT: #接收到退出事件后退出程序 #鼠标单击事件 if event.type=pygame.MOUSEBUTTONDOWN: #获取鼠标按下的坐标并记录在 mousex,mousey 中 mousex,mousey=pygame.mouse.get_pos() #判断鼠标是否击中 if mousex in range(x,x+60) and mousey in range(y,y+70): 练习:运行下列程序,体验图像文件的引用。练习:运行下列程序,体验图像文件的引用。 import pygame pygame.init() screen=pygame.display.set_mode(600,400) screen.fill(144,238,144) img=pygame.image.load(ball.png) screen.blit(img,200,200) pygame.display.update() input(运行完毕,请按回车键退出.)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中 > 信息 > 教科版(2019) > 必修1 数据与计算
版权提示 | 免责声明

1,本文((2021新教科版)高中信息技术必修一 4.4综合问题的解决教案.docx)为本站会员(大布丁)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|