🛡️

C++ 进阶:循环与魔法语法

CodeCombat 第9-16关 核心知识点

📜 字符串
🔁 循环魔法
🏗️ C++ 结构

🏗️ 1. C++ 魔法框架

THE SKELETON

01

C++ 的三条铁律

1. 大门:所有代码都要写在 int main() { ... } 里面。
2. 分号:每行命令结束必须加 ; (像句号一样)。
3. 注释:用 // 来写给自己看的笔记。

int main() {

    // 这是一个注释
    hero.moveRight(); ← 分号!
    hero.say("Hello");

    return 0;
}

⚔️ 2. 组合挑战 (Combo)

LEVEL 9: SLEEPING ON THE JOB

02

综合运用

这一关需要用到之前学过的所有本领:
1. 移动参数moveRight(2)
2. 攻击字符串attack("Name")
3. 顺序执行:一步步解决敌人。

int main() {
    hero.moveRight(2);
    hero.attack("Ursa");
    hero.attack("Ursa");
    hero.moveLeft(2);
    hero.attack("Rexxar");
    return 0;
}

💬 3. 字符串与密语

LEVEL 10-12: STRINGS & COMMENTS

03

"双引号的秘密"

字符串(String):在 C++ 中,文字必须用双引号 " " 包起来。
例如密码 "Achoo" 或敌人名字 "Two"

注释(Comment):用 // 开头。这是给程序员看的提示,计算机会忽略它。

int main() {
    // 这是一个注释提示
    hero.say("Achoo");
    // 名字也是字符串
    hero.attack("Two");
    hero.attack("Two");
    return 0;
}

♾️ 4. while 循环初探

LEVEL 13: FIRE DANCING

04

永远重复的魔法

Loop (循环) 让你不用重复写代码。
while(true) 是一个无限循环。只要括号里是 true(真),里面的代码就会永远执行下去。
适合用来躲避一直发射的火球!

int main() {
    // 这是一个死循环
    while(true) {
        hero.moveRight();
        // 记得加分号!
        hero.moveLeft();
    }
    return 0;
}

📦 5. 循环体与花括号

LEVEL 14: HAUNTED MAZE

05

C++ 的“包裹”规则

在 Python 中我们用缩进,但在 C++ 中,我们用花括号 { } 来包裹要重复的代码。
{ } 包起来的部分叫做循环体
一定要确保命令写在花括号里面!

while(true) {
// --- 循环体开始 ---
hero.moveRight();
hero.moveRight();
hero.moveUp();
// --- 循环体结束 ---
}

🔄 6. 寻找循环模式

LEVEL 15: KITHMAZE

06

找规律

迷宫通常有重复的结构。
不要写几百行代码!观察英雄的路线:
"右 -> 下 -> 右 -> 上"
如果这段路一直在重复,就把它放进 while(true) {} 里。

while(true) {
    // 重复的路线模式
    hero.moveRight();
    hero.moveDown();
    hero.moveRight(2);
    hero.moveUp();
}

🏆 7. 最终挑战

LEVEL 16: CUPBOARDS OF KITHGARD

07

代码行数挑战

这一关要求代码不能超过 5 条语句
这强制我们必须使用循环。
如果你发现自己在重复写 moveUp, moveRight... 停下来,把它们放进循环里!

int main() {
    while(true) {
        hero.moveUp(2);
        hero.moveRight(2);
        hero.moveDown();
        hero.moveLeft();
    }
    return 0;
}
🎓

恭喜你掌握了 C++ 循环!

🏗️ main():程序的入口
♾️ while(true):无限循环
📦 { }:包裹循环体的花括号
🛑 ;:别忘了分号!
💬 "String":名字要加双引号