书签 分享 收藏 举报 版权申诉 / 37
上传文档赚钱

类型新教科版-高一信息技术-44-综合问题的解决课件.pptx

  • 上传人(卖家):ziliao2023
  • 文档编号:5926276
  • 上传时间:2023-05-16
  • 格式:PPTX
  • 页数:37
  • 大小:1.70MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《新教科版-高一信息技术-44-综合问题的解决课件.pptx》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    新教 信息技术 44 综合 问题 解决 课件
    资源描述:

    1、4.4 综合问题的解决第4单元 计算与问题解决学学 习习 目目 标标2.体验软件开发的基本流程1.学会分析任务,描述需求分析,知道需要解决问题的关键点。重点)请同学们打开光盘接福.py程序,体验并能说出游戏的过程。基于需求,分解任务基于需求,分解任务活动1 了解需求,分析问题了解需求,分析问题 通过刚才的游戏,我们知道游戏过程是通过单击鼠标,接屏幕上不断出现的福字,并根据成功接到福字的次数记录分值。请同学们完成课本P108“接福”游戏描述。需求分析需求分析是软件工程中的一个关键过程。需求分析阶段的任务任务是确定软件系统的功能。通俗地说,就是确定需要计算机“做什么”,想达到什么样的效果。只有在确

    2、定了这些需求后,才能够分析和寻求系统的解决方法。基于需求,分解任务基于需求,分解任务“接福”游戏:需要导入的模块有pygame、random、sys。其中,pygame模块提供了图像、声音等函数;random模块用于产生随机数;sys模块包含了跟Python环境相关的函数。pygamepygame模块模块 它是一个专门用来开发游戏的模块,可以包含图像、声音等。它的相关内容主要有:模模 块块功功 能能Pygame.displayPygame.display访问显示设备Pygame.eventPygame.event管理事件Pygame.fontPygame.font使用字体Pygame.imag

    3、ePygame.image加载和存储图片基于需求,分解任务活动2 分解任务,设计流程分解任务,设计流程 “接福”游戏设计的重难点是人机交互,即如何实时获得鼠标的状态并对鼠标单击做出正确的响应。也就是不断地进行监听监听、更新游戏状态更新游戏状态、重绘屏幕重绘屏幕三个步骤的操作。基于需求,分解任务 通常情况下,游戏的基本结构如图所示。其中的事件主要指鼠标事件、键盘事件等。游戏状态可以理解为程序中的变量值。随着鼠标单击,游戏中的分数需要更新,这种状态随着鼠标单击或键盘输入等事件的发生而改变。基于需求,分解任务 游戏状态通常随事件的发生而改变,如鼠标单击、键盘输入或者时间的流逝,游戏循环不停地检查是否

    4、有新事件产生,并且会根据事件来更新游戏状态,这通常叫作事件处理。随着游戏状态更新游戏状态更新或游戏场景变化,屏幕上显示的内容也会相应地发生改变。本游戏中福字在窗口随机出现,实际上就是显示不同位置的福字。要达到这个效果,需要完成两个步骤:(1)在新的位置上画出图像;(2)把原来的图像擦掉。要“擦掉”某个图像,可以选择“覆盖”它,通常采用重绘背景或者用其他对象来覆盖的方式。在该游戏中,我们通过重绘背景来覆盖前一个福字。基于需求,分解任务 Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码while True:for event in py

    5、game.event.get():#监听并获取事件列表 if event.type=pygame.QUIT:#Quit事件 sys.exit()#退出程序 if event.type=pygame.MOUSEBUTTONDOWN:#侦听到鼠标点击事件 基于需求,分解任务本游戏中要用到的程序功能块,包括游戏环境设置、绘制图像、设置初始值等。请将主程序的各功能语句放到合适的位置,完善流程图。基于需求,分解任务基于需求,分解任务 需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。概括地说,就是系统应该如何实现。详

    6、细设计主要指界面设计、过程设计等。组装程序,测试运行 活动活动1 1:界面设计界面设计 1.创建程序窗口窗口,设置背景。调用pygame.display.set_mode()函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的具体位置即坐标。pygame中的坐标系原点在左上角,水平方向为x轴,垂直方向为y轴。在pygame中,使用图像的最简单方法是调用image函数。通过pygame.image.load(filename)来载入图片,filename表示图像文件的路径和名称。图像文件图像文件必须和程序程序在同一文件夹下同一文件夹下才可以使用相对路径的引用方式。组装程

    7、序,测试运行组装程序,测试运行根据以上分析完成“接福”游戏的界面设计(1)显示一个窗口 import pygame#导入模块 pygame.init()#pygame模块初始化 screen=pygame.display.set_mode(800,600)#创建一个窗口screen,大小为800*600(2)显示一个有背景色背景色的窗口 screen.fill(255,255,0)#窗口填充黄色 *pygame.display.update()#窗口刷新(3)显示一个有背景图片背景图片的窗口 用下面两条语句替换(2)代码段中带“*”号的语句 back=pygame.image.load(bj.

    8、jpg)#加载背景图像screen.blit(back,0,0)#将背景图画在窗口运行P111样例程序,体验图像文件的引用import pygame#导入模块pygame.init()#pygame模块初始化screen=pygame.display.set_mode(600,400)#创建窗口screen,大小800*600pygame.display.set_caption(实例)#设置屏幕标题screen.fill(144,238,144)#窗口填充淡绿色img=pygame.image.load(ball.png)#载入ball.png图像到内存screen.blit(img,200,

    9、200)#将图像绘制在screen中,图像的左上角在200,200pygame.display.update()#窗口刷新组装程序,测试运行组装程序,测试运行 活动活动1 1:界面设计界面设计 2.绘制福字。在屏幕上出现福宇同祥可以使用以上在屏幕上绘制图像的方法。为了便于游戏循环中反复调用,可以定义成一个函数showfu,在绘制福字时,需要设置图像显示的位置,因此showfu中有两个参数,分别表示图像位置的横坐标和纵坐标。def showfu(x,y):#定义函数,在坐标(x,y)上显示图像gift=pygame.image.load(fu.png)#加载福字图像screen.blit(gif

    10、t,x,y)#显示福字在实际使用中,只要提供一对坐标值,就可以调用showfu了。活动活动1 1:界面设计界面设计 3.显示得分。方法为:先定义显示字体,然后将score显示出来。为了增加代码的复用性,以便游戏循环中状态更新时反复调用,可以定义成一个函数showscore。组装程序,测试运行组装程序,测试运行def showscore(score):#定义函数,显示分数textfont=pygame.font.SysFont(Arial,30)#字体为Arial,大小30#生成平滑的红色字符串t=textfont.render(score:+str(score),True,(255,0,0)s

    11、creen.blit(t,50,50)#在窗口显示 活动活动1 1:界面设计界面设计 4.游戏状态的更新和屏幕的重绘 在pygame的游戏循环中,我们通过调用以下语句来完成游戏状态的更新和屏幕的重绘,请在横线上注明各语句的功能。组装程序,测试运行组装程序,测试运行screen.blit(back,0,0)#_ showscore(score)#_x=random.randint(50,700)#_ y=random.randint(50,500)#_showfu(x,y)#_pygame.display.update()#_pygame.time.delay(800)#设置两次显示福字之间的延

    12、时活动活动2 2:人机交互及程序拼装人机交互及程序拼装 人机交互主要体现在鼠标上,需要获取按键的情况,就要在监听事件中增加相应的判断语句。打开光盘中“接福,py”,找到相应代码,理解各句含义,在横线上用自然语言描述对应功能。if event.type=pygame.MOUSEBUTTONDOWN:#获取鼠标按下的坐标并记录在mousex,mousey中mousex,mousey=pygame.mouse.get_pos()#判断鼠标是否击中福字,本例福字宽为60,高为70 if mousex in range(x,x+60)and mousey in range(y,y+70):score=s

    13、core+5#侦听到鼠标点击事件加分组装程序,测试运行组装程序,测试运行总总 结结组装程序,测试运行基于需求,分解任务跨平台的Python模块专为电子游戏开发设计包含图像、声音等多种元素控制建立在SDL基础上允许实时电子游戏研发不被低级语言束缚pygame.cdrompygame.cdrom访问光驱访问光驱pygame.colorpygame.color颜色颜色pygame.cursorspygame.cursors加载光标加载光标pygame.displaypygame.display访问显示设备访问显示设备pygame.drawpygame.draw绘制形状、线和点绘制形状、线和点pyga

    14、me.eventpygame.event管理事件管理事件pygame.fontpygame.font使用字体使用字体pygame.imagepygame.image加载和存储图片加载和存储图片pygame.joystickpygame.joystick使用游戏手柄使用游戏手柄pygame.keypygame.key读取键盘按键读取键盘按键pygame.mixerpygame.mixer声音声音pygame.moviepygame.movie播放视频播放视频pygame.musicpygame.music播放音频播放音频pygame.overlaypygame.overlay访问高级视频叠加访问

    15、高级视频叠加pygame.rectpygame.rect管理矩形区域管理矩形区域pygame.scrappygame.scrap本地剪贴板访问本地剪贴板访问pygame.sndarraypygame.sndarray操作声音数据操作声音数据pygame.spritepygame.sprite操作移动图像操作移动图像pygame.surfacepygame.surface管理图像和屏幕管理图像和屏幕pygame.surfarraypygame.surfarray管理点阵图像数管理点阵图像数据据pygame.timepygame.time管理时间和帧信息管理时间和帧信息pygame.transfo

    16、rmpygame.transform缩放和移动图像缩放和移动图像pygame.mousepygame.mouse鼠标鼠标在控制面板的高级系统设置中点击环境变量,找到path变量,在其末尾输入本机安装Python的路径。例如:C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Scripts或在安装软件时,选择“添加到路径”打开cmd 输入pip install pygame 系统将自动下载相应的安装包并自动安装。环境变量配置安装pygame模块开始游戏编程23112安装笑脸爆炸基本知识基本知识核心功能核心功能导入导入初始化初始化加载

    17、图片加载图片响应点击响应点击随机大小随机大小反弹功能反弹功能显示设置显示设置事件处理事件处理图片运动图片运动游戏循环游戏循环游戏退出游戏退出“画点”import pygamepygame.init()screen=pygame.display.set_mode(800,600)pygame.display.set_caption(画点)GREEN=(0,255,0)#RGB色彩模式,每段0255radius=10keep_going=True while keep_going:for event in pygame.event.get():if event.type=pygame.QUIT:k

    18、eep_going=False pygame.draw.circle(screen,GREEN,(100,100),radius)pygame.display.update()pygame.quit()#pygame.event.get()获取用户执行事件列表,从而处理例如鼠标点击、按键、关闭等事件操作。#退出程序#绘制圆形#刷新显示#设定窗口大小#设定窗口标题#导入模块#初始化“随机彩点”import pygamepygame.init()screen=pygame.display.set_mode(800,600)pygame.display.set_caption(画点)GREEN=(0

    19、,255,0)#RGB色彩模式,每段0255radius=10keep_going=True while keep_going:for event in pygame.event.get():if event.type=pygame.QUIT:keep_going=False pygame.draw.circle(screen,GREEN,(100,100),radius)pygame.display.update()pygame.quit()COLOR=(int(random.random()*255),int(random.random()*255),int(random.random()

    20、*255)radius=random.randrange(1,10)(int(random.random()*800),int(random.random()*600)1“点击绘点”import pygamepygame.init()screen=pygame.display.set_mode(800,600)pygame.display.set_caption(画点)GREEN=(0,255,0)#RGB色彩模式,每段0255radius=10keep_going=True while keep_going:for event in pygame.event.get():if event.t

    21、ype=pygame.QUIT:keep_going=False pygame.draw.circle(screen,GREEN,(100,100),radius)pygame.display.update()pygame.quit()2if event.type=pygame.MOUSEBUTTONDOWN:spot=event.pos#获取鼠标点击位置 pygame.draw.circle(screen,COLOR,spot,radius)“加载图片”import pygamepygame.init()screen=pygame.display.set_mode(800,600)pygam

    22、e.display.set_caption(画点)GREEN=(0,255,0)#RGB色彩模式,每段0255radius=10keep_going=True while keep_going:for event in pygame.event.get():if event.type=pygame.QUIT:keep_going=False pygame.draw.circle(screen,GREEN,(100,100),radius)pygame.display.update()pygame.quit()3if event.type=pygame.MOUSEBUTTONDOWN:spot=

    23、event.pos screen.blit(pic,spot)pic=pygame.image.load(smile.png)#图片需要和文件在同一目录#点击画笑脸(加载图片),书写时注意大小写import pygame#导入模块import randompygame.init()#初始化screen=pygame.display.set_mode(800,600)pygame.display.set_caption(画笑脸)pic=pygame.image.load(smile.png)#图片需要和文件在同一目录keep_going=Truewhile keep_going:for even

    24、t in pygame.event.get():if event.type=pygame.QUIT:keep_going=False if event.type=pygame.MOUSEBUTTONDOWN:spot=event.pos#获取鼠标点击位置 screen.blit(pic,spot)pygame.display.update()pygame.quit()笑脸爆炸笑脸爆炸基本知识基本知识核心功能核心功能导入导入初始化初始化加载图片加载图片响应点击响应点击随机大小随机大小反弹功能反弹功能显示设置显示设置事件处理事件处理图片运动图片运动游戏循环游戏循环游戏退出游戏退出弹球?速度与运动?

    25、位置参数、速度参数关键1反弹判断关键2设计挡板对象关键3import pygame#导入模块pygame.init()#初始化screen=pygame.display.set_mode(800,600)pygame.display.set_caption(弹球)keep_going=Truepic=pygame.image.load(ball.png)BLACK=(0,0,0)picx=0picy=0while keep_going:#Game loop for event in pygame.event.get():if event.type=pygame.QUIT:keep_going=

    26、False picx+=1 picy+=1 screen.fill(BLACK)#用来擦除之前绘制的图形 screen.blit(pic,(picx,picy)pygame.display.update()pygame.quit()#如果图片不透明要加上这两句,以免边角出现黑边#colorkey=pic.get_at(0,0)#pic.set_colorket(colorkey)“运动小球”“时间控制”import pygame#导入模块pygame.init()#初始化screen=pygame.display.set_mode(800,600)pygame.display.set_capt

    27、ion(弹球)keep_going=Truepic=pygame.image.load(ball.png)picx=0picy=0BLACK=(0,0,0)timer=pygame.time.Clock()#引入计时器while keep_going:#Game loop for event in pygame.event.get():if event.type=pygame.QUIT:keep_going=False picx+=1 picy+=1 screen.fill(BLACK)screen.blit(pic,(picx,picy)pygame.display.update()time

    28、r.tick(60)#每秒60帧pygame.quit()“反弹研究”speedxspeedy与左/右边界接触时,speedx_,speedy_与上/下边界接触时,speedx_,speedy_*(-1)不变*(-1)不变“反弹研究”import pygame pygame.init()screen=pygame.display.set_mode(800,600)pygame.display.set_caption(弹球)keep_going=Truepic=pygame.image.load(ball.png)picx=0picy=0BLACK=(0,0,0)timer=pygame.tim

    29、e.Clock()speedx=5speedy=5while keep_going:#Game loop for event in pygame.event.get():if event.type=pygame.QUIT:keep_going=False picx+=speedx picy+=speedy if picx800:speedx*=-1 if picy600:speedy*=-1 screen.fill(BLACK)screen.blit(pic,(picx,picy)pygame.display.update()timer.tick(60)pygame.quit()import

    30、pygamepygame.init()screen=pygame.display.set_mode(800,600)pygame.display.set_caption(笑脸弹球)keep_going=Truepic=pygame.image.load(Smile.png)picx=0picy=0BLACK=(0,0,0)#定义背景颜色:黑色timer=pygame.time.Clock()speedx=5speedy=5while keep_going:for event in pygame.event.get():if event.type=pygame.QUIT:keep_going=False picx+=speedx picy+=speedy if picx800:speedx*=-1 if picy600:speedy*=-1 screen.fill(BLACK)if event.type=pygame.MOUSEBUTTONDOWN:picx,picy=event.pos#获取鼠标点击位置 screen.blit(pic,(picx,picy)pygame.display.update()timer.tick(60)pygame.quit()“点击改变位置”

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:新教科版-高一信息技术-44-综合问题的解决课件.pptx
    链接地址:https://www.163wenku.com/p-5926276.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库