第18课:接鸡蛋游戏
进度 0/30
🥚
接鸡蛋游戏
你的第一个会动的游戏——接鸡蛋
📖知识引入
🎬游戏的心跳
所有游戏都靠「游戏循环」活着:一秒钟刷新几十次,每次鸡蛋往下掉一点、检查有没有接到。就像动画片是一帧帧画连起来的,游戏是一圈圈循环转起来的。
📍万物皆有坐标
鸡蛋在哪里、篮子在哪里,全靠坐标(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课完成!继续探索下一课吧 🚀
