第24课:接水果
进度 0/30
🍎
接水果
随机不是乱来,掉落藏着节奏与概率
📖知识引入
🎲随机掉落有讲究
水果从顶部随机位置掉下——但真随机会让玩家来回狂奔。高手会做「伪随机」:偏向玩家附近掉、限制最大偏差,玩起来又刺激又公平。
🧺篮子要跟手
篮子移动别像瞬移,也别像开船:按下键立刻响应、速度稳定。接水果游戏好不好玩,一半看篮子手感,调参和跳跃游戏同理。
💎水果身价不同
普通苹果10分、香蕉20分、金菠萝50分、炸弹扣命——用概率和分值制造抉择:冲高分的和保命的,玩家自己选路线。
📈越玩越难
每30秒下落速度+10%,出现率提升,炸弹概率悄悄上涨。难度爬坡让玩家「就差一点」地一次次重开——欲罢不能的秘密。
🤟连击的爽感
连续接住不落空,连击数上涨、分数翻倍、屏幕发光——连击是给高手准备的奖励机制,也是游戏「爽感」的放大器。
💡
随机是原料,概率和节奏才是厨艺!
🔍掉落表里的经济学
// 按概率掉水果:随机里的设计感
function spawnFruit() {
let r = Math.random(); // 0~1的随机数
if (r < 0.50) drop('apple', 10); // 50% 苹果
else if (r < 0.75) drop('banana', 20); // 25% 香蕉
else if (r < 0.85) drop('pineapple', 50);// 10% 金菠萝
else if (r < 0.95) drop('ice', 0); // 10% 冰冻星
else drop('bomb', -1); // 5% 炸弹
}
// 连击判定:接住+1,落空清零
function onCatch(fruit) {
combo += 1;
if (combo >= 5) score += fruit.value * 2; // 翻倍!
else score += fruit.value;
}
function onMiss() {
combo = 0; // 落空:连击清零
}一份精心设计的掉落表:
水果 概率 分值 特效 🍎苹果 50% +10 普通叮! 🍌香蕉 25% +20 咚! 🍍金菠萝 10% +50 金光闪闪 ❄️冰冻星 10% - 篮子变大5秒 💣炸弹 5% -1命 轰+屏幕震动
设计巧思:
① 炸弹只有5%: 平均20个水果来一颗 紧张感有,但不烦人
② 金菠萝10%: 值得玩家冒险横穿 「赌一把」的快感
③ 冰冻星给的是「希望」: 快撑不住时来一剂强心针
难度爬坡曲线:
0-30秒 慢速 炸弹5% 31-60秒 中速 炸弹8% 61-90秒 快速 炸弹12% 90秒+ 疯狂 自求多福
给AI的启动提示词:
「用网页JS做接水果游戏: 方向键控制篮子,水果随机掉落, 苹果+10香蕉+20金菠萝+50, 炸弹扣命共3条命, 连击5次以上分数翻倍, 下落速度每30秒加快。」
🎯小测验
第1题:「炸弹只出现5%」这种设计,体现的道理是?
第2题:「连续接住5个,分数翻倍」这种机制叫?
第3题:为什么游戏要「越玩越难」?
📝本课知识点
- ✓随机掉落要「伪随机」控节奏
- ✓篮子手感=接水果游戏半条命
- ✓分值+概率制造玩家抉择
- ✓难度爬坡:速度渐快概率渐狠
- ✓连击机制放大爽感
第24课完成!继续探索下一课吧 🚀
