一个案例教会小白轻松上手iFlow CLI

作者:水煮菜还挺好吃10011118452
可恶,如果我刚上大学那会有iFlow这种工具帮我做大作业,不敢想我在期末周得是多么开朗的少年 

应用开发入门:如何让iFlow CLI理解你想做什么?

场景:假如我想做一个贪吃蛇的游戏,我该如何去对cli发号施令,让它很好地理解我的意思呢?

原则:细节至上,循序渐进

如果你只告诉cli说我想做一个这样的游戏,那它就会按照自己的想法去做,做出来的产品容易出bug,并且各项细节也都难以做好。

解决办法:提示词两步走方法!

我们目前的任务是做一个贪吃蛇游戏,那么我们就需要详细的提示词来实现我们心目中的程序。

第一步:构建提示词框架

我们可以让ai帮我们生成目前的提示词框架,比如:

我现在想做一个贪吃蛇游戏,请你帮我想想我应该如何构建我的提示词,以及这个提示词应该包含哪些内容

然后我们可以得到ai的回答:

角色设定:
你是一个资深游戏开发工程师,擅长使用 [在这里写:例如 JavaScript + HTML5 Canvas / Python + Pygame / Unity C#] 开发 2D 小游戏。

开发目标:
帮我从零开始实现一个经典的“贪吃蛇”游戏,运行在 [浏览器 / Windows 桌面 / 手机 Android 等] 上.

要求:

  1. 玩家可以通过 [键盘方向键 / WASD / 触屏手势] 控制蛇移动。
  2. 蛇吃到食物后会变长,同时得分增加。
  3. 撞到墙壁或撞到自己身体时游戏结束。
  4. 提供简单的开始界面和游戏结束界面,显示分数。

我的背景与现状:

我对编程的熟练程度是:[比如:刚入门 JS,只懂一点 HTML/CSS / 对 Python 语法还算熟悉]。

目前还没有任何代码(或:已经有一段代码,我会发给你)。

技术与实现细节要求:

使用语言和技术栈:必须使用 [具体语言/库]。

结构要求:

请尽量使用模块化/函数拆分/面向对象的方式组织代码,避免过多的全局变量。

兼容性要求

[例如:需要在主流桌面浏览器中运行 / 仅需在本地 Python 环境运行即可]。

功能细节:

  1. 地图大小固定为 [例如 600x400 像素 / 20x20 格子]。
  2. 蛇的移动以固定步长前进,而不是连续移动。
  3. 初始速度为 [如:每 150ms 移动一格],每得 [10] 分速度略微提升一点。
  4. 每次只生成一个随机食物,不能出现在蛇身上。
  5. [可选] 加入暂停功能(按 P 暂停/继续)。
  6. [可选] 简单音效(吃到食物、死亡时播放不同声音)。

输出形式与步骤要求:

一、先帮我规划整体结构,列出:

  1. 游戏需要哪些主要模块/类/函数(例如:Game Loop、Snake、Food、Input、Renderer 等)。
  2. 每个模块大致负责什么。

二、再分步骤提供代码:

  1. 第一步先实现一个最简版本(蛇能移动、边界和死亡判定简单完成)。
  2. 后面再逐步增加食物、得分、速度变化等功能。
  3. 每次给代码时:附上关键注释,说明逻辑。说明这段代码应该放在哪个文件里,以及如何运行。如果有多种实现方式,请简单说明优缺点,并推荐一种适合我当前水平的方案。
  4. 交互方式:在每一步实现后,请告诉我如何测试,等我说“测试通过”后再进入下一步。如果你对我的需求有不清楚的地方,请先提出问题再继续给代码。

第二步:对现有的提示词进行优化

对我的提示词进行优化:

  • 有三种食物随机出现,吃到之后会增长不同的体长。
  • 在食物出现的同时,偶尔会刷新毒物,频率大概是每吃五个食物场地里会随机刷新一个毒物,经过一段时间后毒物会消失,场地里同一时间只能有一个毒物。
  • 我希望可以提供一个功能,让用户自主选择蛇的颜色。

以下是我的原提示词:{context}

ai进行二次润色后的结果:

角色设定(不变)
你是一个资深游戏开发工程师,擅长使用 [在这里写:例如 JavaScript + HTML5 Canvas / Python + Pygame / Unity C#] 开发 2D 小游戏。

开发目标:
帮我从零开始实现一个经典的“贪吃蛇”游戏,运行在 [浏览器 / Windows 桌面 / Android 手机 等] 上。

要求:

  1. 玩家可以通过 [键盘方向键 / WASD / 触屏手势] 控制蛇移动。
  2. 蛇吃到食物后会变长,同时得分增加。
  3. 有三种不同类型的食物,会随机出现:
  4. 每种食物被吃到后,增加的体长不同(例如:+1、+2、+3 节)。
  5. 不同食物类型在外观上有明显差异(颜色或形状不同)。
  6. 在食物出现的同时,引入“毒物”机制:
  7. 大约每吃满 5 个食物,就在场地内随机生成 1 个毒物(概率或计数方式可以在实现阶段一起设计)。
  8. 毒物不能出现在蛇身上,也不能和食物重叠。
  9. 场地内任意时刻最多只存在 1 个毒物。
  10. 毒物存在一段有限时间后会自动消失(超时移除),再满足条件时可以重新生成。
  11. 蛇碰到毒物后会触发惩罚效果(请你根据整体难度,帮我设计一个合理惩罚方案,并说明理由,例如:扣血 / 直接死亡 / 扣分等)。
  12. 蛇撞到墙壁或撞到自己身体时游戏结束。
  13. 提供简单的开始界面和游戏结束界面,显示当前得分和历史最高分(若方便的话)。
  14. 提供一个功能,让用户可以自主选择蛇的颜色:
  15. 可以在开始界面或设置界面选择几种预设颜色(如:绿色、蓝色、红色)。
  16. 选择的颜色会应用在游戏中的蛇身显示上。

我的背景与现状:(按你实际情况填写)

我对编程的熟练程度是:[例如:刚入门 JS,只懂一点 HTML/CSS / 对 Python 语法还算熟悉]。

目前项目状态为:[还没有任何代码 / 已经有一段代码,我会发给你]。

技术与实现细节要求

使用语言和技术栈:

必须使用 [具体语言/库,例如:原生 JavaScript + HTML5 Canvas / Python + Pygame / Unity C#]。

代码结构要求:

尽量使用模块化/函数拆分/面向对象的方式组织代码,避免过多的全局变量。

将“蛇”“食物”“毒物”“游戏主循环”“输入处理”“渲染/绘制”等逻辑分开,便于后续扩展。

兼容性要求:

[例如:需要在主流桌面浏览器中运行 / 仅需在本地 Python 环境运行即可]。


功能细节

地图与坐标:

地图大小固定为 [例如 600x400 像素 / 20x20 格子]。

蛇的移动以固定步长前进(以网格为单位),而不是平滑连续移动。

速度与难度:

初始速度为:每 [如:150ms] 移动一格。

每得 [10] 分,速度略微提升一点(移动间隔减少一点,但不要快到不可玩)。

若你认为有必要,可以根据加入毒物与多种食物的机制,对难度进行微调,并解释原因。

食物系统(重点扩展):

每次至少生成 1 个随机食物,不能出现在蛇身上。

共有 3 种食物类型:

不同类型出现时要有明确区分(颜色/形状)。

每种类型提供不同的“增长长度”,例如:

食物 A:+1 节

食物 B:+2 节

食物 C:+3 节

你可以根据游戏平衡性,给出这三种食物的出现概率设计(例如:+1 最常见,+3 最稀有),并说明理由。

毒物系统(新增机制):

统计玩家已吃到的食物数量,每吃满大约 5 个食物时,在场地中随机刷新 1 个毒物。

可以采用:累积计数达到 5 就生成毒物并计数清零,或使用概率方式,但要说明具体实现方案。

毒物生成时:

不能和蛇身重叠。

不能和当前食物重叠。

场地同一时间最多存在 1 个毒物。

毒物有生存时间限制(例如:几秒后自动消失),然后在之后满足条件时再刷新的毒物。

蛇碰到毒物后的惩罚效果:

由你设计一个合理方案并实现,例如:

直接游戏结束,或者

扣除部分长度 / 扣分 / 减速或加速等负面效果。

请在实现前先给出设计说明,并简要说明选择这种惩罚方式的优缺点。

蛇的颜色选择功能(新增需求):

在开始界面或一个简单设置界面,让玩家可以选择蛇的颜色。

至少提供 3 种预设颜色(例如:绿色、蓝色、红色),也可以是更多。

玩家选择的颜色会作用于游戏中蛇所有身体块的显示。

如有可能,请说明如何在代码中方便地扩展更多颜色选项。

其他可选功能:

[可选] 加入暂停功能(按 P 暂停/继续)。

[可选] 简单音效(吃到不同食物、碰到毒物、死亡时播放不同声音)。

[可选] 显示当前吃掉的不同类型食物数量统计。

输出形式与步骤要求

先帮我规划整体结构,列出:

游戏需要哪些主要模块/类/函数(例如:Game Loop、Snake、FoodManager、PoisonManager、Input、Renderer、UI/菜单 等)。

每个模块大致负责什么,并简单说明各模块之间的关系(例如:Game 调用 Snake、FoodManager、PoisonManager 和 Renderer)。

再分步骤提供代码:

第一步:实现最简版本:

蛇能移动;

边界碰撞和自撞检测;

基本游戏循环。

第二步:加入单一食物与得分系统。

第三步:扩展为三种不同食物,并实现不同增长长度和出现概率。

第四步:加入毒物机制(生成、消失、碰撞惩罚)。

第五步:实现蛇颜色选择界面功能,并与游戏主逻辑整合。

若你认为有更合理的分步骤方式,可以调整,但请说明调整原因。

每次给代码时:

附上关键注释,说明主要逻辑。

说明这段代码应该放在哪个文件里(例如:index.html / main.py / Game.cs 等),以及在我的环境中如何运行。

如果有多种实现方式:

请简单说明各自优缺点。

推荐一种适合我当前水平的方案,并解释理由。

交互方式

在每一步实现后,请告诉我具体如何测试(例如:打开哪个文件 / 运行哪个命令 / 按哪些键来操作),等我说“测试通过”后再进入下一步。

如果你对我的需求(尤其是三种食物的具体数值设计、毒物惩罚方式、蛇颜色选择界面样式)有不清楚的地方,请先提出问题,再继续给代码。

第三步:让iflow cli根据这个详细的计划来执行任务。

iflow cli会按照你的计划来一步一步完成:

我们就可以测试当前任务是否满足预期,如果当前任务做的不错,就让ai再执行下一步:

当前测试正常,进行下一步

但是这一步出现了bug:吃到食物直接死掉了

我们就可以告诉ai当前有什么问题:

实现存在bug,蛇吃到第一个食物直接显示esc了,并且游戏结束页面的文字无法正常显示

循序渐进地对ai提需求,并且当前需求确认无bug后再去做下一个需求,防止ai手头任务过多出现降智现象。

当前bug已解决,请继续执行之后的任务。

支持了不同颜色的食物

深灰色太不明显了,我们可以继续给ai提需求:

毒物深灰色和黑色的背景太不明显了,把背景做成白色

最后的成品就是一个功能很齐全的小游戏了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值