主要内容 #
-
- 数字精灵组模块
- 运算符精灵组模块
- 按钮精灵组模块
1.数字精灵组模块 #
该模块实现的功能为:定义构建至多4个数字的按钮精灵组模块。
该部分代码如下:
def getNumberSpritesGroup(numbers):
'''
获取数字精灵组
'''
number_sprites_group = pygame.sprite.Group()
for idx, number in enumerate(numbers):
args = (*NUMBERCARD_POSITIONS[idx], str(number), NUMBERFONT, NUMBERFONT_COLORS, NUMBERCARD_COLORS, str(number))
number_sprites_group.add(Card(*args))
return number_sprites_group
将以上所有代码加入到main()函数的上方,请注意该函数不是某个类的成员函数,而是普通函数。
接下来需要在各个模块中添加和修改代码,具体如下。
# 在maint()函数中找到如下代码
# 游戏主循环
clock = pygame.time.Clock()
# 在该句代码上方增加如下代码
# 精灵组
# --数字
number_sprites_group = getNumberSpritesGroup(game24_gen.numbers_now)
# 在main()函数中找到如下代码
screen.fill(AZURE)
# 在该句代码后增加如下代码
for each in number_sprites_group:
each.draw(screen, pygame.mouse.get_pos()) # 画出数字精灵
全部修改完之后,运行整体代码,看整体效果,可以看出四个数字已经在屏幕中绘制出。
2.运算符精灵组模块 #
该模块实现的功能为:定义构建4个运算符的按钮精灵组模块。
代码如下所示:
def getOperatorSpritesGroup(operators):
'''
获取运算符精灵组
'''
operator_sprites_group = pygame.sprite.Group()
for idx, operator in enumerate(operators):
args = (*OPERATORCARD_POSITIONS[idx], str(operator), OPERATORFONT, OPREATORFONT_COLORS, OPERATORCARD_COLORS, str(operator))
operator_sprites_group.add(Card(*args))
return operator_sprites_group
将以上所有代码加入到main()函数的上方,请注意该函数不是某个类的成员函数,而是普通函数。
接下来需要在各个模块中添加和修改代码,具体如下。
# 在main()函数中找到如下代码
# 游戏主循环
clock = pygame.time.Clock()
# 在该句代码上方增加如下代码
# --运算符
operator_sprites_group = getOperatorSpritesGroup(OPREATORS)
# 在main()函数中找到如下代码
for each in number_sprites_group:
each.draw(screen, pygame.mouse.get_pos()) # 画出数字精灵
# 在该句代码后增加如下代码
for each in operator_sprites_group:
each.draw(screen, pygame.mouse.get_pos()) # 画出操作符精灵
全部修改完之后,运行整体代码,看整体效果,可以看出四个运算符已经在屏幕中绘制出。
3.按钮精灵组模块 #
该模块实现的功能为:定义构建3个计算功能的的按钮精灵组模块。
代码如下所示:
def getButtonSpritesGroup(buttons):
'''
获取按钮精灵组
'''
button_sprites_group = pygame.sprite.Group()
for idx, button in enumerate(buttons):
args = (*BUTTONCARD_POSITIONS[idx], str(button), BUTTONFONT, BUTTONFONT_COLORS, BUTTONCARD_COLORS, str(button))
button_sprites_group.add(Button(*args))
return button_sprites_group
将以上所有代码加入到main()函数的上方,请注意该函数不是某个类的成员函数,而是普通函数。
接下来需要在各个模块中添加和修改代码,具体如下。
# 在maint()函数中找到如下代码
# 游戏主循环
clock = pygame.time.Clock()
# 在该句代码上方增加如下代码
# --按钮
button_sprites_group = getButtonSpritesGroup(BUTTONS)
# 在main()函数中找到如下代码
for each in operator_sprites_group:
each.draw(screen, pygame.mouse.get_pos()) # 画出操作符精灵
# 在该句代码后增加如下代码
for each in button_sprites_group:
each.draw(screen, pygame.mouse.get_pos()) # 画出按钮精灵
全部修改完之后,运行整体代码,看整体效果,可以看出三个功能已经在屏幕中绘制出。
小结 #
- 本节主要介绍了24点游戏的数字,运算符和功能按钮精灵组的构建模块。