教科版 (2019)必修1 数据与计算4.4 综合问题的解决公开课课件ppt
展开★学会分析任务, 描述需求分析, 知道需要解决的关键问题。 ★体验软件开发的基本流程。
活动1 界面设计
1.创建程序窗口, 设置背景。调用()函数,将返回一个窗口。
如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的具体位置,即坐标。pygame中的坐标系原点在左上角, 水平方向为x轴, 垂直方向为y轴。
在pygame中,使用图像的最简单方法是调用image函数。通过(filename)来载入图片,filename表示图像文件的路径和名称。图像文件必须和程序在同一文件夹下才可以使用相对路径的引用方式。
以下是一个样例程序。imprt pygame #导入模块pygame.init() #pygame模块初始化#创建一个窗口screen,大小为800*600screen=([800,600]) ('实例') #设置屏幕标题screen. fill((144,238,144)) #窗口填充淡绿色img=('ball.png') #载入ball.png图像到内存#将图像绘制在screen中,图像的左上角在[200, 200] screen.blit(img, [200, 200]) () #窗口刷新
#创建一个窗口screen, 大小为800*600screen=____________________——————————————————————————#设置窗口标题为“接福”back=______________('bj.jpg’) #加载背景图screen.blit(____________,[0,0]) #将背景图画在窗口[0, 0]位置_________________________#刷新画面
Pygame设置以图片为背景的窗口imprt pygamepygame.init()screen= ([800,600])image = (“背景.jpg”)screen.blit(image,[0,0])()
2.绘制福字为了便于游戏循环中反复调用, 可以定义成一个函数shwfu, 在绘制福字时, 需要设置图像显示的位置, 因此shwfu中有两个参数, 分别表示图像位置的横坐标和纵坐标。def shwfu(x,y): #定义函数,在坐标(x,y)上显示图像gift=('fu.png’) #加载福字图像screen.blit(gift,[x,y]) #显示福字在实际使用中,只要提供一对坐标值,就可以调用 shwfu了。
3.显示得分。显示游戏得分的方法为:先定义显示字体, 然后将scre显示出来。为了增加代码的复用性,以便游戏循环中状态更新时反复调用,可以定义成一个函数shwscre。def shwscre(scre): #定义函数,显示分数textfnt=('Arial',30) #字体为Arial, 大小30#生成平滑的红色字符串t=textfnt.render('scre:'+str(scre),True,(255,0,0)) screen.blit(t,[50,50]) #在窗口显示仔细阅读代码并理解各语句的含义。
在pygame的游戏循环中,我们通过调用以下语句来完成游戏状态的更新和屏幕的重绘,请在横线上注明各语句的功能。
screen.blit(back, [0,0]) shwscre(scre) x=randm.randint(50,700) y=randm.randint(50,500) shwfu(x,y) () (800)
#_________________#_________________#_________________#_________________#_________________#_________________#设置两次显示福字之间的延时
活动2 人机交互及程序拼装
在本项目中,人机交互主要体现在鼠标单击上。 需要获取按键的情况,就要在监听事件中增加相应的判断语句。
打开教科书配套资源中的“接福.py",找到相应的代码,仔细阅读并理解各语句的含义,在下面横线上用自然语言描述其对应的功能。
if event.type==pygame.MOUSEBUTTONDOWN: # __________________#获取鼠标按下的坐标并记录在musex,musey中musex,musey=()#判断鼠标是否击中福字,本例中福字宽为60,高为70if musex in range(x,x+60) and musey in range(y,y+70): scre=scre+5#___________________
最后,我们可以参照流程图组装各程序块并调试运行,也可以在 Pythn中打开教科书配套资源中的 “接福py"并运行。 虽然游戏项目已开发完成,但这款游戏还有不尽如人意的地方,如游戏难度无法调整等,请在下面的框中填写你对游戏的改进意见。
利用键盘实现人机交互在游戏中很常见。教材第114页图4.4.5所示,这个实例是通过键盘的左、右方向键来控制小船的左右移动。
1.(单选)以下关于算法中输入、输出的描述正确的是( )A.算法可以没有输入,表示该算法不涉及任何数据信息B.算法可以没有输出,表示该算法运行结果为 尤解“C.算法必须要有输入,否则算法无法进行D.算法至少要有一个输出
2.(单选)采用盲目搜索的方法,在搜索的过程中,对所得的结果逐一筛选,排除不符合要求的结果,保留那些符合要求的结果,这种方法叫作( )A.解析法B.递推法C.枚举法D.选择法
3.(单选)在软件的生命周期中,明确软件系统具备哪些功能的阶段是( )。A.可行性分析 B需求分析C.概要设计 D.详细设计4.有N根小棒(N是偶数),每根小棒长1厘米,要将这些小棒拼成矩形,怎样拼才能使其面积最大?请编程实现,输出最大面积。
高中信息技术4.4 综合问题的解决优秀ppt课件: 这是一份高中信息技术4.4 综合问题的解决优秀ppt课件,共18页。PPT课件主要包含了学习目标,“接福”游戏描述,pygame模块,更新游戏状态,pygame,巩固提升,课堂小结等内容,欢迎下载使用。
必修1 数据与计算第2单元 编程计算2.1 计算机解决问题的过程获奖课件ppt: 这是一份必修1 数据与计算第2单元 编程计算2.1 计算机解决问题的过程获奖课件ppt,共17页。PPT课件主要包含了学习目标,游戏规则,最强大脑游戏,什么是算法,“最强大脑”算法分析,使用流程图描述算法,三种基本结构的流程图,顺序结构,使用自然语言描述,使用流程图表示等内容,欢迎下载使用。
高中信息技术4.4 综合问题的解决评课ppt课件: 这是一份高中信息技术4.4 综合问题的解决评课ppt课件,共19页。PPT课件主要包含了学习目标,新课导入,需求分析,pygame模块等内容,欢迎下载使用。