设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9211|回复: 2
打印 上一主题 下一主题

pygame敌机增加方向的尝试

[复制链接]

3

主题

0

好友

47

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-11-23 15:56:00 |只看该作者 |倒序浏览
花了4个星期左右断断续续看完基础教程,接下来可能去看看crossin先生推荐的书籍。

上一贴敌机增加了血量,越快的敌机血量越少,感觉最后效果还不错。这次尝试增加横向移动,不过感觉最后效果一般。

*******************************************************************************************************************************
#敌机类
class Enemy:
    def __init__(self):
        self.image = pygame.image.load('enemy.png').convert_alpha()
        self.x = random.uniform(0,450 - self.image.get_width())
        self.y = -self.image.get_height()
        self.speed = random.random()
        # 此处增加了个功能,敌机状态用血量衡量
        # self.state = False
        self.blood = 0

       #横向改变间隔
        self.xinterval = 0

       #横向改变的方向
        self.xdirection = (-1)**random.randint(0,3
)

    def move(self):
        if self.blood > 0:
            if self.y < 850:
                self.y += self.speed
               
#本次增加的内容
                if self.xinterval % 20 == 0:#改变方向的频率
                    if not random.randint(0,30):#二十五分之一改变方向
                        self.xdirection = (-1)**random.randint(0,3)#随机产生左中右三个方向
                    self.x += 2*random.random()*self.xdirection#改变的速度
                self.xinterval +=1


            else:
                self.blood = 0
        else:
            self.y = -100

飞机.zip

1.53 KB, 下载次数: 1

完整代码

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-11-24 12:11:27 |只看该作者
挺好啊
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

3

主题

0

好友

47

积分

新手上路

Rank: 1

板凳
发表于 2018-11-25 19:10:28 |只看该作者
crossin先生 发表于 2018-11-24 12:11
挺好啊

谢谢先生
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-20 23:32 , Processed in 0.018144 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部