❤️
100
💰 0
计算机科学 3 | 第 56-66 关
📊

英雄属性与流程控制

Properties & Control Flow

❤️ 生命
⏰ 时间
💰 财富
🪄

定义函数 (Define Function)

[Image of code encapsulation diagram]

将重复的动作打包成一个函数,让代码更整洁。

使用 void 定义一个不返回值的动作函数。

// 定义向右移动的函数 void moveRight() { float x = hero.pos.x + 12; float y = hero.pos.y; hero.moveXY(x, y); } int main() { moveRight(); // 直接调用! return 0; }
📦
Package Code
❤️

生命值 (Health)

hero.health:当前的生命值。
hero.maxHealth:满血时的生命值上限。

// 计算半血阈值 float limit = hero.maxHealth / 2; // 如果受伤严重 if (hero.health < limit) { hero.say("Heal me!"); } else { hero.attack(enemy); }
"像看血条一样,变红了就该跑去治疗了!"
100%

时间属性 (Time)

[Image of timeline Gantt chart]

hero.time:游戏开始后经过的秒数。

// 使用 else if 分阶段行动 if (hero.time < 10) { // 前10秒:全力攻击 hero.attack(enemy); } else if (hero.time < 35) { // 10-35秒:收集资源 hero.moveXY(30, 40); } else { // 35秒后:最后决战 hero.attack("Boss"); }
0
15
30
45
Phase: Attack
💰

金币与跳出 (Gold & Break)

hero.gold:当前拥有的金币数。
item.value:地上金币的价值。

使用 break 可以随时跳出循环。

int totalGold = 0; while(true) { auto coin = hero.findNearestItem(); if (coin) { // 累加价值 totalGold += coin.value; hero.moveXY(coin.pos.x, coin.pos.y); } // 存够 25 金币就停手 if (totalGold >= 25) { break; // 跳出循环! } } hero.say("收工!");
🐷
Total: 0

点击存钱罐 (Break at 25)

📜

大师秘籍

"health 是红线,低了就危险。
maxHealth 是上限,比例算一算。"
"time 像闹钟,分段做任务。
break 是紧急出口,达成目标就撤退。"
🌟