If you do not understand what I’m saying, you get away with it, not that it was a joke
my hero survives but can not find (Ice Yak)
Please learn to post your code properly.
To post your code from the game, use the </> button or it won’t format properly. When you click the </> button, the following will appear:
Please paste ALL of your code inside the triple back tick marks.
``` <— Triple back tick marks.
Paste ALL of your code in here.
``` <— Triple back tick marks.
There are many people here willing and able to help. If you use the </> button correctly, then ALL of your code should look like this:
while True:
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
else:
hero.say("My code is formatted properly")
If ALL of your code isn’t formatted like the code above, then you’re doing it wrong and we can’t see the structure of the code to troubleshoot whether or not that is the issue. Use the </> button and help us help you. This works when sending a private message as well.
Thank you.
ok
hero.moveXY(12, 6)
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(“Ice yak”)
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(“Ice Yak”)
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(“Ice yak”)
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 [‘chieftain’, ‘whitch’]])
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()
there is my code
-
The soldiers do nothing att all
-
The archers go towards the ogre with giant blades(chieftain)
-
And the paladin passes from (Ice Yak) and also from the witch (the one with the sticks in the head) and goes directly to the cross.
Okay, but you copied the code from here. Thus, the formatting is gone already. You have to copy it from the game.
I swear it is the same
Do I have to copy it again?
if you copied it from the game then you have some serious structural issues in your code. There are no indents and everything is aligned left. I do not believe that you could have made it this far in the game without knowing what proper structure and indents are.
You must highlight and copy the code in the game and then paste it here. It isn’t rocket science. It’s very easy. No one can help you unless we can see the structure and alignment of your code.
eeeeh is not
hero.moveXY(7 ,3)
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()
Epic, what part about not responding to dead posts unless you need help is not clear?