效果展示
最近在体验 Cursor,真的很 Amazing,40 多分钟,一行代码也没写,就做出了一个俄罗斯方块游戏,效果如下:
全程没写过一句代码,对话难度小学级,没有编程基础的朋友也可以放心食用。
下面是我跟 Cursor 的全部对话,由于 Cursor 的回复内容太多,所以只放上了我自己说的话,大家直观体验一下 AI 编程的感觉:
- 用 Python 帮我写一个俄罗斯方块游戏。但我没有任何相关的编程经验,我的windows电脑上除了安装了Cursor代码编辑器外,也没有任何相关环境,请详细的一步一步的告诉我应该怎么做,我做完一步告诉你我做完了,你再告诉我下一步应该干什么。
- 由于特殊原因,我只能安装 python 3.6.8 版本。我已经完成了。
- 我运行了 py 文件,但是只看到一个窗口打开然后很快就关掉了。cmd 里也没有报错信息
- 一切正常,请继续
- 没问题,就是方块下落有点慢,可以继续
- 方块下落速度没有变得更快,大概5、6秒才自动下落一下。其它功能都正常,可以继续
- 没问题,请继续
- 基本功能都没问题了,就是字符显示是乱码。
- 先解决问题2吧
- 按了 p 之后,方块还是会自动下落。但是按方向键没反应。再按 p 也没用
- 按了 p 方块还是会自动下落,方向键还是没反应,也没有暂停文字的出现
- 暂停功能正常了,原来是中文输入法的影响,最好可以兼容下这个问题
- 左右移动和变方向的功能没有了
- 旋转的功能不正常,按一下按键,会旋转多次
- 旋转功能正常了,左右下移动太敏感了,稍微改一下
- 功能都正常,请继续
- 添加3的功能
- 实现 2 的功能
- 效果很满意,但是我发现左右移动功能有点问题,有的时候是移动一个格子,有的时候是2个格子。这导致左侧第三个格子总移动不到
- 效果非常好,下面加入等级系统吧
- 每次升级速度变化不太明显。另外,显示的字体太大了,会有遮挡,调整一下文字显示的布局
- 字体可以再小点,其它功能都没问题了,可以继续
- 根据 utf8 编码,重新生成代码中的中文内容以及字符
- 注释和符号全成乱码了,重新生成
- 现在我只要一保存文件,中文字符就会编程乱码。我希望统一用 utf8,我需要怎么做
- 我已经修改了 cursor 的编码,现在请修复代码中的乱码
- 继续
- 继续
- 继续
- 我能把它封装成一个可以直接在 windows 电脑上运行的程序吗
- 现在整个功能都已经没问题了,请在保证功能正常的情况下,重构一下代码,让代码更简洁高效
- 继续
- 继续
- 继续
通过上面的对话可以看到,实际上在第 20 次对话的时候,基本功能就已经完成了,后面的都是一些跟功能关系不大的修改。这个时候用在开发上的时间,实际上也就 30 分钟左右,期间多次经历 Amazing 时刻,真的非常惊喜。
本文将展示笔者从安装到制作出游戏的整个流程,非常适合想要了解 Cursor 但是还一直没动手的朋友。
Cursor 的使用
简介
Cursor 说白了,就是一个 AI 编程工具,可以通过对话自动生成和调整代码,需要下载,它的界面长这样:
其实就是一个在代码编辑器,然后在右边加了一个 AI 对话框,如果用过 VS Code 的朋友相信会很熟悉。
不会代码的朋友也不要被这个专业的界面吓到了,实际上我们只会用到右侧对话框的部分,代码那部分都是自动生成的。
更多信息可以到它的 官网 查看,还有演示 Demo。
安装
Cursor 的安装还是很傻瓜式的,全程选择默认选项就可以,大概的步骤如下:
- 下载,在官网下载 Cursor 的安装文件,然后安装;
- 配置,安装过程中注意在
Language for AI那里填入中文即可。如果你本地有 VS Code,它会问你是否把VS Code Extensions同步过来,这个影响不大,可以选默的同步; - 注册,先在官网完成注册,比较友好地是,用国内邮箱也可以。然后就可以登录 Cursor 了;
- 插件,在左侧插件 Tab 下搜索
python,安装第一个就可以了。其它插件也是在这里安装; - 汉化,可选,在左侧插件 Tab 下搜索
Chinese,安装第一个,然后重启 Cursor 就可以了。
安装步骤很简单,30 分钟足够搞定了,接下来就开始准备写游戏了。
新建项目
开始开发之前,得先建个文件夹和文件来承载这个项目,就像平时我们新建一个 Word 文档一样。
- 先在电脑的合适位置,新建个文件夹,用来存放 Cursor 生成的代码,比如叫
game; - 然后在 Cursor 里面,打开这个文件夹,目前它还是空的;
- 鼠标移动到左侧操作区,就会出现新建文件的按钮,点击它,新建一个
tetris.py文件; - 然后右上角打开 AI 对话面板,快捷键是
ctrl + alt + B。打开下面的控制台,快捷键是ctrl + J。
准备工作都完成了,下面开始进入开发。
正式开发
安装依赖
直接在 AI 对话框里输入下面的内容:
用 Python 帮我写一个俄罗斯方块游戏。但我没有任何相关的编程经验,我的windows电脑上除了安装了Cursor代码编辑器外,也没有任何相关环境,请详细的一步一步的告诉我应该怎么做,我做完一步告诉你我做完了,你再告诉我下一步应该干什么。
然后它应该会告诉你先安装依赖,按照它的步骤做就可以了,没有编程基础的朋友也完全不用担心,哪里碰到问题了直接在对话框里面输入就行。下面是 AI 给我的回答,大家请参考:
我很乐意帮你一步步创建俄罗斯方块游戏。让我们从最基础的开始。
第一步:安装必要的环境
首先我们需要安装 Python。请访问 Python 官网: www.python.org/downloads/
下载最新版本的 Python(选择 Windows 安装程序)
- 下载时请确保勾选"Add Python to PATH"选项
- 完成安装后,可以通过打开命令提示符(按 Win+R,输入 cmd)
- 输入
python --version验证安装是否成功我们将使用 Pygame 库来创建游戏。安装完 Python 后,打开命令提示符,输入:
pip install pygame完成这些步骤后,请告诉我"环境已经准备好了",我会继续指导你下一步。
提示:如果在安装过程中遇到任何问题,请告诉我具体的错误信息,我会帮你解决。
这些是基础环境的准备工作,等你完成后,我们就可以开始编写游戏代码了。你只需要完成这一步,然后告诉我,我就会指导你下一步该做什么。
初始代码
然后我跟他说:
由于特殊原因,我只能安装 python 3.6.8 版本。我已经完成了。
这是他的回复:
明白了。Python 3.6.8 版本也完全可以用来开发俄罗斯方块游戏。
让我们开始创建基础的游戏框架。我会给你第一部分代码,这部分代码包含了必要的导入和基本的游戏设置。
import pygame import random # 初始化Pygame pygame.init() # codes...请将这段代码复制到你的
tetris.py文件中。这段代码完成了以下工作:
- 导入必要的模块
- 初始化 Pygame
- 定义游戏中使用的颜色
- 设置游戏区域的大小和方块大小
- 创建游戏窗口
- 定义俄罗斯方块的各种形状和对应的颜色
复制完成后,请告诉我"第一部分代码已经复制完成",我会继续给你下一部分代码。
注意:
- 确保代码已正确复制,不要漏掉任何行
- 暂时还不能运行游戏,因为我们还需要添加更多的游戏逻辑
- 如果在复制过程中遇到任何问题,请告诉我
代码部分我做了省略。这个时候在中间的代码显示部分,应该已经出现代码了,但是,其实并没有保存。你需要在你对话框附近点击一个 Accept all 的按钮,它才会保存修改。
测试功能
代码保存之后,如果你已经安装了 python 插件,那么应该在代码的右上角有一个 Run Python File 的右三角按钮,点击它就可以运行了。下面是我这一轮的对话:
我运行了 py 文件,但是只看到一个窗口打开然后很快就关掉了。cmd 里也没有报错信息
这是他的回复:
这是正常的,因为我们还没有添加游戏的主循环代码。让我们添加游戏的核心逻辑和主循环。
# ... 保持之前的代码不变 ... class Tetromino: def __init__(self): self.shape = random.choice(SHAPES) self.color = SHAPE_COLORS[SHAPES.index(self.shape)] self.x = GRID_WIDTH // 2 - len(self.shape[0]) // 2 self.y = 0 def move(self, dx, dy): self.x += dx self.y += dy # code...这段代码添加了:
- 一个表示俄罗斯方块的类(Tetromino)
- 游戏主循环
- 基本的移动控制(左右方向键移动,下方向键加速下落)
- 方块的自动下落
- 游戏画面的绘制
现在你可以运行游戏了,你会看到:
- 一个方块会从顶部出现并慢慢下落
- 可以使用左右方向键移动方块
- 使用下方向键加速下落
但是目前还缺少一些重要功能:
- 方块还不能旋转
- 没有碰撞检测
- 不能消除已完成的行
- 没有游戏结束判定
- 没有分数系统
试试运行游戏,告诉我是否正常工作,我们再来添加这些缺失的功能。
还是点击一下 Accept all,然后 Run Python File 测试。这回有窗口,也能看到有方块了。当时真的是特别 Amazing,十分震惊和兴奋。
而且他还解释了代码的功能,还有缺少的功能,不只是程序员,连产品经理的活都给做了,这时候你只需要说“继续”就好了。
调试 Bug
开发的过程中是一定会出 Bug 的,但是不用慌,我们照样可以用 Cursor 来解决。当控制台报错的时候,我们只需要选中它们,然后点击 Add to Chat 的按钮,然后描述你的问题,他就会生成修改的代码,然后你点击 Apply 就可以了。具体见下图:
这里附上我所有解决 Bug 的提问:
- 按了 “向上” 之后会报这个错,然后退出
- 报错了
- 还是有报错,应该是之前有了冗余代码,请整理一下代码
- 报错了
- 还是报相同的错误
- 有报错,请重新梳理代码
- 报错了
其实报错不算多,而且我好像说的最多的就是“报错了”,你就说是不是 6 岁小朋友都能学会吧。
完成开发
学会了如何在 COMPOSER 里开发功能,和如何在 CHAT 里解决 Bug,剩下的就是像我一样,跟 Cursor 说“继续”、“请实现 xxx 功能”和“报错了”就行了。
怎么样,大家学会了吗?
小结
先主观的总结一下:
用 Cursor 进行开发,实在是太爽,太 Amazing 了。这个游戏如果让我自己手撸,估计最少要 2 天的时间,结果现在 1 个小时都不到,效率提升了百倍,真的不是夸张。
再尝试客观的总结一下:
首先,我自己是一个经验丰富的程序员,许多默认的前置知识我都不需要补充,所以用起 Cursor 来会格外的得心应手。如果真的是编程小白,估计使用过程中还是会有一些卡点的。
所以,真的建议大家学习一下编程的最基础知识,这个动作将在 AI 的加持下,投入产出比变得巨大。
然后,俄罗斯方块其实是一个非常成熟的游戏,AI 也知道它都有什么功能,所以可以连带着把产品经理的活也都做了。但是如果换成一个全新的游戏,那么负责提出需求的人,就是你自己了,你要懂得如何梳理产品功能,如何跟 AI 提需求。
所以,也建议大家平时刻意练习产品思维,起码知道要做成一个产品,产品经理应该做什么,怎么做。然后在不断的实践中,完善方法论和技能。
最后,“AI 编程是否能做复杂的大项目”,这个一直是被人质疑,尤其是被程序员们质疑的一件事。我个人的观点是:
只要是复杂的项目,就一定涉及到架构设计。所谓的架构设计,就是把项目在技术层面上进行合理的拆分和解耦。也就是说,要把一个复杂的项目,拆分成多个独立的、简单的小项目。
从项目质量上讲,这样做无疑能够提高项目的稳定性和健壮性;从开发效率上讲,可以一定程度上的靠“堆人”来提高开发效率;从可维护性上讲,每个模块之间都是解耦的,无疑大大降低了维护的复杂度和难度。
总之,AI 编程是否能做复杂的大项目。更多的不是取决于 AI 的能力,而是取决于使用者的架构设计能力。
所以,如果你是一个程序员,请刻意训练你的拆分和解耦的能力,去了解一下“函数式编程”,也许会有很大的帮助。
结语
通过这个案例和笔者的小结,相信大家对于 AI 编程这件事情已经有了更形象和具体的认识。
AI 时代,如果你自己懂一点点编程、懂一点点产品、懂一点点架构、懂一点点运营,那么你的这些一点点将会被 AI 放大成百上千倍,真正的成为超级个体。
当然,这也不是一件简单的事情,这得要求一个人有足够的好奇心和学习能力。
更重要的是,要在 AI 的加持下,不断的去实践,拿到结果,然后复盘。这些“一点点”,会很快的变成“熟练”。然后就可以更快的实践和复盘。然后“熟练”就会变成“精通”……
这是一个恐怖的“个人成长正向飞轮”。即使现在 AI 还处于发展的初期,在个人成长方面,它能带给我们的提效也是巨大的。
最后,祝大家,也祝自己,在成为超级个体的路上,早日扶摇直上,乘风万里。
公众号、知乎、掘金、CSDN 同名,欢迎关注~