A. 贪吃蛇游戏综合练习1
贪吃蛇游戏综合练习1
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一、选择题(15 题)
- pygame 程序中,用于初始化所有模块的函数是 {{ select(1) }}
- A.
pygame.init() - B.
pygame.start() - C.
pygame.load() - D.
pygame.begin()
- 创建一个 660×480 的 pygame 游戏窗口应使用的函数是 {{ select(2) }}
- A.
pygame.window.create(660,480) - B.
pygame.display.set_mode((660,480)) - C.
pygame.display.open(660,480) - D.
pygame.screen.init(660,480)
- 程序中用于限制游戏刷新帧率的对象是 {{ select(3) }}
- A.
pygame.font.Clock() - B.
pygame.time.Clock() - C.
pygame.display.Clock() - D.
pygame.event.Clock()
- 以下哪个模块用于生成苹果的随机位置 {{ select(4) }}
- A.
math - B.
sys - C.
random - D.
time
- 当用户点击窗口右上角关闭按钮时,触发的事件类型是 {{ select(5) }}
- A.
KEYDOWN - B.
STOP - C.
EXIT - D.
QUIT
- 程序中用于记录当前蛇移动方向的变量是 {{ select(6) }}
- A.
snake_head - B.
position - C.
setheading - D.
FPSCLOCK
- 在代码中,用于存储蛇身体各节坐标的数据结构是 {{ select(7) }}
- A. 元组
- B. 字符串
- C. 列表
- D. 字典
- 语句
position.append((x, y))的主要作用是 {{ select(8) }}
- A. 删除蛇尾
- B. 更新分数
- C. 生成新的苹果
- D. 添加新的蛇头位置
- 程序中蛇每次移动的步长是 {{ select(9) }}
- A. 10
- B. 20
- C. 60
- D. 30
- 当蛇未吃到苹果时,哪条语句保证蛇长度保持不变 {{ select(10) }}
- A.
del position - B.
position.remove() - C.
position.pop(0) - D.
position.clear()
- 用于加载图片资源(如背景图、蛇头图)的函数是 {{ select(11) }}
- A.
pygame.image.open() - B.
pygame.image.read() - C.
pygame.image.load() - D.
pygame.load.image()
- 将图片绘制到窗口上的正确方法是 {{ select(12) }}
- A.
screen.draw() - B.
screen.paint() - C.
screen.blit() - D.
screen.render()
- 程序中用于记录当前分数的变量是 {{ select(13) }}
- A.
score - B.
cnt - C.
s - D.
point
- 使游戏持续运行的主循环结构是 {{ select(14) }}
- A.
for i in range() - B.
if True - C.
def main() - D.
while True
- 下列哪种判断用于防止蛇立即向相反方向移动 {{ select(15) }}
- A. 判断坐标是否相等
- B. 判断是否撞墙
- C. 判断当前方向不等于相反方向
- D. 判断分数大小
二、多选题(10 题)
- 一个完整的 pygame 游戏流程通常包括哪些步骤 {{ multiselect(16) }}
- A. 初始化 pygame
- B. 创建窗口
- C. 事件处理
- D. 调用
exit()结束程序
- 下列哪些是 pygame 中表示方向键的常量 {{ multiselect(17) }}
- A.
K_CTRL - B.
K_LEFT - C.
K_RIGHT - D.
K_UP
- 当蛇吃到苹果时,程序会发生哪些变化 {{ multiselect(18) }}
- A. 分数增加
- B. 游戏立即结束
- C. 苹果重新生成
- D. 蛇身体变长
- 下列哪些语句与画面刷新或显示有关 {{ multiselect(19) }}
- A.
pygame.event.get() - B.
pygame.display.update() - C.
screen.blit() - D.
FPSCLOCK.tick()
- 以下哪些资源是通过
pygame.image.load()加载的 {{ multiselect(20) }}
- A. 背景图
- B. 字体文件
- C. 蛇头图片
- D. 蛇身体图片
- 下列哪些变量与蛇在窗口中的位置直接相关 {{ multiselect(21) }}
- A.
s - B.
x - C.
y - D.
position
- 在当前代码中,哪些情况会导致程序直接退出 {{ multiselect(22) }}
- A. 分数为 0
- B. 蛇撞到墙壁
- C. 点击窗口关闭
- D. 吃到苹果
- 以下哪些操作会改变列表
position的内容 {{ multiselect(23) }}
- A.
append() - B.
len() - C.
pop() - D.
clear()
- 下列哪些属于 pygame 的事件类型 {{ multiselect(24) }}
- A.
DISPLAY - B.
KEYDOWN - C.
QUIT - D.
MOUSEBUTTONDOWN
- 游戏主循环中通常需要包含哪些内容 {{ multiselect(25) }}
- A. 事件处理
- B. 状态更新
- C. 模块导入
- D. 画面绘制
三、判断题(15 题)
- pygame 程序通常需要一个无限循环作为主循环。 {{ select(26) }}
- A. 对
- B. 错
position列表中最后一个元素表示蛇头位置。 {{ select(27) }}
- A. 对
- B. 错
pygame.display.update()用于刷新窗口显示内容。 {{ select(28) }}
- A. 对
- B. 错
- 当前代码已经实现了蛇撞到自己身体的检测。 {{ select(29) }}
- A. 对
- B. 错
random.randint()可以生成随机整数。 {{ select(30) }}
- A. 对
- B. 错
screen.blit()只能绘制图片,不能绘制文字。 {{ select(31) }}
- A. 对
- B. 错
- 游戏帧率越高,蛇移动速度越慢。 {{ select(32) }}
- A. 对
- B. 错
FPSCLOCK.tick(3)表示游戏每秒最多刷新 3 帧。 {{ select(33) }}
- A. 对
- B. 错
- 蛇在该程序中只能沿水平方向或垂直方向移动。 {{ select(34) }}
- A. 对
- B. 错
- pygame 中的事件必须在主循环中进行处理。 {{ select(35) }}
- A. 对
- B. 错
- 蛇吃到苹果后,身体长度一定会增加。 {{ select(36) }}
- A. 对
- B. 错
pygame.image.load()的返回值是字符串类型。 {{ select(37) }}
- A. 对
- B. 错
- 当前代码中蛇的移动采用的是固定步长方式。 {{ select(38) }}
- A. 对
- B. 错
- 分数显示使用了字体渲染技术。 {{ select(39) }}
- A. 对
- B. 错
- 当前程序在蛇撞墙时会立即结束运行。 {{ select(40) }}
- A. 对
- B. 错