主要内容 #
-
- 数字精灵组模块
- 运算符精灵组模块
- 按钮精灵组模块
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点游戏的数字,运算符和功能按钮精灵组的构建模块。