飞船添加ship剩余数量

这里需要改的文件都有 ship.py scoreboard.py game.functions.py 还有主文件aline_invasion.py.

先添加 scoreboard.py

先在头部导入ship

from ship import Ship

然后再调用下面要写的一个函数,这个在__init__(self)添加.

self.prep_ships()

现在写prep_ships()

def prep_ships(self):
    """剩余飞船数量"""
    self.ships = Group()
    for ship_number in range(self.stats.ships_left):
    ship = Ship(self.ai_settings,self.screen)
    ship.rect.x = 10+ ship_number * ship.rect.width
    ship.rect.y = 10
    self.ships.add(ship)

然后再show_score()函数里面添加绘制.

self.ships.draw(self.screen)

把飞船绘制在窗口上之后下面就是各种调用这个.game.functions.py里面调用

check_playbutton()的重置计分那里下面添加.

#重置计分
        sd.prep_score()
        sd.prep_high_score()
        sd.prep_level()
        sd.prep_ships()  #这里是添加的调用

ship_hit()添加sd参数

if stats.ships_left > 0: 
        #将ship_left-1
        stats.ships_left -= 1
        #更新计分(新添加的调用)
        sd.prep_ships()

在if之后添加完成后再更新外星人那里在添加sd参数调用

update_aliens()   ship_hit() check_aliens_bottom() 都要添加sd参数 因为第一个和第三个 都有嗲用ship_hit()函数。最后在主文件更新,update_alines里面也加添sd参数。这下全部搞定了。

最后这个属于半成品。剩余飞船数的图片太大了,添加一个新的飞船函数去调用它就行。其他bug好像右边移动的时候窗口绘制有问题哪天也修一下。就这样吧。继续学习别的在做笔记。

标签

发表评论

评论列表(20)