🛡️

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

扣哒世界 · 计算机科学入门 · C++ 第9-16关 核心知识点

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

这次冒险学什么?

扣哒世界 · 计算机科学入门 · 第9–16关

C++ · 本节课关卡

09 · 组合挑战. 睡眠时刻

综合运用参数、名字和顺序

10 · 字间求真

从注释里寻找线索

11 · 指点迷津

阅读提示,用 say 说出密码

12 · 并肩作战

按顺序完成移动和攻击

13 · 焰中舞动

用循环重复左右移动

14 · 闹鬼的迷宫

把重复路线放进循环体

15 · 再下一步

找出一组重复动作

16 · 概念挑战. 循环仓库

循环配合参数,减少重复语句

学习路线只列数字编号教学关;第9关在两组中作为衔接复习。

🏗️ 1. C++ 魔法框架

THE SKELETON

01

C++ 的三条铁律

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

int main() {

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

    return 0;
}

⚔️ 2. 组合挑战 (Combo)

第9关 · 组合挑战. 睡眠时刻

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. 字符串与密语

第10–12关 · 注释、提示与字符串

03

"双引号的秘密"

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

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

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

♾️ 4. while 循环初探

第13关 · 焰中舞动

04

永远重复的魔法

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

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

📦 5. 循环体与花括号

第14关 · 闹鬼的迷宫

05

C++ 的“包裹”规则

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

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

第15关 · 再下一步

扣哒世界 · 计算机科学入门 · 第9–16关

C++ · 知识讲解

🔎 找到一组动作

把重复路线看成一组:向右两步,再向下一步。

右 → 右 → 下 ↻

🔁 放入循环体

花括号包住这组动作;移动语句末尾加分号。

while (true) {
    hero.moveRight(2);
    hero.moveDown();
}

代码片段写在关卡提供的 int main() 框架中。

🏆 7. 最终挑战

第16关 · 概念挑战. 循环仓库

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":名字要加双引号

第10–12关 · 会读线索的小侦探

扣哒世界 · 计算机科学入门 · 第9–16关

C++ · 知识讲解
读注释 📝 → 查提示 🔍 → 说密语 💬

📝 第10关:字间求真

注释不执行,但能提供线索。先读懂提示,再决定行动。

// 这是一条注释

💬 第11–12关:提示与配合

指点迷津:翻阅提示,用 say 说出密码。并肩作战:按地图顺序移动和攻击。

hero.say("Hush");
hero.attack("Two");

示例展示方法用法;完整行动顺序要结合当前关卡地图。

我的知识宝藏 · 一页复习

扣哒世界 · 计算机科学入门 · 第9–16关

C++ · 知识点图

⚔️ 组合运用 · 第9关

参数控制步数,带引号的名字指定目标,动作顺序要正确。

hero.moveRight(2);

📝 注释 · 第10关

阅读注释找线索;注释本身不会执行。

// 给人看的提示

💬 提示与字符串 · 第11–12关

查提示,注意密码和名字的拼写。

hero.say("Hush");

🔁 循环 · 第13关

把需要重复的动作写一次,由循环反复执行。

左右移动 → 左右移动 ↻

✅ 无限循环

true 必须小写。

while (true) { … }

📦 循环体 · 第14关

用花括号划定循环体;缩进帮助阅读。

{ 动作1; 动作2; }

🧩 找规律 · 第15关

先确定完整的一组,再重复这一组。

右两步 → 下一步 ↻

⚡ 精简代码 · 第16关

循环配合参数;循环仓库要求不超过5条语句。

hero.moveUp(2);

🛑 循环外的代码

无限循环不结束时,后面的代码不会执行;需要先做的事放前面。

准备 → 无限循环 ↻

本节课关卡:9. 组合挑战. 睡眠时刻;10. 字间求真;11. 指点迷津;12. 并肩作战;13. 焰中舞动;14. 闹鬼的迷宫;15. 再下一步;16. 概念挑战. 循环仓库