Python 植物大战僵尸游戏【含Python源码 MX_012期】

简介:

"植物大战僵尸"(Plants vs. Zombies)是一款由PopCap Games开发的流行塔防游戏,最初于2009年发布。游戏的概念是在僵尸入侵的情境下,玩家通过种植不同种类的植物来保护他们的房屋免受僵尸的侵袭。在游戏中,玩家需要通过收集阳光资源来种植植物,这些植物各有不同的特点和技能,比如射击、炸弹、冰冻等,以应对不同类型的僵尸。游戏通常分为多个关卡,每个关卡都有不同的地图和僵尸类型,玩家需要在每个关卡中选择合适的植物来应对不同的挑战。

界面图:

部分代码:

python 复制代码
#5 向日葵类
class Sunflower(Plant):
    def __init__(self,x,y):
        super(Sunflower, self).__init__()
        self.image = pygame.image.load('imgs/sunflower.png')
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
        self.price = 50
        self.hp = 100
        #5 时间计数器
        self.time_count = 0

    #5 新增功能:生成阳光
    def produce_money(self):
        self.time_count += 1
        if self.time_count == 25:
            MainGame.money += 5
            self.time_count = 0
    #5 向日葵加入到窗口中
    def display_sunflower(self):
        MainGame.window.blit(self.image,self.rect)
#6 豌豆射手类
class PeaShooter(Plant):
    def __init__(self,x,y):
        super(PeaShooter, self).__init__()
        # self.image 为一个 surface
        self.image = pygame.image.load('imgs/peashooter.png')
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
        self.price = 50
        self.hp = 200
        #6 发射计数器
        self.shot_count = 0

    #6 增加射击方法
    def shot(self):
        #6 记录是否应该射击
        should_fire = False
        for zombie in MainGame.zombie_list:
            if zombie.rect.y == self.rect.y and zombie.rect.x < 800 and zombie.rect.x > self.rect.x:
                should_fire = True
        #6 如果活着
        if self.live and should_fire:
            self.shot_count += 1
            #6 计数器到25发射一次
            if self.shot_count == 25:
                #6 基于当前豌豆射手的位置,创建子弹
                peabullet = PeaBullet(self)
                #6 将子弹存储到子弹列表中
                MainGame.peabullet_list.append(peabullet)
                self.shot_count = 0

完整代码:Python 植物大战僵尸游戏

相关推荐
土丁爱吃大米饭2 小时前
千年游戏智慧:文化的密码
游戏·游戏设计·古代游戏·游戏中的文化·游戏文化
2501_9181269115 小时前
使用HTML和Python开发街霸游戏
python·游戏·html
AA陈超1 天前
虚幻引擎UE5专用服务器游戏开发-33 在上半身播放组合蒙太奇
c++·游戏·ue5·游戏引擎·虚幻
AA陈超1 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-05 游戏效果委托
c++·游戏·ue5·游戏引擎·虚幻
m0_552200821 天前
《UE5_C++多人TPS完整教程》学习笔记62 ——《P63 多人游戏中的开火特效(Fire Effects in Multiplayer)》
c++·游戏·ue5
软希网分享源码1 天前
游戏攻略新闻资讯主题模板源码 YK一点资讯模版 Zblog主题模版(源码下载)
游戏·游戏攻略新闻资讯主题模板源码
大Mod_abfun1 天前
Unity游戏基础-5(一些细节)
游戏·unity·游戏引擎
AA陈超2 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P04-12 可缩放浮点数的曲线表
c++·游戏·ue5·游戏引擎·虚幻
苏打水com2 天前
网易前端业务:内容生态与游戏场景下的「沉浸式体验」与「性能优化」实践
前端·游戏·性能优化
锦***林2 天前
OpenSpeedy官网下载 - 百度网盘加速器,开箱即用的游戏变速器
游戏·生活·娱乐