10922000118491004.4综合问题的解决
填空题
1.需求分析是软件工程中的一个( )过程。需求分析阶段的任务是确定( )的功能。通俗地说,就是确定需要计算机“做什么”,想达到什么样的效果。只有在确定了这些需求后,才能够分析和寻求系统的解决方法。
2.pygame模块提供了( )( )等函数;random模块用于产生( );sys模块包含了跟Python( )相关的函数。
3.调用( )函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的( )即坐标。pygame中的坐标系原点在( ),水平方向为( )轴,垂直方向为( )轴。
4.在pygame中,使用图像的最简单方法是调用( )函数。通过( )来载入图片,( )表示图像文件的路径和名称。图像文件必须和程序在( )下才可以使用相对路径的引用方式。
5.Pygame.display的功能是访问( );Pygame.event的功能是( );Pygame.font的功能是使用( ) ;Pygame.image的功能是( )。
6.游戏状态通常随事件的发生而改变,如鼠标单击、键盘输入或者时间的流逝,游戏循环不停地检查是否有新事件产生,并且会根据事件来更新游戏状态,这通常叫作( )。
7.要达到在窗口显示不同位置的福字,需要完成两个步骤:(1)在新的位置上( );(2)把原来的图像( )。要“擦掉”某个图像,可以选择( )它,通常采用( )或者用( )来覆盖的方式。
8.为了便于游戏循环中反复调用,可以定义成一个函数( ),在绘制福字时,需要设置图像显示的位置,因此showfu中有两个参数,分别表示图像位置的( )和( )。
二、判断题
1.实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。
2.计算机中要“擦掉”某个图像,和铅笔画用橡皮擦擦掉类似。
3.需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。
三、程序分析
1.Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码填写括号内容
while True:
for event in pygame.event.get(): #( ① )
if event.type==pygame.QUIT: #( ② )
sys.exit() #退出程序
if event.type==pygame.MOUSEBUTTONDOWN: #( ③ )
2.要将显示一个有背景色的窗口改为显示一个有背景图片的窗口应将*处改为两句,请填写在①②处。
screen.fill((255,255,0)) #窗口填充黄色*
( ① ) #加载背景图像
( ② ) #将背景图画在窗口
pygame.display.update() #窗口刷新
3.显示游戏程序的得分,方法为:先定义显示字体,然后将score显示出来。为了增加代码的复用性,以便游戏循环中状态更新时反复调用,可以定义成一个函数showscore。
def ( ① ): #定义函数,显示分数
textfont=( ② ) #字体为Arial,大小30
#生成平滑的红色字符串
t=( ③ )('score:'+str(score),True, (255,0,0))
screen.blit(t,[50,50]) #在窗口显示
参考答案
填空题
关键 软件系统
图像 声音 随机数 环境
pygame.display.set_mode() 具体位置 左上角 X Y
Image pygame.image.load(filename) filename
同一文件夹
显示设备 管理事件 字体 加载和存储图片
事件处理
画出图像 擦掉 “覆盖” 重绘背景 其他对象
Showfu 横坐标 纵坐标
判断题
错2.错3.对
程序分析
①监听并获取事件列表②Quit事件③侦听到鼠标点击事件
①back=pygame.image.load('bj.jpg') ② screen.blit(back,[0,0])
①showscore(score) ②pygame.font.SysFont('Arial',30)
③textfont.render