沙漠关卡 Stranded in the Dunes
codecombat吧
全部回复
仅看楼主
level 1
32250077 楼主
这关怎么过啊?我用旗子往右边走,发现敌人攻击,基本上都会被那个牛给撞死,想不打牛做不到,或者我的想法就错了,一堆英文也没有太看明白,求指导
2016年12月14日 09点12分 1
level 1
这是我的代码,
@32250077
loop:
enemy = hero.findNearestEnemy()
flagGreen = hero.findFlag("green")
flagBlack = hero.findFlag("black")
item = hero.findNearestItem()
if item and item.type == "potion": #血瓶最优先,boss战
hero.moveXY(item.pos.x, item.pos.y)
if flagBlack: # boss战插黑旗,只要黑旗存在,先杀光敌人再拔旗
hero.moveXY(flagBlack.pos.x, flagBlack.pos.y)
if enemy:
if hero.canCast("chain-lightning"):
hero.cast("chain-lightning", enemy)
else:
hero.attack(enemy)
else:
hero.pickUpFlag(flagBlack)
if flagGreen: #平时走路遇到障碍用绿旗
hero.moveXY(flagGreen.pos.x, flagGreen.pos.y)
hero.pickUpFlag(flagGreen)
if enemy: #遇到敌人
distanceEnemy = hero.distanceTo(enemy)
if enemy.type == "sand-yak": #敌人是沙牛就上下移动
if enemy.pos.y > hero.pos.y and enemy.pos.x > hero.pos.x:
hero.moveXY(hero.pos.x, hero.pos.y - 1)
elif enemy.pos.y < hero.pos.y and enemy.pos.x > hero.pos.x:
hero.moveXY(hero.pos.x, hero.pos.y + 1)
else: #敌人是其他就攻击
hero.attack(enemy)
else: 平时一直向右方移动,每次1格
x = hero.pos.x + 1
y = hero.pos.y
hero.moveXY(x, y)
2016年12月26日 12点12分 2
@32250077 哦,对了,我有个会放连环闪电的手套,攻击方式你可以自己改。这一关装备太差了不行
2016年12月26日 12点12分
level 1
擦!百度这排版……还是上图吧
上下2张图,加绿是分隔线
2016年12月26日 12点12分 3
distance是多余的,定义了但是最后没用到
2016年12月26日 12点12分
level 2
enemy.type 好像无法识别骷髅。不知道正确是什么词汇。
2018年06月19日 17点06分 4
1