EDIT: I ended up solving this myself…i’ll leave this up in case anyone runs into the same issue.
Explanation in comments.
I am working on “Stranded in the Dunes” right now. Before I give up and watch the video tut, I thought I would post here and try to get some insight.
I am setting up my code for a mix of flag movement and AI. It works fine leaving the starting area, but as soon as I move to the next area, my hero just starts walking indiscriminately to the right, until he hits the edge (ignoring any flags I put down) AND THEN he starts attacking the horde of skeletons following him until he inevitably dies.
In addition I keep getting the error, “Unhandled error: TypeError: Cannot read property ‘length’ of undefined” but nothing in the code suggests a problem (not even flashing red). I have a feeling it has something to do with my ifs vs elifs (still working on grasping that concept fully), but I really don’t know.
Here is my full code so far:
while True: enemy = hero.findNearestEnemy() move = hero.findFlag("green") bash = hero.findFlag("black") if move: hero.moveXY(move.pos.x, move.pos.y) hero.pickUpFlag(move) elif bash: hero.moveXY(bash.pos.x, bash.pos.y) if hero.isReady("bash"): hero.bash(enemy) hero.pickUpFlag(bash) elif enemy: if enemy.type == "sand-yak" and enemy.pos.y > hero.pos.y: hero.moveXY(hero.pos.x, hero.pos.y - 1) elif enemy.type == "sand-yak" and enemy.pos.y < hero.pos.y: hero.moveXY(hero.pos.x, hero.pos.y + 1) elif enemy.type != "sand-yak": hero.attack(enemy)
As you can see the only AI movement I put in was to automatically avoid the stampedes of yaks. Other than that it should be solely based on green flags.
Thanks in advance and sorry for my noobiness