python飞机大战添加音效和计分源代码

2024-10-19 22:15:39

1、首先,这里把飞机大战小游戏分为了两个py文件,一个为:plane_sprites.py一个为:zcx.py。先新建这样命名的py文件即可。

python飞机大战添加音效和计分源代码

3、再将下面代码复制到plane_sprites.py中import randomimport pygameSCREEN_RECT=p烤恤鹇灭ygame.Rect(0,0,660,909)#定义屏幕大小FRAME_PER_SEC=60#帧率CREATE_ENEMY_EVENT=pygame.USEREVENT#创建敌机的定时器HERO_FIRE_EVENT=pygame.USEREVENT+1#英雄发射子弹class GameSprite (pygame.sprite.Sprite): def __init__(self,image_name,speed=1,speed1=1): super().__init__() #定义对象的属性 self.image = pygame.image.load(image_name) self.rect = self.image.get_rect() self.speed = speed self.speed1 = speed1 def update(self): self.rect.y += self.speed #在屏幕的垂直方向上移动class Background(GameSprite): def __init__(self,is_alt=False): super().__init__("./ditu.jpg")#1.调用父类 if is_alt: self.rect.y=-self.rect.height def update(self): #1.调用父类的方法实现 super().update() if self.rect.y>=SCREEN_RECT.height: self.rect.y=-self.rect.heightclass Enemy(GameSprite): def __init__(self): #1.调用父类方法,创建敌机精灵 if random.random()<0.21: super().__init__("./zfeiji.png") elif random.random()>0.81: super().__init__("./l1feiji.png") elif random.random()>0.21 and random.random()<0.4 : super().__init__("./diji1.png") else: super().__init__("./h1feiji.png") self.speed=random.randint(2,6) self.rect.bottom=0 max_x=SCREEN_RECT.width-self.rect.width self.rect.x=random.randint(0,max_x) pass def update(self): super().update() if self.rect.y>=SCREEN_RECT.height: self.kill() def __del__(self): passclass Hero(GameSprite): def __init__(self): super().__init__("./hongfeiji.png",0) self.rect.centerx=SCREEN_RECT.centerx self.rect.bottom=SCREEN_RECT.bottom-50 self.bullets=pygame.sprite.Group() def update(self): #英雄在水平方向移动 self.rect.x += self.speed self.rect.y += self.speed1 #控制英雄不能离开屏幕 if self.rect.x<0: self.rect.x=0 elif self.rect.right>SCREEN_RECT.right: self.rect.right=SCREEN_RECT.right elif self.rect.y>800: self.rect.y=800 elif self.rect.y<SCREEN_RECT.top: self.rect.y=SCREEN_RECT.top def fire(self): keys_pressed=pygame.key.get_pressed() if keys_pressed[pygame.K_SPACE]: pygame.mixer.music.load("./5823.mp3") pygame.mixer.music.play() for i in range(-0,1): #1.创建子弹精灵 bullet=BUllet() bullet.rect.bottom=self.rect.y #bullet.rect.bottom = self.rect.y - i * 20 bullet.rect.centerx=self.rect.centerx+i*20 self.bullets.add(bullet)class BUllet(GameSprite): def __init__(self): super().__init__("./zidan.png",-4) def update(self): super().update() #判断子弹是否飞出屏幕 if self.rect.bottom<0: self.kill() def __del__(self): pass

python飞机大战添加音效和计分源代码python飞机大战添加音效和计分源代码

6、最后,将py文件、音效文件MP3、图片png、字体文件放在同一个文件夹中,运行游戏zcx.py即可。

python飞机大战添加音效和计分源代码
猜你喜欢