以下是部分代码预览:
"""转圈圈的方块收集小游戏核心代码.py""" import pygame import random import math # 定义颜色常量 BLACK = (0, 0, 0) WHITE = (255, 255, 255) GREEN = (0, 255, 0) RED = (255, 0, 0) BLUE = (0, 0, 255) class Block(pygame.sprite.Sprite): """ 方块类,继承自角色类 """ def __init__(self, color, width, height): """ 初始化方法,先调用父类的同名方法,然后创建image """ super().__init__() self.image = pygame.Surface([width, height]) self.image.fill(color) self.rect = self.image.get_rect() def update(self): """ 更新角色的坐标 """ class Player(pygame.sprite.Sprite): """ 玩类类,继承自角色类. """ def __init__(self, color, width, height): """ 调用基类的同名方法,创建玩家图像 """ super().__init__() self.image = pygame.Surface([width, height]) self.image.fill(color) self.rect = self.image.get_rect() # 初始化pygame引擎 pygame.init() # 设定屏幕宽度和高度,创建屏幕对象 SCREEN_WIDTH = 700 SCREEN_HEIGHT = 400 screen = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT]) # 方块“列表”,由组来创建. block_list = pygame.sprite.Group() # 所有角色列表,由Group来创建。 all_sprites_list = pygame.sprite.Group() # 创建一个红色的小方块 player = Player(RED, 20, 15) all_sprites_list.add(player) # 用户单击了关闭按钮会触发QUIT事件,把此变量设为True会退出while循环 # 所以,它初始化的值为False done = False # 设置屏幕刷新率的时钟对象 clock = pygame.time.Clock() score = 0 # -------- 主程序循环 ----------- while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True # 重画所有角色 all_sprites_list.draw(screen) # 显示 pygame.display.flip() # 设置帧率为60 clock.tick(60) pygame.quit()
如需要查看完整代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
发表评论