第14课:分数与生命
进度 0/30
🍬
分数与生命
分数和生命,都是会变的数字盒子
📖知识引入
📦变量=贴了标签的盒子
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课完成!继续探索下一课吧 🚀
