植物大战僵尸8 #
- 游戏闯关设置
- 游戏结束触发
- 游戏结束界面
游戏闯关设置 #
本小节主要介绍了游戏闯关(进入下一级)的设置。在子弹类class PeaBullet()中添加函数nextLevel()
#class PeaBullet(pygame.sprite.Sprite): #7闯关方法 def nextLevel(self): MainGame.score += 20 MainGame.remnant_score -=20 for i in range(1,100): if MainGame.score==100*i and MainGame.remnant_score==0: MainGame.remnant_score=100*i MainGame.shaoguan+=1 MainGame.produce_zombie+=50
游戏结束触发 #
本小节主要介绍游戏结束的触发设置,包括游戏胜利触发进入下一level和游戏失败触发结束。
(1)游戏胜利触发进入下一level。在子弹类class PeaBullet()中hit_zombie()的函数中,
zombie.hp -= self.damage后面添加if判断语句。
#class PeaBullet(pygame.sprite.Sprite): #7 新增,子弹与僵尸的碰撞 def hit_zombie(self): #僵尸掉血 #zombie.hp -= self.damage if zombie.hp <= 0: zombie.live = False #当全部僵尸都死亡的时候触发 self.nextLevel()
(2)游戏失败触发结束。在僵尸类class Zombie()中的move_zombie()函数中,
elf.rect.x -= self.speed后添加if判断语句
class Zombie(pygame.sprite.Sprite): #9 僵尸的移动 def move_zombie(self): #self.rect.x -= self.speed if self.rect.x < -80: #当僵尸x坐标小于-80,即触发 #8 调用游戏结束方法 MainGame().gameOver()
游戏结束方法 #
本小节主要介绍了游戏结束方法。在主程序class MainGame()类中添加gameOver()函数
#1 主程序 #class MainGame(): # 程序结束方法 def gameOver(self): MainGame.window.blit(self.draw_text('游戏结束', 50, (255, 0, 0)), (300, 200)) pygame.time.wait(400) global GAMEOVER GAMEOVER = True
小结 #
本节主要介绍了植物大战游戏中游戏闯关设置,游戏结束的触发及方法