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

英雄属性面板

Hero Properties

❤️ 生命
⏰ 时间
💰 财富
❤️

生命值 (Health)

hero.health:当前的生命值。
hero.maxHealth:满血时的生命值(杯子容量)。

# 如果血量少于 1/3
if hero.health < hero.maxHealth / 3:
  hero.say("治疗!")
"像看血条一样,变红了就该跑了!"
100%

时间属性 (Time)

hero.time:游戏时钟,从 0 开始一直走。

if hero.time < 10:
  # 前10秒:攻击
elif hero.time < 35:
  # 10-35秒:收集
else:
  # 35秒后:决战

像课程表一样,不同时间做不同的事。

0
15
30
45
Phase: Attack
💰

价值 (Value) & 金币 (Gold)

  • 🏷️ item.value:物品值多少钱。
    (金币=1, 宝石=10)
  • 👛 hero.gold:你钱包里有多少钱。
# 累加价值
totalGold += coin.value

# 检查钱包
if hero.gold >= 25:
  build("decoy")
🐷
Total: 0

点击存钱罐

🛡️

实战 I:智能战术

根据敌人强弱决定战术。

if enemy.health > enemy.maxHealth / 3:
  attack(enemy) # 血多就打
else:
  moveXY(35, 16) # 血少(发狂?)撤退
百分比计算:
maxHealth / 3 = 33% 的血量。
👹
> 33% : ⚔️ Attack
🏗️

实战 II:建筑大师

存钱造东西,造够了就停。

built = 0
while True:
  # ... 收集金币 ...
  if hero.gold >= 25:
    buildXY("decoy", ...)
    built += 1
  if built == 4:
    break # 停止
🧠

编程思维:状态机

if/elif/else + time 可以制作简单的状态机 (State Machine)

  • 🟢 状态 1:收集模式 (0-10s)
  • 🔴 状态 2:攻击模式 (10-30s)
  • 🔵 状态 3:逃跑模式 (>30s)

行为随时间自动切换,就像自动售货机一样!

🤖
Mode: AUTO
📜

大师秘籍

"health 是红线,低了就危险。
maxHealth 是上限,比例算一算。"
"time 像闹钟,分段做任务。
gold 像钱包,存够买东西。"
🌟