🐵指尖猴全新升级
第18课:接鸡蛋游戏
🥚

接鸡蛋游戏

你的第一个会动的游戏——接鸡蛋

📖知识引入

🎬游戏的心跳
所有游戏都靠「游戏循环」活着:一秒钟刷新几十次,每次鸡蛋往下掉一点、检查有没有接到。就像动画片是一帧帧画连起来的,游戏是一圈圈循环转起来的。
📍万物皆有坐标
鸡蛋在哪里、篮子在哪里,全靠坐标(x, y)说了算。鸡蛋掉落=y坐标变大,篮子移动=x坐标变化。游戏世界,就是数字的世界。
💥碰撞检测
怎么知道接住了?比较两者坐标:鸡蛋的x和y都落在篮子范围内,就算接到!判定一撞上:得分+1,鸡蛋回顶部重新掉。
🎮键盘操控
按左键篮子左移,按右键右移——程序监听键盘事件,一键一动。灵敏度是关键:太慢接不住,太快会过头。
🔥难度曲线
一直匀速太无聊!让鸡蛋越掉越快、一次掉两三个,分数涨得越快死得越惨。难度递增是游戏「上头」的秘密。
💡
游戏世界=坐标+循环+碰撞——三个概念撑起所有游戏!

🔍一帧画面里的攻防

# 接鸡蛋的核心逻辑(伪代码)
egg_y = 0        # 鸡蛋的纵坐标
basket_x = 300   # 篮子的横坐标
score = 0

while 游戏进行中:          # 游戏循环(每秒几十圈)
    egg_y = egg_y + 10    # 鸡蛋下落
    if 按下左键:
        basket_x -= 40    # 篮子左移
    if 按下右键:
        basket_x += 40    # 篮子右移

    if egg_y >= 底部 and 篮子范围内(egg_x):
        score += 1        # 接住啦!
        egg_y = 0         # 鸡蛋回顶部

    if egg_y > 屏幕底部:   # 没接住
        游戏结束 💀

游戏循环的一圈,慢镜头拆解:

┌────────────────────────┐
│      🥚 y=100           │
│                        │
│      🥚 y=200(掉了100)  │
│   🧺x=300              │
│          (按→键)       │
│         🧺x=340        │
└────────────────────────┘

这一圈里程序干了5件事:

1.鸡蛋y坐标+10(往下掉)

2.监听键盘:按了右键

3.篮子x坐标+40(往右挪)

4.碰撞检测:鸡蛋y到篮子高度,

x在篮子范围内?

命中!→分数+1 🎉

5.重画整个画面

每秒转30-60圈,
你看到的就是流畅的动画!

马里奥、我的世界、王者荣耀, 内核都是这个循环, 只是画面更华丽、规则更多。

🎯小测验

第1题:游戏画面「动起来」靠的是?

第2题:「接住鸡蛋」的判断叫什么?

第3题:鸡蛋位置变化、篮子位置,在程序里靠什么表示?

📝本课知识点

  • ✓游戏循环是游戏的心跳
  • ✓游戏世界万物皆坐标
  • ✓碰撞检测=比较坐标范围
  • ✓键盘事件让玩家操控
  • ✓难度递增是上头秘诀
第18课完成!继续探索下一课吧 🚀