Ayuda estoy 3 dias intentando superar este nivel aquí está mi código D:
excepE = ['tower']
dest = {'x': 78, 'y': 39}
done = False
def getPos(obj):
return obj.pos.x, obj.pos.y
def toPos(x, y):
return {'x': x, 'y': y}
def rushTo(xy):
if hero.isReady("jump"):
hero.jumpTo(xy)
hero.move(xy)
def exclude(units, exceps):
return [u for u in units if u.type not in exceps]
def farthest(enemies):
farthestD = 0
for enemy in enemies:
d = hero.distanceTo(enemy)
if d > farthestD and enemy.health > 0:
farthestD = d
farthest = enemy
return farthest
def nearby(enemies, dis):
return sum([hero.distanceTo(e) < dis for e in enemies])
def selfDying(self):
if self.health < self.maxHealth / 2:
hero.command(self, "move", {'x': self.pos.x - 1, 'y': self.pos.y})
def evade():
x, y = getPos(hero)
orbs = hero.findEnemyMissiles()
if len(orbs):
orb = hero.findNearest(orbs)
if hero.distanceTo(orb) < 3:
if y > 14:
hero.moveXY(x, y - 7)
else:
hero.moveXY(x, y + 7)
def lowHP():
friends = hero.findFriends()
lowest = 9999
dying = None
if len(friends):
for friend in friends:
hp = friend.health
if hp < friend.maxHealth / 3 and hp < lowest and hp > 0:
lowest = hp
dying = friend
return dying
def soldierAtk(soldier):
selfDying(soldier)
enemies = hero.findByType("ogre")
if not len(enemies):
enemy = soldier.findNearestEnemy()
else:
enemy = enemies[0]
if enemy:
hero.command(soldier, "attack", enemy)
else:
hero.command(soldier, "move", soldier.pos)
def archerAtk(archer):
enemies = hero.findByType("chieftain")
if not len(enemies):
enemy = archer.findNearestEnemy()
else:
enemy = enemies[0]
if enemy and archer.pos.x > 53 and archer.pos.y < 40:
hero.command(archer, "attack", enemy)
elif hero.time > 6:
hero.command(archer, "move", dest)
def riderAtk(rider):
enemies = hero.findByType("robot-walker")
if len(enemies):
hero.command(rider, "move", {'x': enemies[0].pos.x / 2 + enemies[1].pos.x / 2,
'y': enemies[0].pos.y / 2 + enemies[1].pos.y / 2})
def palaAtk(pala):
selfDying(pala)
dying = lowHP()
enemies = hero.findByType("witch")
if not len(enemies):
enemy = pala.findNearestEnemy()
else:
enemy = enemies[0]
if dying and pala.canCast('heal'):
hero.command(pala, "cast", 'heal', dying)
else:
hero.command(pala, "move", dest)
if pala.canCast('heal') and hero.health < 2 * hero.maxHealth / 3:
hero.command(pala, "cast", 'heal', hero)
if pala.pos == dest:
hero.command(pala, "shield")
def summon(soldier):
while hero.gold >= hero.costOf(soldier):
hero.summon(soldier)
def command():
for unit in hero.findFriends():
t = unit.type
if t == 'griffin-rider':
riderAtk(unit)
elif t == 'soldier':
soldierAtk(unit)
elif t == 'paladin':
palaAtk(unit)
elif t == 'archer':
archerAtk(unit)
def atk():
if hero.gold > hero.costOf('griffin-rider'):
hero.summon('griffin-rider')
command()
enemies = hero.findByType("robot-walker")
if len(enemies):
pass
else:
enemy = hero.findNearest([e for e in hero.findEnemies() if e.type not in ['ice-yak', 'cow']])
if enemy:
command()
if hero.canCast("chain-lightning", enemy) and hero.time > 7:
hero.cast("chain-lightning", enemy)
elif not len(enemies):
hero.move({'x': 78, 'y': 14})
return True
def run():
while True:
evade()
atk()
run()
AYUDA RÁPIDO
GRACIAS




Me temo que tendré que eliminar su código porque no lo ha escrito usted mismo. Es claramente de cierto lugar en Internet, que no mencionaré exactamente para que nadie más lo encuentre. Es una coincidencia exacta. Me encantaría ayudarte con tu propio código, o incluso pensar en una estrategia para este nivel (sé que es muy difícil), pero no te ayudaré con el código que escribió otra persona. Gracias Danny
I’m afraid I will have to remove your code because you haven’t written it yourself. It is clearly from a certain place on the internet, which I won’t mentione exactly so no-one else finds it. It is an exact match. I would love to help you with your own code, or even just thinking of a strategy for this level (I know it’s very hard), but I won’t help you with code that someone else wrote.