做游戏前先想清楚:一个水果消除游戏的设计思路(小白伪代码版)
这是系列第 1 篇设计篇。很多新手一上来就让 AI “帮我写个游戏”AI 写出来的东西要么跑不起来要么不是你想要的。不是 AI 不行是你没先想清楚。本文用伪代码把游戏设计讲透下一篇再教你怎么用 WorkBuddy 把它变成能玩的真游戏。示例图0. 先说结论设计 给 AI 写需求文档你做后端时产品经理给你需求文档你才动手写接口。做游戏一模一样——你就是产品经理AI 是开发。你先把游戏长什么样想清楚写下来AI 才能实现得准。本文设计一个「水果消除游戏」规则如下一句话顶部水果挂在屋檐下点一下让它掉下来顺着斜坡滑进中间的篮子篮子顶部相邻的两个同色水果会消除篮子里出现 3 种颜色就输全部清空就赢。下面把这句话拆成可执行的「设计规格」。1. 动手前必须想清楚的 4 件事不管什么游戏先填空这 4 个问题否则 AI 一定会做歪问题本游戏答案玩家怎么操作点屏幕上的水果 → 它脱落下落怎么算赢场上所有水果都消除完怎么算输篮子里同时有 3 种不同颜色难度怎么变关卡越高水果越多、颜色越多、屋檐越陡伪代码表示胜负if(篮子里的颜色种类3)游戏结束(输);if(场上水果数0队列空)游戏结束(赢);2. 屏幕怎么定位小白最易晕的一块手机竖屏画布就是一个长方形。坐标系规定左上角是 (0,0)x 向右增大y 向下增大重点y 朝下和数学课本相反。你口中的前面离房子近 屏幕下方 y 大你口中的后面离房子远 屏幕上方 y 小水果大小用「百分比」定意思是半径 屏宽 ÷ 18doubleR屏幕宽度/18;// 半径。直径就是屏宽的 1/9好处手机屏大屏小水果自动跟着变不用为每个机型调尺寸。一行大概能横放 9 个这是算出来的不是规定死的。3. 水果有几种状态状态机每个水果同一时间只处在这 3 种状态之一这就是「状态机」enum状态{挂枝,// anchored钉在屋檐上不动掉落,// falling受重力往下落进篮// inBasket已进入篮子等消除}判断点没点到手指坐标离水果圆心 1.55 倍半径就算命中比视觉半径大一点好点中if(手指到圆心的距离水果半径*1.55)该水果.状态掉落;4. 三个筐装数据容器划分游戏里所有东西都装在 3 个列表里别混ListFruit场上列表;// 所有还挂在枝上或正在掉的水果ListFruit篮子列表;// 已经进篮、等待消除的ListFruit补位队列;// 屏幕放不下时多出来的先排队消除时篮子列表顶上两个同色 → 一起删掉补位队列里有货 → 从顶部补一个进来。5. 物理就 4 步不用懂物理公式游戏里的真实感全靠每帧重复这 4 步每帧循环{1.重力掉落水果的 vy0.45;yvy;// 越掉越快2.碰撞两两水果重叠就沿连线各退一半// 不穿模3.支撑掉到固定水果圆面上 → 滑落或卡住// 不像粘住4.级联点走一个它上方失去支撑的才释放// 只放直接一层}第 2 步碰撞是核心判断两个圆碰没碰只看圆心距离勾股定理下篇细讲doubledist两点距离(a,b);if(dista.半径b.半径){// 重叠了double重叠量(a.半径b.半径)-dist;沿连线 各退 重叠量/2;// 刚好分开}6. 消除和胜负怎么判定篮子是个竖井只有顶部相邻的两个同色才消不是任意两个if(篮子列表.size()2){Fruit上篮子列表.get(倒数第1个);Fruit下篮子列表.get(倒数第2个);if(上.颜色下.颜色){删掉这两个;// 消除从补位队列补一个进来;// 维持节奏}}输赢在第 1 节已经写了这里不复述。7. 关卡难度怎么爬难度用 4 个维度控制且必须封顶不然第 99 关没法玩关卡规则(关卡 lv){水果总数min(20lv*4,60);// 封顶 60颜色种类min(3lv/2,6);// 封顶 6 种屋檐坡度min(0.25lv*0.03,0.5);// 越陡越快可消除阈值...// 其他}8. 换肤和切关设计上怎么预留换肤原则皮肤只影响画什么绝不影响是什么。水果本质还是那个数据对象有坐标、半径、颜色只是画的时候换个图案画水果(f){if(当前关2)画(三国头像[f.类型]);elseif(当前关3)画(蜡笔小新头像[f.类型]);else画(普通水果[f.颜色]);}切关就是重新生成一关切到关卡(lv){当前关lv;清空三个筐;按 关卡规则(lv)重新生成;}9. 小白最容易踩的 6 个坑坑现象正解y 轴朝下以为前面是 y 小水果跑反了记住y 大屏幕下方百分比是尺寸不是排版以为一行放几个是规定半径屏宽/18一行几个是算出来的每帧全擦全画以为改哪画哪水果不刷新Canvas 每帧擦干净重画全部碰撞只看当前帧水果穿模漏判用上一帧坐标快照比对级联用递归一删一大片卡死只放直接上层下一帧再放消除破坏配对最后剩奇数个消不掉数量生成偶数、摆不下进队列、道具同步删10. 下篇预告设计想清楚了下一步就是让 AI 把它变成真游戏。下一篇《用 WorkBuddy AI 从零做出这个游戏上》会手把手展示WorkBuddy 是什么、怎么用怎么把上面这份设计喂给 AI怎么一步步加功能挂枝 → 点击 → 滑动 → 消除跑起来发现问题怎么让 AI 修如果你看不懂坐标 / 画布 / 碰撞这些词先读我另一篇《前端概念白话讲解》用 Java 后端话讲前端再回来看这篇就顺了。一句话总结设计篇你当了一次产品经理把游戏想明白了下一篇你带着这份需求让 AI 当开发把它做出来。

相关新闻

3招解锁魔法:用LeaguePrank打造你的专属英雄联盟秀场

3招解锁魔法:用LeaguePrank打造你的专属英雄联盟秀场

3招解锁魔法:用LeaguePrank打造你的专属英雄联盟秀场 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 还在为千篇一律的英雄联盟客户端界面感到审美疲劳?🤔 想让自己的游戏空间与众不同&…

2026/10/12 22:07:27 阅读更多 →
游戏开发实战:图结构与回溯算法在寻路与关卡生成中的应用

游戏开发实战:图结构与回溯算法在寻路与关卡生成中的应用

这次我们来看一个面向游戏开发者的算法与数据结构实战教程,核心聚焦于 图结构 与 回溯法 。对于游戏开发者而言,算法不仅是面试的敲门砖,更是解决寻路、关卡生成、状态机、道具组合等实际游戏逻辑问题的利器。本文将直接切入主题&#xf…

2026/10/13 12:42:18 阅读更多 →
我找了份月薪 7 万的 FDE 工作,结果进厂贴了一天二维码?!

我找了份月薪 7 万的 FDE 工作,结果进厂贴了一天二维码?!

你好,我是小阿巴。 AI 时代,我觉得写代码越来越无聊了。。。 以前写一个接口要折腾半天,现在把需求交给 AI,我接杯水的功夫,它就把代码、注释和测试都生成好了。 刚开始确实很爽,但时间一长,…

2026/10/1 18:58:52 阅读更多 →

最新新闻

辟雍匾额考据与礼制建筑象征体系研究

辟雍匾额考据与礼制建筑象征体系研究

1. 辟雍建筑规制与匾额设置考据辟雍作为中国古代最高学府的礼仪建筑,其匾额设置严格遵循礼制规范。根据《清会典》记载,北京国子监辟雍殿内应悬挂"建极绥猷"、"中和位育"等六方御笔匾额,分别对应儒家思想的核心理念。这些…

2026/10/15 9:39:34 阅读更多 →
深入解析Iced框架中的Vector结构体设计与优化

深入解析Iced框架中的Vector结构体设计与优化

1. 项目概述今天我们来深入剖析Iced框架中core库的Vector结构体实现。作为UI框架中的基础数学类型,Vector在布局计算、动画插值、图形变换等场景中扮演着核心角色。通过解析vector.rs源码,我们不仅能理解其设计哲学,更能掌握高性能UI框架的底…

2026/10/15 9:39:34 阅读更多 →
SpringBoot+Vue构建养老院管理系统的实践与优化

SpringBoot+Vue构建养老院管理系统的实践与优化

1. 项目背景与需求分析白龙桥敬老院管理系统是一个面向中小型养老机构的综合性管理平台。随着我国老龄化进程加速,传统手工管理方式已无法满足现代养老机构在入住管理、健康监测、服务记录等方面的需求。这个系统正是为解决以下核心痛点而设计:纸质档案易…

2026/10/15 9:39:34 阅读更多 →
深度学习激活函数怎么选?从原理到PyTorch工程的实战避坑指南

深度学习激活函数怎么选?从原理到PyTorch工程的实战避坑指南

不同基础的人该怎么选激活函数,以及每个函数背后的血泪教训,我尽量一次说透。激活函数这玩意儿,说简单很简单,就是给神经网络加非线性;但说复杂也复杂,选错一个、调错一个参数,模型训练可能直接…

2026/10/15 9:39:34 阅读更多 →
Kotlin协程在电商订单系统中的实战应用

Kotlin协程在电商订单系统中的实战应用

1. 协程实战综合案例完全指南作为一名长期使用协程解决实际问题的开发者,我经常遇到这样的场景:虽然理解了协程的基本概念,但在复杂业务中仍然不知道如何合理运用。这篇文章将从一个实战开发者的视角,通过完整的电商订单处理案例&…

2026/10/15 9:39:34 阅读更多 →
软件工程建模实战:从习题答案反推UML解题逻辑链

软件工程建模实战:从习题答案反推UML解题逻辑链

简介:本资源是《软件工程实用案例教程》(梁洁、金兰编著)配套的完整参考答案PDF,面向高校软件工程专业本科生、考研复习者及初入行的开发工程师,旨在帮助学习者系统掌握软件工程核心概念、过程模型与设计方法&#xff…

2026/10/15 9:38:33 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →