CodeCombat C++

第7关 - 第9关:战斗与字符串

核心概念:字符串 (String)
名字是文本,在 C++ 中必须包在双引号 "Name" 里。
注意: 大小写必须完全正确!
新动作:攻击 (Attack)
hero.attack("EnemyName");
注意:基础剑需要砍 2 下才能消灭一个小怪!
No.7

第7关 真名实姓

关卡思路

我们终于可以反击了!但是,要攻击敌人,你必须知道他们的名字。

"Brak"
需要攻击 2 次
"Treg"
需要攻击 2 次

C++ 规则

  • 名字必须加双引号:"Brak"
  • 每行结束加分号:;
  • 大小写敏感:"brak" 是无效的!
solution.cpp
1
int main() {
2
hero.moveRight();
接近敌人。
3
hero.attack("Brak");
第1击:攻击Brak。
4
hero.attack("Brak");
第2击:必须打两下才能消灭。
5
hero.moveRight();
向右找下一个敌人。
6
hero.attack("Treg");
第1击:攻击Treg。
7
hero.attack("Treg");
第2击:消灭Treg。
8
return 0;
9
}
No.7a

第7a关 机会有利

关卡思路

两个食人魔 Krug 和 Grump 挡住了路。

这一关的地图有点绕。你需要先打败第一个,然后走位绕过墙壁,去打第二个。

战术: 靠近 -> 打两下 -> 走位 -> 打两下 -> 逃跑。

solution.cpp
1
int main() {
2
hero.moveRight();
接近 Krug。
3
hero.attack("Krug");
攻击 Krug x1。
4
hero.attack("Krug");
攻击 Krug x2。
5
hero.moveRight();
走位。
6
hero.moveUp();
接近 Grump。
7
hero.attack("Grump");
攻击 Grump x1。
8
hero.attack("Grump");
攻击 Grump x2。
9
hero.moveLeft();
向左逃。
10
hero.moveLeft();
撤离。
11
return 0;
12
}
No.7b

第7b关 高举之剑

关卡思路

这一次我们要面对三个敌人!
他们排队冲过来了,不要慌,站在原地一个一个解决。

Rig -> 攻击 x2
Gurt -> 攻击 x2
Ack -> 攻击 x2
solution.cpp
1
int main() {
2
hero.attack("Rig");
Rig 靠近了,打他!
3
hero.attack("Rig");
Rig 倒下。
4
hero.attack("Gurt");
Gurt 过来了,打他!
5
hero.attack("Gurt");
Gurt 倒下。
6
hero.attack("Ack");
最后是 Ack。
7
hero.attack("Ack");
全部解决!
8
return 0;
9
}
No.8

第8关 概念挑战:危险脚步

关卡思路

这是一个复习关卡。你需要击败两对食人魔(共4个)。

  • 第一对:Sog 和 Gos
  • 中间有一段路要走 (使用 moveRight(2);)
  • 第二对:Kro 和 Ergo

考验你对字符串输入准确性的耐心。

solution.cpp
1
int main() {
2
hero.moveRight();
走近第一组敌人。
3
hero.attack("Sog");
攻击 Sog。
4
hero.attack("Sog");
消灭 Sog。
5
hero.attack("Gos");
攻击 Gos。
6
hero.attack("Gos");
消灭 Gos。
7
hero.moveRight(2);
大步跨越到第二区。
8
hero.attack("Kro");
攻击 Kro。
9
hero.attack("Kro");
消灭 Kro。
10
hero.attack("Ergo");
攻击 Ergo。
11
hero.attack("Ergo");
消灭 Ergo。
12
return 0;
13
}
No.9

第9关 组合挑战:睡眠时刻

关卡思路

这是一个大综合关卡! 你需要用到目前为止学过的所有知识。

  • 移动: 上下左右
  • 参数: moveRight(2)
  • 攻击: attack("Name")
任务: 打败 Ursa, Rexxar, Brack,最后到达红色 X 处。
solution.cpp
1
int main() {
2
hero.moveRight(2);
快速接近 Ursa。
3
hero.attack("Ursa");
攻击 Ursa x1。
4
hero.attack("Ursa");
攻击 Ursa x2。
5
hero.moveDown();
调整位置。
6
hero.moveLeft(2);
左移2格找 Rexxar。
7
hero.moveUp(2);
上移2格。
8
hero.attack("Rexxar");
攻击 Rexxar x1。
9
hero.attack("Rexxar");
攻击 Rexxar x2。
10
hero.moveRight();
接近 Brack。
11
hero.attack("Brack");
攻击 Brack x1。
12
hero.attack("Brack");
攻击 Brack x2。
13
hero.moveRight(2);
大跨步逃生!
14
return 0;
15
}