🐵指尖猴全新升级
第14课:分数与生命
🍬

分数与生命

分数和生命,都是会变的数字盒子

📖知识引入

📦变量=贴了标签的盒子
score(分数)、lives(生命)、time(时间)都是变量:盒子外面贴着名字,里面装着数字,随时可以取出来看、换成新的。
➕分数只会长个子
接到金币,执行 score = score + 10(简写 score += 10):旧值加上新奖励再存回去。分数就这样一口一口被喂大。
❤️生命负责扣
掉坑里 lives -= 1。关键一问:lives变成0了吗?是就触发游戏结束——判断生命值,是游戏里最重要的if之一。
📺HUD:把数字画上屏幕
左上角的分数、头顶的血条统称HUD(游戏信息显示)。规矩是:数字一变,屏幕立刻刷新——分数变了半天不显示,玩家会以为游戏坏了。
🎚️数值本身就是设计
接金币加10分还是100分?3条命还是5条命?这些数字直接决定爽感和难度。改一个数字=换一种手感,这就是「数值策划」的日常。
💡
改一个数字就能改手感——数值是看不见的游戏设计!

🔍数字盒子养成记

// 分数与生命:数字盒子实战
let score = 0;      // 分数盒子
let lives = 3;      // 生命盒子

// 接到金币时调用
function onCatchCoin() {
  score += 10;              // 喂大分数
  updateHUD();              // 刷新屏幕显示
  if (score >= 100) {
    winGame();              // 达到100分:胜利!
  }
}

// 金币落地时调用
function onMissCoin() {
  lives -= 1;              // 生命减一
  flashScreen('red');       // 红光提示
  if (lives <= 0) {         // 关键判断!
    gameOver();            // 生命归零:结束
  }
}

一局游戏里数字盒子的变化:

开场:
score = 0    ❤️❤️❤️ lives = 3
接到金币:
score = 0 + 10 = 10
(叮!HUD立刻显示10)
连续吃到5个金币:
score = 10+10+10+10+10 = 50
掉了一个金币:
lives = 3 - 1 = 2
(屏幕闪红光提示!)

又掉两个……

lives = 0→触发if判断
→游戏结束,显示最终分50
┌────────────────────┐
│ HUD(画在屏幕角落)  │
│ 分数: 50           │
│ 生命: ❤️           │
│ 时间: 00:42        │
└────────────────────┘
数值调优小实验:
同样的游戏——
方案A:金币+10分,掉落扣1命
方案B:金币+1分,掉落不扣命

方案A紧张刺激,方案B轻松休闲 玩法一行没改, 改仨数字,两个游戏!

🎯小测验

第1题:「变量」像什么?

第2题:「lives -= 1」这行代码的意思是?

第3题:想让游戏更紧张刺激,可以怎么调数值?

📝本课知识点

  • ✓变量=贴标签的数字盒子
  • ✓分数用+=喂大,生命用-=扣减
  • ✓生命归零触发游戏结束
  • ✓HUD要跟着数字立刻刷新
  • ✓数值本身就是设计手段
第14课完成!继续探索下一课吧 🚀