🛡️⚔️

CodeCombat C++ 攻略

第1-5关:坐标、建造与循环

C++ 基础语法
笛卡尔坐标系

📍 笛卡尔坐标 (Cartesian Coordinates)

在 CodeCombat 的世界里,地图就像一张巨大的数学图表。

  • 👉 X轴 (Horizontal):控制左右移动。数字越大,越往
  • 👆 Y轴 (Vertical):控制上下移动。数字越大,越往
💡 提示: 把鼠标悬停在地图上的任意位置,就能看到它的 (x, y) 坐标!
// C++ 中的注释以双斜杠开头 int x = 0; // 原点 X int y = 0; // 原点 Y
(0,0)
X ➡
⬆ Y
目标 (x, y)

🏃 基础移动:moveXY

第2, 3, 5关

要让英雄移动,我们需要使用 C++ 的方法调用。

函数: hero.moveXY(x, y)

  • x: 目标点的水平位置。
  • y: 目标点的垂直位置。
// 示例:第5关 宝石果子 int main() { // 移动到宝石的位置 hero.moveXY(8, 48); hero.moveXY(12, 26); // 最后移动到红色 X 标记 hero.moveXY(74, 34); return 0; }
⚠️ C++ 重要规则: 每行代码结束必须加分号 ;
💎
💎
🦸

🔨 建造防御:buildXY

第1关:平原森林保卫战

在第一关中,我们需要建造围栏来保护村庄。

函数: hero.buildXY("type", x, y)

  • "type": 建造的类型。必须加双引号
    例如: "fence" (围栏) 或 "fire-trap" (火焰陷阱)。
// 第1关:在标记上建造围栏 int main() { // 鼠标悬停地图查看坐标 hero.buildXY("fence", 40, 53); hero.buildXY("fence", 40, 21); return 0; }
📝 字符串: 在 C++ 中,文本必须被双引号包围,如 "fence"
🚧
(40, 21)
🚧
(40, 53)
👹
🏡

🔄 永恒的循环:while(true)

第4关:森林逃避

有时候我们需要英雄不停地做某件事(例如巡逻),这时就需要用到循环

结构: while(true) { ... }

这叫做“无限循环”。只要条件是 true(永远是),大括号 {} 里的代码就会一遍又一遍地执行。

// 第4关:在树林间来回移动躲避猎头者 int main() { while(true) { hero.moveXY(56, 44); hero.moveXY(40, 56); hero.moveXY(24, 44); // 英雄会一直重复这几步 } return 0; }
🦸

📚 C++ 语法小贴士

1. 必须有的主函数

所有 C++ 程序都从 int main() { ... } 开始运行。你的代码要写在大括号里面。

2. 别忘了分号 ;

就像写文章要用句号一样,C++ 的每一句指令后面都要加分号!
hero.moveXY(10, 20);

3. 参数与括号

函数需要用圆括号 () 包裹参数,多个参数用逗号 , 分隔。
buildXY("fence", 40, 20) 有三个参数。

常见错误 ❌

hero.moveXY(30, 30) // 缺少分号! hero.buildXY('fence') // 单引号错误!应为 "fence" hero.moveXY 30, 30 // 缺少括号!