Play Home Contribute Github Join Us! Discourse Staff Members Github Contribution Guides Team

請教 不知道哪裏錯了?就是不運行

#24

@Chaboi_3000 indentation doesn’t matter… i had extra indentation before and the level still worked.
Less than necessary indentation is bad though.
I think the problem is this:
after the if section loop:
you need to add an else statement and put the moveXY inside it
like this:

else:
    hero.moveXY(x, y) <-- put coords in
#26

Or put the hero.moveXY(x,y) code in the if statement.

#28


not move:rofl:

#29


not move

#30

hit backspace once before the else:
actually, lemme just type up the level and paste in your code and edit it.
This is way to frustrating

1 Like
#31

ok i got it fixed. I’ll message you the solution, since this is an easy level, and you have shown your efforts. @Chaboi_3000 am i allowed to share the solution?

1 Like
#32

No(must 20 characters)

1 Like
#33

I can not think of any other way to finish this level.

#34

@Chaboi_3000 we’re literally telling him what changes to make in his code so he can pass the level though… what’s the difference?

#35

你的缩进是对的。
然而你在打食人魔这里错了。
while循环代替for循环时,由于for循环是遍历所有的对象的(无论对不对这个对象做什么事情),所以,while循环里的index属性也得遍历所有的对象 就像这样:
while(index < length):
somestatements
index+=1 (这里是让Index自增而遍历所有对象)
所以 通关代码应该是这样:
while True:
(定义enemies与enemyIndex)
while enemyIndex < len(enemies):
(定义enemy并攻击)
enemyIndex+=1
pass
(移动回中央)

#36

附:缩进你自己来吧(我来凑成20个字我来凑成20个字)

#37

Step by step really teaches while giving the code out will be the same as cheating.

#38

fine… but we gotta teach him why to do this or that though… and we didn’t… and life’s hard :frowning:

#39

Can you post your code here so I can copy and paste in and see whats wrong? There I can help. :slightly_smiling_face:

#40

while True:
enemies = hero.findEnemies()
enemyIndex = 0
# 将攻击逻辑放到 while 循环里来攻击所有的敌人。
# Find the array’s length with: len(enemies)
if enemyIndex < len(enemies):
enemy = enemies[enemyIndex]
# “!=” 意思是 "不等于"
if enemy.type != “sand-yak”:
# 当敌人的健康值大于0,攻击它!
if enemy.health > 0:
hero.attack(enemy)
else:
hero.moveXY(42,32)
pass

    # 在两波敌人之间,移动回中央。
#41

I accept"step by step".but how to "step by step"
So far ,I still don’t understand why hero doesn’t move?

#42

怎樣定義enemy?
我好像衹做了攻擊了

#43

Can you format your code according to the FAQ?

discourse.codecombat.com/faq

#44

my english is not too good.so i no to test it.:sweat_smile:

#46

有两种办法 一种是直接用hero.findNearestEnemy()方法 另外一种是用hero.findNearest(hero.findEnemies()) 没记错的话 第二种是老版本使用的