python及pygame雷霆战机游戏项目实战13 子弹增强

简介: python及pygame雷霆战机游戏项目实战13 子弹增强

项目详细介绍


项目详细介绍

在这个系列中,将制作一个雷霆战机游戏。


image.png


火力加强


创建了一个Pow精灵,当敌机被摧毁时会从流星中随机掉落奖励道具。完成了加血工作,现在需要对'gun'类型做同样的事情。

火力加强的效果为:玩家发射出更多的子弹,定义一个新的Player方法powerup,并在获得'gun'类型道具奖励时调用它:

if hit.type == 'gun':
        player.powerup()

为了使这个工作,首先让为Player精灵添加一些新的属性:self.power (每获得一个子弹增强道具,使其加1),power_time以便可以在经过一定时间后退回(减1):

self.power = 1
    self.power_time = pygame.time.get_ticks()

powerup方法将设置这些属性:

def powerup(self):
    self.power += 1
    self.power_time = pygame.time.get_ticks()

现在可以改变shoot方法,当power大于1 时产生2个子弹。将在两翼产生它们。

def shoot(self):
    now = pygame.time.get_ticks()
    if now - self.last_shot > self.shoot_delay:
        self.last_shot = now
        if self.power == 1:
            bullet = Bullet(self.rect.centerx, self.rect.top)
            all_sprites.add(bullet)
            bullets.add(bullet)
            shoot_sound.play()
        if self.power >= 2:
            bullet1 = Bullet(self.rect.left, self.rect.centery)
            bullet2 = Bullet(self.rect.right, self.rect.centery)
            all_sprites.add(bullet1)
            all_sprites.add(bullet2)
            bullets.add(bullet1)
            bullets.add(bullet2)
            shoot_sound.play()

最后,power_time时间过去后,减少 self.power的值:

# timeout for powerups
if self.power >= 2 and pygame.time.get_ticks() - self.power_time > POWERUP_TIME:
    self.power -= 1
    self.power_time = pygame.time.get_ticks()

不要忘记POWERUP_TIME在顶部设置为5000(5秒)。


image.png

下一次,将通过添加“游戏结束”屏幕来完成游戏。


项目源码及资源


获取地址

目录
相关文章
|
9天前
|
开发框架 Python
Python的`pygame`库用于2D游戏开发,涵盖图形、音频和输入处理。
【6月更文挑战第21天】Python的`pygame`库用于2D游戏开发,涵盖图形、音频和输入处理。要开始,先通过`pip install pygame`安装。基本流程包括:初始化窗口、处理事件循环、添加游戏元素(如玩家和敌人)、响应用户输入、更新游戏状态及结束条件。随着项目发展,可逐步增加复杂性。
20 1
|
14天前
|
机器学习/深度学习 人工智能 TensorFlow
机器学习项目实战:使用Python实现图像识别
在AI时代,Python借助TensorFlow和Keras实现图像识别,尤其在监控、驾驶、医疗等领域有广泛应用。本文通过构建CNN模型识别MNIST手写数字,展示图像识别流程:安装库→加载预处理数据→构建模型→训练→评估。简单项目为深度学习入门提供基础,为进一步探索复杂场景打下基础。
28 5
|
14天前
|
Shell Python
GitHub星标破千Star!Python游戏编程的初学者指南
Python 是一种高级程序设计语言,因其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。 目前的编程书籍大多分为两种类型。第一种,与其说是教编程的书,倒不如说是在教“游戏制作软件”,或教授使用一种呆板的语言,使得编程“简单”到不再是编程。而第二种,它们就像是教数学课一样教编程:所有的原理和概念都以小的应用程序的方式呈现给读者。
|
15天前
|
Python
【Python的魅力】:利用Pygame实现游戏坦克大战——含完整源码
【Python的魅力】:利用Pygame实现游戏坦克大战——含完整源码
|
2天前
|
索引 Python
技术好文共享:用Python的Pygame包做飞行棋
技术好文共享:用Python的Pygame包做飞行棋
|
15天前
|
Python
使用Pygame做一个乒乓球游戏(2)使用精灵重构
使用Pygame做一个乒乓球游戏(2)使用精灵重构
|
15天前
|
Python
使用Pygame做一个乒乓球游戏
使用Pygame做一个乒乓球游戏
|
16天前
|
机器学习/深度学习 传感器 人工智能
敢不敢和AI比猜拳?能赢算我输----基于手势识别的AI猜拳游戏【含python源码+PyqtUI界面+原理详解】-python手势识别 深度学习实战项目
敢不敢和AI比猜拳?能赢算我输----基于手势识别的AI猜拳游戏【含python源码+PyqtUI界面+原理详解】-python手势识别 深度学习实战项目
|
16天前
|
Shell Python
GitHub星标破千Star!Python游戏编程的初学者指南
Python 是一种高级程序设计语言,因其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。 目前的编程书籍大多分为两种类型。第一种,与其说是教编程的书,倒不如说是在教“游戏制作软件”,或教授使用一种呆板的语言,使得编程“简单”到不再是编程。而第二种,它们就像是教数学课一样教编程:所有的原理和概念都以小的应用程序的方式呈现给读者。
|
1月前
|
存储 人工智能 算法
使用 Python 和 Pygame 制作游戏:第九章到第十章
使用 Python 和 Pygame 制作游戏:第九章到第十章
63 0
使用 Python 和 Pygame 制作游戏:第九章到第十章