🗺️ 计算机科学 4
Loading...
🏹 🌲 👾

练习 For 循环:狩猎派对

Hunting Party

你不仅是指挥官,还是战术家!
学会同时指挥整支队伍移动和攻击!

一、任务:指挥小队

🎯 目标

你要带领一队弓箭手穿越森林。

  • 如果看到敌人 ➡️ 攻击!
  • 如果没有敌人 ➡️ 前进!

🤖 循环的作用

你不需要对每个士兵喊话。

for 循环,一次命令所有人!

// 1. 获取所有朋友
auto friends = hero.findFriends();

// 2. 对每一个朋友下令
for(int i=0; i < friends.size(); i++) {
    auto friend = friends[i];
    
    // 这里写指挥逻辑...
}

二、小技巧:保持队形移动

🐌

为了不让队伍走散,我们要让他们慢慢走

不要直接走到终点,而是一步一步挪动。

坐标加法:
x + 0.35
每次只向右移动 0.35 米。
// 创建一个新的移动目标
auto moveTo = {
    "x": friend.pos.x + 0.35, 
    "y": friend.pos.y
};

// 命令朋友移动
hero.command(friend, "move", moveTo);

三、完整逻辑:狩猎派对

把刚才学到的拼起来!

while(true) {
    auto friends = hero.findFriends();
    
    // 🔄 遍历每一个朋友
    for(int i=0; i < friends.size(); i++) {
        auto friend = friends[i];
        
        // 👀 让朋友自己找敌人
        auto enemy = friend.findNearestEnemy();
        
        if(enemy) {
            // ⚔️ 看到敌人就打
            hero.command(friend, "attack", enemy);
        } 
        else {
            // 🚶 没有敌人就慢慢前进
            auto moveTo = {friend.pos.x + 0.35, friend.pos.y};
            hero.command(friend, "move", moveTo);
        }
    }
}

🎓 恭喜通关!

本关复习了:

  • For 循环for(int i=0; i
  • 数组访问friends[i]
  • 指挥命令hero.command()
  • 字典移动{x+0.35, y}
🌟

你已经是一个合格的小队长了!
继续前进!