python游戏~~太空狙击

space1

import pygame
from pygame.locals import *

'''
知识点:pygame.event.get():获取当前pygame窗口发生的事件列表
窗口显示图片三步走:
    1、使用pygame.image.load()方法加载图片
    2、使用"窗口变量.blit()"方法绘制图片
    3、使用pygame.display.flip()方法刷新窗口
'''
# 初始化pygame库
pygame.init()
#
width = 480
height = 600
# 创建pygame窗口,设置窗口大小set_mode:设置样式,size = (宽,高)
screen = pygame.display.set_mode((width, height))
# 加载背景图片
bg_img = pygame.image.load('F:\\test\\Y9-12\\img_bg.jpg')
screen.blit(bg_img, (0, 0))
# 飞机
plane = pygame.image.load('F:\\test\\Y9-12\\img_plane.png')
# 把图片绘制到窗口某个位置
x = 100
y = 200
screen.blit(plane, (x, y))
# 把需要的图片显示在窗口上
# pygame.display.flip()
# 飞机移动速度
speedx = 1
speedy = 1
running = True
while running:
    # 移动
    x += speedx
    y += speedy
    if x <= 0 or x >= width - 49:
        speedx = -speedx
    if y <= 0 or y >= height - 71:
        speedy = -speedy
    screen.blit(bg_img, (0, 0))
    screen.blit(plane, (x, y))
    pygame.display.flip()
    # 监控事件 如果点击了关闭按钮就退出循环
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # esc关闭窗口
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False
# 关闭窗口
pygame.quit()

space2

import pygame

'''
通过Surface对象的get_rect()方法获取图像的矩形区域,通过改变矩形区域的位置来改变图像的位置
rect = image.get_rect()
1、改变x,y 左上角定位 rect.x,rect,y
2、中心点:rect.center:元组改变x,y rect.centerx:改变x,rect.centery:改变y
3、rect.left:左边距 rect.right:右边距 rect.top:上边距 rect.bottom:下边距
4、通过get_pressed方法获取被按下所有按键列表:keys = get_pressed()
5、clock = pygame.time.Clock():通过Clock方法创建游戏时钟
    通过时钟对象的tick方法控制循环频率
    clock.tick(60):表示每秒钟循环执行60次
    注意:tick方法需要放在循环中去调用才有作用
'''


class Plane():
    def __init__(self):
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_plane.png')
        self.rect = self.image.get_rect()
        # self.rect.left = 100
        # self.rect.top = 100
        self.rect.centerx = width / 2
        self.rect.bottom = height - 10

    def update(self):
        self.speedx = 0
        # self.speedy = 0
        keys = pygame.key.get_pressed()
        # 左移动
        if keys[pygame.K_LEFT]:
            self.speedx = -8
        # 右移动
        if keys[pygame.K_RIGHT]:
            self.speedx = 8
        self.rect.centerx += self.speedx
        if self.rect.right > width:
            self.rect.right = width
        if self.rect.left < 0:
            self.rect.left = 0


# 初始化pygame库
pygame.init()
#
width = 480
height = 600
# 创建pygame窗口,设置窗口大小set_mode:设置样式,size = (宽,高)
screen = pygame.display.set_mode((width, height))
# 加载背景图片
bg_img = pygame.image.load('F:\\test\\Y9-12\\img_bg.jpg')
# screen.blit(bg_img, (0, 0))
# 飞机
plane = Plane()
# 把图片绘制到窗口某个位置
# x = 100
# y = 100
# screen.blit(plane.image, (plane.rect.left, plane.rect.top))
# 把需要的图片显示在窗口上
# pygame.display.flip()
# 飞机移动速度
# speedx = 1
# speedy = 1
# 创建游戏时钟
clock = pygame.time.Clock()
FPS = 60
running = True
while running:
    #循环频率(帧速率)可改变飞机移动速度,FPS越大,每秒循环次数越多,飞机移动越快
    clock.tick(FPS)
    plane.update()
    screen.blit(bg_img, (0, 0))
    screen.blit(plane.image,plane.rect)
    pygame.display.flip()
    # 监控事件 如果点击了关闭按钮就退出循环
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # esc关闭窗口
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False
# 关闭窗口
pygame.quit()

space3

import pygame
import random

'''
角色组:
    使用pygame提供的角色组类即可创建角色组对象
    all_sprite = pygame.sprite.Group()
    使用add()方法将角色添加在角色组中
    all_sprite.add(plane)
    将角色添加到角色组之后,即可统一管理角色
    将所有角色绘制到屏幕中
    all_sprite.draw(screen):角色组类自带draw()方法
'''
'''
pygame中提供了角色类:pygame.sprite.Sprite
此角色类中提供的属性及方法
image:记录图像数据
rect:记录角色在屏幕中位置
update():父类中的update()方法什么都没做,子类中可以重写此方法
kill():删除此对象
'''

# 初始化pygame库
pygame.init()


# 飞机类
class Plane(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_plane.png')
        self.rect = self.image.get_rect()
        # self.rect.left = 100
        # self.rect.top = 100
        self.rect.centerx = WIDTH / 2
        self.rect.bottom = HEIGHT - 10

    def update(self):
        self.speedx = 0
        # self.speedy = 0
        keys = pygame.key.get_pressed()
        # 左移动
        if keys[pygame.K_LEFT]:
            self.speedx = -8
        # 右移动
        if keys[pygame.K_RIGHT]:
            self.speedx = 8
        self.rect.centerx += self.speedx
        if self.rect.right > WIDTH:
            self.rect.right = WIDTH
        if self.rect.left < 0:
            self.rect.left = 0

    def shoot(self):
        bullet = Bullet(self.rect.centerx, self.rect.top)
        all_sprites.add(bullet)


'''
想要生成一批陨石让他们在窗口中动起来,需要一下三步:
1、定义陨石对象
2、调用陨石对象update方法
3、调用screen的blit方法,将陨石绘制到屏幕上
'''


# 陨石类
class Meteorite(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_meteorite.png')
        # 获取陨石矩形,设置出现随机位置
        self.rect = self.image.get_rect()
        self.rect.x = random.randrange(WIDTH - self.rect.width)
        self.rect.y = random.randrange(-100, -40)
        # 设置陨石竖直以及左右方向上的随机移动速度
        self.speedy = random.randint(1, 8)
        self.speedx = random.randint(-3, 3)

    def update(self):
        self.rect.x += self.speedx
        self.rect.y += self.speedy
        if self.rect.top > HEIGHT or self.rect.left < -30 or self.rect.right > WIDTH + 30:
            self.rect.x = random.randrange(WIDTH - self.rect.width)
            self.rect.y = random.randrange(-100, 40)


'''
按下空格键发射子弹需要两步:
    1、在飞机类中定义shoot()方法,生成子弹并添加到角色组中
    2、侦测是否按下空格键,若按下则调用shoot()方法
'''


# 子弹类
class Bullet(pygame.sprite.Sprite):
    def __init__(self, x, y):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_bullet.png')
        self.rect = self.image.get_rect()
        self.rect.y = y
        self.rect.x = x
        self.speedy = -10

    def update(self):
        self.rect.y += self.speedy
        # 移出屏幕 删除子弹
        if self.rect.bottom < 0:
            self.kill()


#
WIDTH = 480
HEIGHT = 600
# 创建pygame窗口,设置窗口大小set_mode:设置样式,size = (宽,高)
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# 加载背景图片
bg_img = pygame.image.load('F:\\test\\Y9-12\\img_bg.jpg')
# 飞机
plane = Plane()
# 创建角色组,将飞机角色添加到角色组中
all_sprites = pygame.sprite.Group()
all_sprites.add(plane)
# 创建8个陨石对象添加到角色组中
for i in range(8):
    met = Meteorite()
    all_sprites.add(met)
# 创建游戏时钟
clock = pygame.time.Clock()
FPS = 60
running = True
while running:
    # 循环频率(帧速率)可改变飞机移动速度,FPS越大,每秒循环次数越多,飞机移动越快
    clock.tick(FPS)
    # plane.update()
    screen.blit(bg_img, (0, 0))
    # 使用角色统一执行update方法,将所有角色绘制到屏幕上
    all_sprites.update()
    all_sprites.draw(screen)
    # screen.blit(plane.image, plane.rect)
    pygame.display.flip()
    # 监控事件 如果点击了关闭按钮就退出循环
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # esc关闭窗口
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                plane.shoot()
            if event.key == pygame.K_ESCAPE:
                running = False
# 关闭窗口
pygame.quit()

space4

import pygame
import random

# 初始化pygame库
pygame.init()


# 飞机类
class Plane(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_plane.png')
        self.rect = self.image.get_rect()
        # self.rect.left = 100
        # self.rect.top = 100
        self.rect.centerx = WIDTH / 2
        self.rect.bottom = HEIGHT - 10

    def update(self):
        self.speedx = 0
        # self.speedy = 0
        keys = pygame.key.get_pressed()
        # 左移动
        if keys[pygame.K_LEFT]:
            self.speedx = -8
        # 右移动
        if keys[pygame.K_RIGHT]:
            self.speedx = 8
        self.rect.centerx += self.speedx
        if self.rect.right > WIDTH:
            self.rect.right = WIDTH
        if self.rect.left < 0:
            self.rect.left = 0

    def shoot(self):
        bullet = Bullet(self.rect.centerx, self.rect.top)
        all_sprites.add(bullet)
        all_bullets.add(bullet)


# 陨石类
class Meteorite(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_meteorite.png')
        # 获取陨石矩形,设置出现随机位置
        self.rect = self.image.get_rect()
        self.rect.x = random.randrange(WIDTH - self.rect.width)
        self.rect.y = random.randrange(-100, -40)
        # 设置陨石竖直以及左右方向上的随机移动速度
        self.speedy = random.randint(1, 4)
        self.speedx = random.randint(-3, 3)

    def update(self):
        self.rect.x += self.speedx
        self.rect.y += self.speedy
        if self.rect.top > HEIGHT or self.rect.left < -30 or self.rect.right > WIDTH + 30:
            self.rect.x = random.randrange(WIDTH - self.rect.width)
            self.rect.y = random.randrange(-100, 40)


'''
按下空格键发射子弹需要两步:
    1、在飞机类中定义shoot()方法,生成子弹并添加到角色组中
    2、侦测是否按下空格键,若按下则调用shoot()方法
'''


# 子弹类
class Bullet(pygame.sprite.Sprite):
    def __init__(self, x, y):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_bullet.png')
        self.rect = self.image.get_rect()
        self.rect.y = y
        self.rect.x = x
        self.speedy = -10

    def update(self):
        self.rect.y += self.speedy
        # 移出屏幕 删除子弹
        if self.rect.bottom < 0:
            self.kill()


#
WIDTH = 480
HEIGHT = 600
# 创建pygame窗口,设置窗口大小set_mode:设置样式,size = (宽,高)
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# 加载背景图片
bg_img = pygame.image.load('F:\\test\\Y9-12\\img_bg.jpg')
# 飞机
plane = Plane()
# 创建角色组,将飞机角色添加到角色组中
all_sprites = pygame.sprite.Group()
all_sprites.add(plane)
# 定义陨石角色,并在生成陨石时将其添加到组中
all_meteorite = pygame.sprite.Group()
all_bullets = pygame.sprite.Group()
# 创建8个陨石对象添加到角色组中
for i in range(8):
    met = Meteorite()
    all_sprites.add(met)
    # 添加
    all_meteorite.add(met)
# 创建游戏时钟
clock = pygame.time.Clock()
FPS = 60
'''
显示游戏得分
1、需要一支画笔来绘制分数,绘制的步骤:
    <1、定义写字画笔,设置笔的字体,字体大小
    <2、用写字笔绘制内容(分数)
    <3、设置绘制内容位置
    <4、将绘制的内容放到屏幕上:blit(...)
'''
# Font对象的render方法可以绘制特定的颜色文本字符串,返回结果为surface对象:
COLOR_WHITE = (255,0,0)
# 积分器
score = 0
def draw_text(surf,text,size,x,y):
    # 通过match_fount方法可以在系统上找到特定的字体
    font_name = pygame.font.match_font('华文楷体')
    # 通过Font方法可以创建制定字体和大小的Font对象
    font = pygame.font.Font(font_name,size)
    # 返回一个surface对象(字体渲染成的图像)
    text_surface = font.render(text,True,COLOR_WHITE)
    '''
    str(score),文本字符串
    True,抗锯齿(光滑)
    COLOR_WHITE 文本颜色
    '''
    text_rect = text_surface.get_rect()
    text_rect.center = (x,y)
    surf.blit(text_surface,text_rect)
running = True
while running:
    # 循环频率(帧速率)可改变飞机移动速度,FPS越大,每秒循环次数越多,飞机移动越快
    clock.tick(FPS)
    # plane.update()
    screen.blit(bg_img, (0, 0))
    # 使用角色统一执行update方法,将所有角色绘制到屏幕上
    all_sprites.update()
    all_sprites.draw(screen)
    '''
    text_surface = font.render(str(score), True, COLOR_WHITE)
    # 将绘制的内容放到屏幕上(分数) 
    '''
    # 调用分数函数
    draw_text(screen,str(score),26,20,10)
    # 刷新屏幕
    pygame.display.flip()
    # 监控事件 如果点击了关闭按钮就退出循环
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # esc关闭窗口
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                plane.shoot()
            if event.key == pygame.K_ESCAPE:
                running = False
    '''
    通过spritecollide方法可以检测单个角色和一个角色组的碰撞,返回结果列表
    '''
    hist1 = pygame.sprite.spritecollide(plane, all_meteorite, True)
    # 列表不为空则发生了碰撞
    if hist1:
        running = False
    '''
    通过groupcollide方法可以检测一个角色组和另一个角色组之间的碰撞,返回结果为字典
    键是角色组一中碰撞的角色,值是角色组二中与该角色碰撞的角色列表
    '''
    hist2 = pygame.sprite.groupcollide(all_meteorite, all_bullets, True, True)
    if hist2:
        print(hist2)
    # 遍历hist2(子弹与陨石碰撞字典,为游戏补充陨石)
    for i in hist2.items():
        score += 1
        meteorite = Meteorite()
        all_sprites.add(meteorite)
        all_meteorite.add(meteorite)
# 关闭窗口
print(score)
pygame.quit()

space5完整版

import pygame
import random
import pygame.mixer as pm

'''
mixer(混音器):pygame中用于加载和播放声音模块,使用前需要初始化

'''
# 初始化pygame库
pygame.init()
# 初始化混音器
pm.init()
# 加载并播放背景音乐
pm.music.load('F:\\test\\Y9-12\\music\\雷霆战机.mp3')
# loops = -1 设置音乐播放多少次,-1为无限循环播放
pm.music.play(loops=-1)
'''
wav或者ogg类型的音乐文件需要使用sound()方法加载
shout_sound = pygame.mixer.Sound(filepath)
shout_sound.play()
'''
shout_sound = pm.Sound('F:\\test\\Y9-12\\mic\\shoot.ogg')
hit_sounds = pm.Sound('F:\\test\\Y9-12\\mic\\hit.wav')

# 创建颜色
COLOR_WHITE = (255, 255, 255)


# 飞机类
class Plane(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_plane.png')
        self.rect = self.image.get_rect()
        self.radius = int(self.rect.width / 2)
        # 查看半径范围
        # pygame.draw.circle(self.image, COLOR_WHITE, self.rect.center, self.radius)
        self.rect.centerx = WIDTH / 2
        self.rect.bottom = HEIGHT - 10

    def update(self):
        self.speedx = 0
        # self.speedy = 0
        keys = pygame.key.get_pressed()
        # 左移动
        if keys[pygame.K_LEFT]:
            self.speedx = -8
        # 右移动
        if keys[pygame.K_RIGHT]:
            self.speedx = 8
        self.rect.centerx += self.speedx
        if self.rect.right > WIDTH:
            self.rect.right = WIDTH
        if self.rect.left < 0:
            self.rect.left = 0

    def shoot(self):
        bullet = Bullet(self.rect.centerx, self.rect.top)
        all_sprites.add(bullet)
        all_bullets.add(bullet)
        # 播放碰撞音效
        shout_sound.play()


met_list = [
    "F:\\test\\Y9-12\\img_meteorite.png",
    "F:\\test\\Y9-12\\img_meteorite_01.png",
    "F:\\test\\Y9-12\\img_meteorite_02.png",
    "F:\\test\\Y9-12\\img_meteorite_03.png",
    "F:\\test\\Y9-12\\img_meteorite_04.png",
    "F:\\test\\Y9-12\\img_meteorite_05.png",
    "F:\\test\\Y9-12\\img_meteorite_06.png",
    "F:\\test\\Y9-12\\img_meteorite_07.png",
    "F:\\test\\Y9-12\\img_meteorite_08.png",
]
met_images = []
for img in met_list:
    # pygame导入图片,生成surface对象,可以直接当角色图使用
    met_images.append(pygame.image.load(img))


# 陨石类
class Meteorite(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        # self.image = pygame.image.load('F:\\test\\Y9-12\\img_meteorite.png')
        self.image = random.choice(met_images)
        # 获取陨石矩形,设置出现随机位置
        self.rect = self.image.get_rect()
        #
        self.radius = int(self.rect.width / 2)
        # 查看半径范围
        # pygame.draw.circle(self.image, COLOR_WHITE, self.rect.center, self.radius)

        self.rect.x = random.randrange(WIDTH - self.rect.width)
        self.rect.y = random.randrange(-100, -40)
        # 设置陨石竖直以及左右方向上的随机移动速度
        self.speedy = random.randint(1, 4)
        self.speedx = random.randint(-3, 3)

    def update(self):
        self.rect.x += self.speedx
        self.rect.y += self.speedy
        if self.rect.top > HEIGHT or self.rect.left < -30 or self.rect.right > WIDTH + 30:
            self.rect.x = random.randrange(WIDTH - self.rect.width)
            self.rect.y = random.randrange(-100, 40)


'''
按下空格键发射子弹需要两步:
    1、在飞机类中定义shoot()方法,生成子弹并添加到角色组中
    2、侦测是否按下空格键,若按下则调用shoot()方法
'''


# 子弹类
class Bullet(pygame.sprite.Sprite):
    def __init__(self, x, y):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_bullet.png')
        self.rect = self.image.get_rect()
        self.rect.y = y
        self.rect.x = x
        self.speedy = -10

    def update(self):
        self.rect.y += self.speedy
        # 移出屏幕 删除子弹
        if self.rect.bottom < 0:
            self.kill()


class BackGround(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load('F:\\test\\Y9-12\\img_bg.jpg')
        self.rect = self.image.get_rect()

    def update(self):
        self.rect.y += 1
        if self.rect.y > self.rect.height:
            self.rect.y = -self.rect.height


#
WIDTH = 480
HEIGHT = 600
# 创建pygame窗口,设置窗口大小set_mode:设置样式,size = (宽,高)
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# 加载背景图片
# bg_img = pygame.image.load('F:\\test\\Y9-12\\img_bg.jpg')
# 飞机
plane = Plane()
# 背景移动
bg = BackGround()
bg2 = BackGround()
bg2.rect.y = -bg2.rect.height
# 创建角色组,将飞机角色添加到角色组中
all_sprites = pygame.sprite.Group()
all_sprites.add(bg, bg2, plane)
# 定义陨石角色,并在生成陨石时将其添加到组中
all_meteorite = pygame.sprite.Group()
all_bullets = pygame.sprite.Group()
# 创建8个陨石对象添加到角色组中
for i in range(8):
    met = Meteorite()
    all_sprites.add(met)
    # 添加
    all_meteorite.add(met)
# 创建游戏时钟
clock = pygame.time.Clock()
FPS = 60
'''
显示游戏得分
1、需要一支画笔来绘制分数,绘制的步骤:
    <1、定义写字画笔,设置笔的字体,字体大小
    <2、用写字笔绘制内容(分数)
    <3、设置绘制内容位置
    <4、将绘制的内容放到屏幕上:blit(...)
'''
# Font对象的render方法可以绘制特定的颜色文本字符串,返回结果为surface对象:
COLOR_WHITE = (255, 0, 0)
# 积分器
score = 0


# 绘制分数函数
def draw_text(surf, text, size, x, y):
    # 通过match_fount方法可以在系统上找到特定的字体
    font_name = pygame.font.match_font('华文楷体')
    # 通过Font方法可以创建制定字体和大小的Font对象
    font = pygame.font.Font(font_name, size)
    # 返回一个surface对象(字体渲染成的图像)
    text_surface = font.render(text, True, COLOR_WHITE)
    '''
    str(score),文本字符串
    True,抗锯齿(光滑)
    COLOR_WHITE 文本颜色
    '''
    text_rect = text_surface.get_rect()
    text_rect.center = (x, y)
    surf.blit(text_surface, text_rect)


running = True
while running:
    # 循环频率(帧速率)可改变飞机移动速度,FPS越大,每秒循环次数越多,飞机移动越快
    clock.tick(FPS)
    # plane.update()
    # screen.blit(bg, (0, 0))
    # 使用角色统一执行update方法,将所有角色绘制到屏幕上
    all_sprites.update()
    all_sprites.draw(screen)
    '''
    text_surface = font.render(str(score), True, COLOR_WHITE)
    # 将绘制的内容放到屏幕上(分数) 
    '''
    # 调用分数函数
    draw_text(screen, str(score), 26, 20, 10)
    # 刷新屏幕
    pygame.display.flip()
    # 监控事件 如果点击了关闭按钮就退出循环
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # esc关闭窗口
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                plane.shoot()
            if event.key == pygame.K_ESCAPE:
                running = False
    '''
    通过spritecollide方法可以检测单个角色和一个角色组的碰撞,返回结果列表
    '''
    hist1 = pygame.sprite.spritecollide(plane, all_meteorite, False, pygame.sprite.collide_circle)
    #
    for hit in hist1:
        hit_sounds.play()
    # 列表不为空则发生了碰撞
    if hist1:
        running = False
    '''
    通过groupcollide方法可以检测一个角色组和另一个角色组之间的碰撞,返回结果为字典
    键是角色组一中碰撞的角色,值是角色组二中与该角色碰撞的角色列表
    '''
    hist2 = pygame.sprite.groupcollide(all_meteorite, all_bullets, True, True)
    if hist2:
        print(hist2)
    # 遍历hist2(子弹与陨石碰撞字典,为游戏补充陨石)
    for i in hist2.items():
        score += 1
        meteorite = Meteorite()
        all_sprites.add(meteorite)
        all_meteorite.add(meteorite)
# 关闭窗口
print(score)
pygame.quit()

素材包:
链接:https://pan.baidu.com/s/1aQjXMUC0duijj8OZ_uNNSg
提取码:m88l

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值