金持ちの探し回る人
■辺境の森林(無料33番目)
このレベルでは、if/elif、集めること、戦うことの練習が出来る
【以下回答】
// ifとelif(else if)を使ってどの状況にも対応出来るようにしよう
// 習ったことを全部合わせて、敵を倒したりコインを拾ったりしよう!
// アイテムショップから強い鎧、盾などを事前に買おう!400以上のHPがあれば安心
while(true) {
var flag = hero.findFlag();
var enemy = hero.findNearestEnemy();
var item = hero.findNearestItem();
if (flag) {
// 旗を見つけたら、どうすればいい?
hero.pickUpFlag(flag);
}
else if (enemy) {
// 敵を見つけたら、どうすればいい?
hero.attack(enemy);
}
else if (item) {
// アイテムを見つけたら、どうすればいい?
hero.moveXY(item.pos.x, item.pos.y);
}
}
アイテムを見つけたら~というのが私は少し苦手です。
「アイテムを取る」という動作は、アイテムのもとに行く、というよりPicktとかAttackを使いたくなるので、それをコードに反映させてしまいます。
ということはどうなるかといいますと、アイテムの(大抵は)コインに攻撃してます(笑
アイテムに移動というのがitem.pos.x/yでいいのかわからないけど、とりあえず簡易的に使ってみました。これで動いたからいいけれども。
もしかしたら実際は、var itemPos =~という感じに3行書いてからでなくてはいけないのかもしれませんが……
てかHPが400以上ってのにビビっていたのですが、敵まったく出てこなくないか……??