提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
目录
提示:以下是本篇文章正文内容,下面案例可供参考
@1. 先写一个程序的主入口,让程序能够正常运行
import pygame
import sys
import random
class GameManage():
def __init__(self):
pygame.init()
self.value = pygame.time.Clock()
self.screen = pygame.display.set_mode((400, 600))
pygame.display.set_caption('我的名字叫飞机大战'
def check_event(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
def run(self):
while True:
self.check_event()
gm = GameManage()
gm.run()
2.插入背景类
class BgSprite(BaseSprite):
def __init__(self, name, top_left):
super().__init__(name)
self.rect.topleft = top_left
def update(self):
self.rect.top += 7
if self.rect.top >= 600:
self.rect.top = -600
class BgManage():
def __init__(self, gm):
self.gm = gm
self.bg_group = pygame.sprite.Group()
BgSprite("img/bg.jpg", (0, 0)).add(self.bg_group)
BgSprite("img/bg.jpg", (0, -600)).add(self.bg_group)
def update(self):
self.bg_group.update()
self.bg_group.draw(self.gm.screen)
3.写一个ui界面 让点击即可开始游戏
class BaseSprite(pygame.sprite.Sprite):
def __init__(self, name):
super().__init__()
self.image = pygame.image.load(name)
self.rect = self.image.get_rect()
def update(self):
pass
class Util:
"""
工具类: 提供静态方法
"""
@staticmethod
def click_check(sprite):
"""
精灵的点击检测
"""
if pygame.mouse.get_pressed()[0]:
if sprite.rect.collidepoint(pygame.mouse.get_pos()):
return True
return False
class UISprite(BaseSprite):
"""
UI精灵类
"""
def __init__(self, name, center):
super().__init__(name)
self.rect.center = center
class UIManage:
def __init__(self, gm):
self.gm = gm
# UI字体
self.font = pygame.font.Font("font/simkai.ttf", 32)
# 开始前UI元素
self.ready_group = pygame.sprite.Group()
self.begin_btn = UISprite("img/begin_btn.png", (200, 300))
self.begin_btn.add(self.ready_group)
# 游戏中UI元素
self.score_surface = self.font.render(f"Score:{self.gm.player_manage.score}", True, "#FF4500")
# 游戏结束UI元素
self.end_group = pygame.sprite.Group()
self.replay_btn = UISprite("img/replay_btn.png", (200, 300))
self.replay_btn.add(self.end_group)
def update(self):
if self.gm.state == "ready":
# print("更新未开始游戏UI")
self.ready_group.draw(self.gm.screen)
if Util.click_check(self.begin_btn):
AudioManage.play_sound('sound/游戏开始音效.mp3')
self.gm.state = "gaming"
self.gm.player_manage.born()
elif self.gm.state == "gaming":
# print("更新游戏中UI")
self.gm.screen.blit(self.score_surface, (0, 20))
self.score_surface = self.font.render(f"Score:{self.gm.player_manage.score}", True, "#FF4500")
elif self.gm.state == "end":
# print("更新游戏结束UI")
self.end_group.draw(self.gm.screen)
if Util.click_check(self.replay_btn):
self.gm.state = "gaming"
self.gm.player_manage.born()
4.插入玩家类和子弹类(让玩家可以攻击)
class BulletSprite(BaseSprite):
def __init__(self, name, center, speed):
super().__init__(name)
self.rect.center = center
self.speed = speed
def update(self):
self.rect.top += self.speed
class PlayerSprite(BaseSprite):
def __init__(self, name, center, gm):
self.gm = gm
self.max_hp = 10
self.hp = 10
super().__init__(name)
self.rect.center = center
self.bullet_group = pygame.sprite.Group()
self.super_bullet_num = 0
self.shoot_time = 0.8
def draw_hp(self):
pygame.draw.rect(self.gm.screen, (127, 127, 127),
(self.rect.left + self.rect.width / 2 - 25, self.rect.bottom + 1, 50, 10))
pygame.draw.rect(self.gm.screen, (0, 255, 0), (
self.rect.left + self.rect.width / 2 - 25, self.rect.bottom + 1, self.hp / self.max_hp * 50, 10))
def shoot(self):
BulletSprite("img/玩家子弹.png", (self.rect.centerx, self.rect.top - 11), -15).add(self.bullet_group)
def shoot2(self):
for i in range(5):
BulletSprite("img/玩家子弹.png", (self.rect.centerx - 20 + 10 * i, self.rect.top - 11), -15).add(
self.bullet_group)
def update(self):
self.draw_hp()
self.shoot_time -= 0.1
if self.shoot_time <= 0:
self.shoot_time = 0.8
if self.super_bullet_num > 0:
self.shoot2()
self.super_bullet_num -= 1
else:
self.shoot()
impress_key = pygame.key.get_pressed()
if impress_key[pygame.K_LEFT] and self.rect.left >= 0:
self.rect.left -= 7
if impress_key[pygame.K_RIGHT] and self.rect.right <= 400:
self.rect.left += 7
if impress_key[pygame.K_UP] and self.rect.top >= 0:
self.rect.top -= 7
if impress_key[pygame.K_DOWN] and self.rect.top <= 550:
self.rect.top += 7
self.bullet_group.update()
self.bullet_group.draw(self.gm.screen)
class PlayerManage():
def __init__(self, gm):
self.gm = gm
self.score = 0
self.player_group = pygame.sprite.Group()
# self.player = PlayerSprite("img/子弹.png", (200, 500), self.gm)
# self.player.add(self.player_group)
def born(self):
self.player_sprite = PlayerSprite('img/飞机.png', (200, 550), self.gm)
self.player_sprite.add(self.player_group)
def clear(self):
self.player_group.empty()
def update(self):
self.player_group.update()
self.player_group.draw(self.gm.screen)
5.插入敌人类和敌人攻击
class EnemySprite(BaseSprite,DestroyAnimateMixin): destroy_images = [f"img/enemy1_down{i}.png" for i in range(3, 5)] def __init__(self, name, speed, hp, gm): self.gm = gm super().__init__(name) self.left = self.rect.left = random.randint(0, 400 - self.rect.width) self.max_hp = hp self.hp = hp DestroyAnimateMixin.__init__(self) self.speed = speed self.rect.bottom = 0 self.time_count = 2 self.bullet_group = pygame.sprite.Group() self.is_alive = True def shoot(self): BulletSprite("img/敌人子弹.png", (self.rect.centerx, self.rect.bottom + 11), 10).add(self.bullet_group) def draw_hp(self): pygame.draw.rect(self.gm.screen, (127, 127, 127), (self.rect.left + self.rect.width / 2 - 25, self.rect.top - 20, 50, 10)) pygame.draw.rect(self.gm.screen, (0, 255, 0), ( self.rect.left + self.rect.width / 2 - 25, self.rect.top - 20, self.hp / self.max_hp * 50, 10)) def update_image(self): if not self.is_alive: self.update_destroy_images() def update(self): self.update_image() self.draw_hp() self.time_count -= 0.1 if self.time_count <= 0: self.time_count = 3 self.shoot() self.rect.top += self.speed if self.rect.top > 600: self.kill() self.bullet_group.update() self.bullet_group.draw(self.gm.screen) class EnemyManage(): def __init__(self, gm): self.gm = gm self.enemy_group = pygame.sprite.Group() self.time_count = 2 def clear(self): self.enemy_group.empty() def generate(self): value = random.random() if value > 0.9: EnemySprite("img/敌人3.png", 4, 5, self.gm).add(self.enemy_group) elif value > 0.6: EnemySprite("img/敌人2.png", 6, 3, self.gm).add(self.enemy_group) else: EnemySprite("img/敌人1.png", 6, 1, self.gm).add(self.enemy_group) def update(self): self.time_count -= 0.1 if self.time_count <= 0: self.time_count = 2 self.generate() self.enemy_group.update() self.enemy_group.draw(self.gm.screen)
6.插入道具类
class PropSprite(BaseSprite):
def __init__(self, name, speed, type):
super().__init__(name)
self.left = self.rect.left = random.randint(0, 400 - self.rect.width)
self.speed = speed
self.type = type
self.rect.bottom = 0
self.time_count = 2
def update(self):
self.rect.top += self.speed
if self.rect.top > 600:
self.kill()
class PropManage():
def __init__(self, gm):
self.gm = gm
self.prop_group = pygame.sprite.Group()
self.time_count = 7
self.bullet_group = pygame.sprite.Group()
def clear(self):
self.prop_group.empty()
def generate(self):
value = random.random()
if value > 0.8:
PropSprite("img/道具1.png", 8, 1).add(self.prop_group)
elif value > 0.5:
PropSprite("img/道具3.png", 8, 3).add(self.prop_group)
else:
PropSprite("img/道具2.png", 8, 2).add(self.prop_group)
def update(self):
self.time_count -= 0.1
if self.time_count <= 0:
self.time_count = 7
self.generate()
self.prop_group.update()
self.prop_group.draw(self.gm.screen)
7.在最后写游戏管理类
检测碰撞与更新
class GameManage():
def __init__(self):
pygame.init()
self.value = pygame.time.Clock()
self.screen = pygame.display.set_mode((400, 600))
pygame.display.set_caption('我的名字叫飞机大战')
self.bg_manage = BgManage(self)
self.player_manage = PlayerManage(self)
self.enemy_manage = EnemyManage(self)
self.ui_manage = UIManage(self)
self.pro_mange = PropManage(self)
self.state = 'ready'
AudioManage.play_bg_music()
def check_event(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 打怪加分数
def collide(self):
# 玩家和敌人碰撞 游戏结束
if pygame.sprite.groupcollide(self.player_manage.player_group, self.enemy_manage.enemy_group, False, False):
self.player_manage.player_sprite.hp -= 0.2
if self.player_manage.player_sprite.hp <= 0:
AudioManage.play_sound('sound/玩家死亡音效.mp3')
self.state = 'end'
self.player_manage.score = 0
self.player_manage.clear()
self.enemy_manage.clear()
for enemy in self.enemy_manage.enemy_group.sprites():
# 玩家碰撞子弹
player_enemy_bullet_groupcollied = pygame.sprite.groupcollide(self.player_manage.player_group,
enemy.bullet_group, False, True)
if player_enemy_bullet_groupcollied:
self.player_manage.player_sprite.hp -= 1
if self.player_manage.player_sprite.hp <= 0:
self.player_manage.clear()
self.state = 'end'
self.enemy_manage.clear()
AudioManage.play_sound('sound/玩家死亡音效.mp3')
# 吃道具
player_prop_collider = pygame.sprite.groupcollide(self.player_manage.player_group, self.pro_mange.prop_group,
False, True)
if player_prop_collider:
for props in player_prop_collider.values():
for prop in props:
print(prop.type, "吃到道具")
if prop.type == 1:
AudioManage.play_sound('sound/碰撞音效.mp3')
self.enemy_manage.clear()
if prop.type == 2:
AudioManage.play_sound('sound/道具声音.mp3')
self.player_manage.player_sprite.super_bullet_num = 10
if prop.type == 3:
AudioManage.play_sound('sound/道具声音.mp3')
self.player_manage.player_sprite.hp += 1
if self.player_manage.player_sprite.hp > self.player_manage.player_sprite.max_hp:
self.player_manage.player_sprite.hp = self.player_manage.player_sprite.max_hp
# 玩家子弹碰撞敌人子弹
for z in self.enemy_manage.enemy_group.sprites():
if pygame.sprite.groupcollide(self.player_manage.player_sprite.bullet_group,z.bullet_group,True,True):
AudioManage.play_sound('sound/射击声音.mp3')
# 玩家射击敌人
player_bullet_enemy_collider = pygame.sprite.groupcollide(self.player_manage.player_sprite.bullet_group,
self.enemy_manage.enemy_group, True, False)
if player_bullet_enemy_collider:
for enemeys in player_bullet_enemy_collider.values():
AudioManage.play_sound('sound/射击声音.mp3')
for enemy in enemeys:
enemy.hp -= 1
if enemy.hp <= 0:
enemy.is_alive = False
# enemy.is_alive = False
# print("打死了一个敌人")
# enemy.kill()
self.player_manage.score += 1
def run(self):
while True:
self.value.tick(24)
self.check_event()
self.bg_manage.update()
self.ui_manage.update()
if self.state == 'gaming':
self.player_manage.update()
self.enemy_manage.update()
self.pro_mange.update()
self.collide()
pygame.display.flip()
gm = GameManage()
gm.run()
8.总代码
import pygame
import sys
import random
class AudioManage:
@staticmethod
def play_bg_music():
pygame.mixer.music.load('sound/bgmusic.mp3')
pygame.mixer.music.play(True)
@staticmethod
def play_sound(name):
sound = pygame.mixer.Sound(name)
sound.play()
class DestroyAnimateMixin:
destroy_images = []
def __init__(self):
self.images2 = [pygame.image.load(name) for name in self.destroy_images]
self.destroy_index = 0
# if not self.destroy_images:
# raise Exception("destroy_images 为空")
def update_destroy_images(self):
self.destroy_index += 1
if self.destroy_index < len(self.destroy_images) * 5:
self.image = self.images2[self.destroy_index // 5]
else:
self.kill()
class BaseSprite(pygame.sprite.Sprite):
def __init__(self, name):
super().__init__()
self.image = pygame.image.load(name)
self.rect = self.image.get_rect()
def update(self):
pass
class Util:
"""
工具类: 提供静态方法
"""
@staticmethod
def click_check(sprite):
"""
精灵的点击检测
"""
if pygame.mouse.get_pressed()[0]:
if sprite.rect.collidepoint(pygame.mouse.get_pos()):
return True
return False
class UISprite(BaseSprite):
"""
UI精灵类
"""
def __init__(self, name, center):
super().__init__(name)
self.rect.center = center
class UIManage:
def __init__(self, gm):
self.gm = gm
# UI字体
self.font = pygame.font.Font("font/simkai.ttf", 32)
# 开始前UI元素
self.ready_group = pygame.sprite.Group()
self.begin_btn = UISprite("img/begin_btn.png", (200, 300))
self.begin_btn.add(self.ready_group)
# 游戏中UI元素
self.score_surface = self.font.render(f"Score:{self.gm.player_manage.score}", True, "#FF4500")
# 游戏结束UI元素
self.end_group = pygame.sprite.Group()
self.replay_btn = UISprite("img/replay_btn.png", (200, 300))
self.replay_btn.add(self.end_group)
def update(self):
if self.gm.state == "ready":
# print("更新未开始游戏UI")
self.ready_group.draw(self.gm.screen)
if Util.click_check(self.begin_btn):
AudioManage.play_sound('sound/游戏开始音效.mp3')
self.gm.state = "gaming"
self.gm.player_manage.born()
elif self.gm.state == "gaming":
# print("更新游戏中UI")
self.gm.screen.blit(self.score_surface, (0, 20))
self.score_surface = self.font.render(f"Score:{self.gm.player_manage.score}", True, "#FF4500")
elif self.gm.state == "end":
# print("更新游戏结束UI")
self.end_group.draw(self.gm.screen)
if Util.click_check(self.replay_btn):
self.gm.state = "gaming"
self.gm.player_manage.born()
class BulletSprite(BaseSprite):
def __init__(self, name, center, speed):
super().__init__(name)
self.rect.center = center
self.speed = speed
def update(self):
self.rect.top += self.speed
class PlayerSprite(BaseSprite):
def __init__(self, name, center, gm):
self.gm = gm
self.max_hp = 10
self.hp = 10
super().__init__(name)
self.rect.center = center
self.bullet_group = pygame.sprite.Group()
self.super_bullet_num = 0
self.shoot_time = 0.8
def draw_hp(self):
pygame.draw.rect(self.gm.screen, (127, 127, 127),
(self.rect.left + self.rect.width / 2 - 25, self.rect.bottom + 1, 50, 10))
pygame.draw.rect(self.gm.screen, (0, 255, 0), (
self.rect.left + self.rect.width / 2 - 25, self.rect.bottom + 1, self.hp / self.max_hp * 50, 10))
def shoot(self):
BulletSprite("img/玩家子弹.png", (self.rect.centerx, self.rect.top - 11), -15).add(self.bullet_group)
def shoot2(self):
for i in range(5):
BulletSprite("img/玩家子弹.png", (self.rect.centerx - 20 + 10 * i, self.rect.top - 11), -15).add(
self.bullet_group)
def update(self):
self.draw_hp()
self.shoot_time -= 0.1
if self.shoot_time <= 0:
self.shoot_time = 0.8
if self.super_bullet_num > 0:
self.shoot2()
self.super_bullet_num -= 1
else:
self.shoot()
impress_key = pygame.key.get_pressed()
if impress_key[pygame.K_LEFT] and self.rect.left >= 0:
self.rect.left -= 7
if impress_key[pygame.K_RIGHT] and self.rect.right <= 400:
self.rect.left += 7
if impress_key[pygame.K_UP] and self.rect.top >= 0:
self.rect.top -= 7
if impress_key[pygame.K_DOWN] and self.rect.top <= 550:
self.rect.top += 7
self.bullet_group.update()
self.bullet_group.draw(self.gm.screen)
class PlayerManage():
def __init__(self, gm):
self.gm = gm
self.score = 0
self.player_group = pygame.sprite.Group()
# self.player = PlayerSprite("img/子弹.png", (200, 500), self.gm)
# self.player.add(self.player_group)
def born(self):
self.player_sprite = PlayerSprite('img/飞机.png', (200, 550), self.gm)
self.player_sprite.add(self.player_group)
def clear(self):
self.player_group.empty()
def update(self):
self.player_group.update()
self.player_group.draw(self.gm.screen)
class BgSprite(BaseSprite):
def __init__(self, name, top_left):
super().__init__(name)
self.rect.topleft = top_left
def update(self):
self.rect.top += 7
if self.rect.top >= 600:
self.rect.top = -600
class BgManage():
def __init__(self, gm):
self.gm = gm
self.bg_group = pygame.sprite.Group()
BgSprite("img/bg.jpg", (0, 0)).add(self.bg_group)
BgSprite("img/bg.jpg", (0, -600)).add(self.bg_group)
def update(self):
self.bg_group.update()
self.bg_group.draw(self.gm.screen)
class PropSprite(BaseSprite):
def __init__(self, name, speed, type):
super().__init__(name)
self.left = self.rect.left = random.randint(0, 400 - self.rect.width)
self.speed = speed
self.type = type
self.rect.bottom = 0
self.time_count = 2
def update(self):
self.rect.top += self.speed
if self.rect.top > 600:
self.kill()
class PropManage():
def __init__(self, gm):
self.gm = gm
self.prop_group = pygame.sprite.Group()
self.time_count = 7
self.bullet_group = pygame.sprite.Group()
def clear(self):
self.prop_group.empty()
def generate(self):
value = random.random()
if value > 0.8:
PropSprite("img/道具1.png", 8, 1).add(self.prop_group)
elif value > 0.5:
PropSprite("img/道具3.png", 8, 3).add(self.prop_group)
else:
PropSprite("img/道具2.png", 8, 2).add(self.prop_group)
def update(self):
self.time_count -= 0.1
if self.time_count <= 0:
self.time_count = 7
self.generate()
self.prop_group.update()
self.prop_group.draw(self.gm.screen)
class EnemySprite(BaseSprite,DestroyAnimateMixin):
destroy_images = [f"img/enemy1_down{i}.png" for i in range(3, 5)]
def __init__(self, name, speed, hp, gm):
self.gm = gm
super().__init__(name)
self.left = self.rect.left = random.randint(0, 400 - self.rect.width)
self.max_hp = hp
self.hp = hp
DestroyAnimateMixin.__init__(self)
self.speed = speed
self.rect.bottom = 0
self.time_count = 2
self.bullet_group = pygame.sprite.Group()
self.is_alive = True
def shoot(self):
BulletSprite("img/敌人子弹.png", (self.rect.centerx, self.rect.bottom + 11), 10).add(self.bullet_group)
def draw_hp(self):
pygame.draw.rect(self.gm.screen, (127, 127, 127),
(self.rect.left + self.rect.width / 2 - 25, self.rect.top - 20, 50, 10))
pygame.draw.rect(self.gm.screen, (0, 255, 0), (
self.rect.left + self.rect.width / 2 - 25, self.rect.top - 20, self.hp / self.max_hp * 50, 10))
def update_image(self):
if not self.is_alive:
self.update_destroy_images()
def update(self):
self.update_image()
self.draw_hp()
self.time_count -= 0.1
if self.time_count <= 0:
self.time_count = 3
self.shoot()
self.rect.top += self.speed
if self.rect.top > 600:
self.kill()
self.bullet_group.update()
self.bullet_group.draw(self.gm.screen)
class EnemyManage():
def __init__(self, gm):
self.gm = gm
self.enemy_group = pygame.sprite.Group()
self.time_count = 2
def clear(self):
self.enemy_group.empty()
def generate(self):
value = random.random()
if value > 0.9:
EnemySprite("img/敌人3.png", 4, 5, self.gm).add(self.enemy_group)
elif value > 0.6:
EnemySprite("img/敌人2.png", 6, 3, self.gm).add(self.enemy_group)
else:
EnemySprite("img/敌人1.png", 6, 1, self.gm).add(self.enemy_group)
def update(self):
self.time_count -= 0.1
if self.time_count <= 0:
self.time_count = 2
self.generate()
self.enemy_group.update()
self.enemy_group.draw(self.gm.screen)
class GameManage():
def __init__(self):
pygame.init()
self.value = pygame.time.Clock()
self.screen = pygame.display.set_mode((400, 600))
pygame.display.set_caption('我的名字叫飞机大战')
self.bg_manage = BgManage(self)
self.player_manage = PlayerManage(self)
self.enemy_manage = EnemyManage(self)
self.ui_manage = UIManage(self)
self.pro_mange = PropManage(self)
self.state = 'ready'
AudioManage.play_bg_music()
def check_event(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 打怪加分数
def collide(self):
# 玩家和敌人碰撞 游戏结束
if pygame.sprite.groupcollide(self.player_manage.player_group, self.enemy_manage.enemy_group, False, False):
self.player_manage.player_sprite.hp -= 0.2
if self.player_manage.player_sprite.hp <= 0:
AudioManage.play_sound('sound/玩家死亡音效.mp3')
self.state = 'end'
self.player_manage.score = 0
self.player_manage.clear()
self.enemy_manage.clear()
for enemy in self.enemy_manage.enemy_group.sprites():
# 玩家碰撞子弹
player_enemy_bullet_groupcollied = pygame.sprite.groupcollide(self.player_manage.player_group,
enemy.bullet_group, False, True)
if player_enemy_bullet_groupcollied:
self.player_manage.player_sprite.hp -= 1
if self.player_manage.player_sprite.hp <= 0:
self.player_manage.clear()
self.state = 'end'
self.enemy_manage.clear()
AudioManage.play_sound('sound/玩家死亡音效.mp3')
# 吃道具
player_prop_collider = pygame.sprite.groupcollide(self.player_manage.player_group, self.pro_mange.prop_group,
False, True)
if player_prop_collider:
for props in player_prop_collider.values():
for prop in props:
print(prop.type, "吃到道具")
if prop.type == 1:
AudioManage.play_sound('sound/碰撞音效.mp3')
self.enemy_manage.clear()
if prop.type == 2:
AudioManage.play_sound('sound/道具声音.mp3')
self.player_manage.player_sprite.super_bullet_num = 10
if prop.type == 3:
AudioManage.play_sound('sound/道具声音.mp3')
self.player_manage.player_sprite.hp += 1
if self.player_manage.player_sprite.hp > self.player_manage.player_sprite.max_hp:
self.player_manage.player_sprite.hp = self.player_manage.player_sprite.max_hp
# 玩家子弹碰撞敌人子弹
for z in self.enemy_manage.enemy_group.sprites():
if pygame.sprite.groupcollide(self.player_manage.player_sprite.bullet_group,z.bullet_group,True,True):
AudioManage.play_sound('sound/射击声音.mp3')
# 玩家射击敌人
player_bullet_enemy_collider = pygame.sprite.groupcollide(self.player_manage.player_sprite.bullet_group,
self.enemy_manage.enemy_group, True, False)
if player_bullet_enemy_collider:
for enemeys in player_bullet_enemy_collider.values():
AudioManage.play_sound('sound/射击声音.mp3')
for enemy in enemeys:
enemy.hp -= 1
if enemy.hp <= 0:
enemy.is_alive = False
# enemy.is_alive = False
# print("打死了一个敌人")
# enemy.kill()
self.player_manage.score += 1
def run(self):
while True:
self.value.tick(24)
self.check_event()
self.bg_manage.update()
self.ui_manage.update()
if self.state == 'gaming':
self.player_manage.update()
self.enemy_manage.update()
self.pro_mange.update()
self.collide()
pygame.display.flip()
gm = GameManage()
gm.run()
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。