沙漠 公平战斗 (Fair Battle) 这一关有bug吗?求助


#1

这一关最开始的时候人类士兵的总血量就比兽人多啊 (1800 vs 1080)?
而且开始攻击后,就连一个兽人士兵都杀不死, 如果不是bug的话各位大神能否帮忙看一下是不是我的代码有问题, 谢谢:cold_sweat:

def sumHealth(units):
    totalHealth = 0
    unitsIndex = 0
    
    while unitsIndex < len(units):
        unit = units[unitsIndex]
        if unit.health > totalHealth:
            totalHealth += unit.health
        
        unitsIndex += 1
        
        return totalHealth

while True:
    friends = hero.findFriends()
    enemies = hero.findEnemies()
    # Get the total health of your soldiers and the ogres.
    soldierHealth = sumHealth(friends)
    ogreHealth = sumHealth(enemies)
    # Say "Attack" when your side has more total health.
    if soldierHealth != ogreHealth:
        if soldierHealth > ogreHealth:
            hero.say("Attack")
    pass

#2

你要拿攻击*生命算得类似于一种战斗力的东西比较


#3

谢谢帮助! :) 不过在另外一个朋友的指点下我好像发现问题了
之前的代码在算总血量的时候加了一个“IF” 逻辑,这样的话totalHealth 只会算最开始第一个士兵的200血量,之后的则不会叠加。 去掉了这个逻辑后我现在可以正常打过这一关啦

感谢回复,圣诞快乐zhumingshuai66!:star2::evergreen_tree: