全程不用写代码,我用AI程序员写了一个飞机大战
前言
还在为写代码薅头发吗?还在为给出的需求无处下手而发愁吗?今天宏哥分享一款开发工具的插件,让你以后的编程变得简单起来。 作为一个游戏编程小白,能完成自己工作就不错了,还能玩别的,这在以前想都不敢想,现在就可以轻松实现了。来跟随宏观的脚步,通过简单几步成功开发出了一款飞机大战小游戏! 是的,你没听错,就是那种你可以控制一架小飞机,在屏幕上闪躲子弹,击败敌人的游戏。听起来是不是很酷呢!
1.环境准备
1.1操作系统
1.宏哥的环境是Windows 11版本 64位系统(32位的同学自己想办法哦,当然了现在32位的一般很少见),如下图所示:

1.2Python版本
Python版本:python:3.7.2,如下图所示:

1.3IDE开发工具
1.PyCharm 2021.3.3开发平台,如下图所示:

1.4 AI工具
1.通义灵码插件。
2.资源准备
链接:资源下载 提取码:n8ey ,就是游戏需要的一些图片和音频文件,如下图所示:

3.安装AI插件
1.首先是安装通义灵码,直接在pycharm的文件(File)下拉菜单中选择选项(Settings),如下图所示:

2.点击“选项(Settings)”后,在对话框中选择插件(plugin)在此界面上面的搜索框中,输入tongyi,就出来了,如下图所示:

3.已经安装上了,显示的是installed,没安装就是绿色的install,点击后,稍等一会,即可完成安装。如下图所示:

4.安装好以后,要想使用就得登录,点击“登录”,如下图所示:

5.一般注册过社区的,直接登录社区账号,然后通义灵码就会单点登录成功,很方便的,如下图所示:

6.通义灵码插件登录成功,如下图所示:

7.点击右下角图标,点击“高级设置”,可以根据自己癖好进行一些设置,如下图所示:

8.点击右侧的“通义灵码”,可以弹出AI对话框,点击“智能问答”和“AI程序员”进行切换,也可以点击最下边的下拉按钮切换大模型(qwen-2.5,deepseek-v3,deepseek-r1),如下图所示:

好了,到此一切准备工作就绪,下边就开始游戏编程之旅。
3.开启游戏编程之旅
3.1AI程序员交互过程
1.写出你的需求,发送给AI程序员,提示词如下:
生成飞机大战游戏完整代码,用pygame运行,记得不是简单的游戏框架代码哦,而是完整代码,利用飞机大战文件夹中的游戏素材: bullte.svg(子弹图), enemy.svg(敌机图),explosion.svg(爆炸素材图)、player.svg(我方机图)、sound.wav(子弹声音)、background_music.mp3(背景音乐),如下图所示:

2.好家伙一口气给我生成这么多,一气呵成啊,那我接下来点击“接受”,如下图所示:

3.点击“接受”后,自动创建python代码文件,如下图所示:

3.2AI程序员解决bug
1.运行代码出错,直接复制错误丢给AI程序员,帮你直接解决bug,如下图所示:

2.从上图我们可以看到,AI程序员直接定位到有问题代码的地方,同时给出了解决方案 :检查是否有未安装的模块,如何有,则通过命令进行安装,如果你觉得没有问题,点击“接受”就可以了,如下图所示:

3.再次运行修改后代码,控制台可以看到,在安装缺少的pygame模块,如下图所示:

4.稍等一会,安装完缺少的模块,代码运行成功,出现飞机大战的游戏界面(键盘方向键左右移动我放飞机,空格键发射子弹),如下图所示:

3.3AI程序员完善代码
1.实际运行中交互效果问题,直接向AI程序员提问,帮你完善。比如我遇到的问题:”子弹不跟着飞机移动”,给出的修复代码直接采用即可!如下图所示:

3.4AI程序员解决新需求
1.当然我们也可以通过AI程序员不断地完善我们游戏的需求如下:
(1)增加玩家命的概念,几条命就能继续玩几次,而不是直接退出。如下图所示:

(2)一条生命结束并重新开始时,要有5秒的无敌时间,如下图所示:

(3)增加紧张的背景音乐,如下图所示:

(4)增加积分功能,每打掉一个敌人增加一分,如下图所示:

2.按照以上需求,我们将这4条需求喂给AI程序员,它会自动将需求转换成代码,你可以傻瓜式的接受即可,完成以上需求后,运行代码后游戏界面,如下图所示:

3.5AI程序员代码优化
1.整体运行正常后,看着代码一大坨太难受,我们就让AI程序员这个老司机帮我们优化下,如下图所示:

3.6AI程序员编写单元测试
1.当然,你也可以让AI程序员编写单元测试,来验证代码的健壮性!解释代码,帮助你学习代码!生成注释,提高代码的可读性。如下图所示:

3.7AI打包成可执行文件
1.如何想打成exe软件直接运行,直接问AI程序员,他会详细告诉你每一步!提示词:“如何把程序打成.exe”,如下图所示:

4.个人愚见
4.1输出结果不稳定
1.由于时间关系,文章一天没有写完,第二天再次互动同样的提示词,结果却不一样,如下图所示:

2.运行代码,结果如下:

4.2提示词的准确理解
1.宏哥的那个提示词,没有说到背景图片,结果代码里有,然后运行代码提示我缺少背景图片,如下图所示:

4.3响应时间慢
1.在使用AI程序员的时候,添加提示词后,切换不同的模型,明显感觉deepseek的响应比qwen-2.5的速度慢,但总体感觉速度都不是很快(生成中,一直在转圈),如下图所示:

通过这次体验,大家是否感受到AI的强大和便捷。无论你是编程新手还是有经验的开发者,AI程序员都能为你提供极大的帮助,提升你的开发效率。希望这次分享能激发更多人尝试编程,感受创造的乐趣!赶快动手试试吧,说不定你也能轻松开发出属于自己的游戏哦!(为了增加趣味性,我就不附件代码了!自己体验吧)
5.使用感受
1.上边说了一些使用过程中的不足,下边再夸一下,最重要的是:免费,免费无敌,呵呵!
2.体验亮点:
- 代码智能生成:快速生成高质量代码,显著缩短开发周期。
- 跨语言编程:轻松实现代码跨语言转换,打破语言壁垒。
- 单元测试生成:自动生成测试用例,提升代码可靠性。
- 研发智能问答:即时解答技术难题,提高开发效率。
3.体验感受:
通义灵码2.0作为AI编程助手,功能强大且易用。在新功能开发、跨语言编程等场景下表现出色,显著提升了开发效率和代码质量。
建议:
- 进一步优化代码生成风格和安全性。
- 增加对更多编程语言的支持。
- 提高响应时间和对提示词理解
- 提示互动结果的稳定性
总结:
通义灵码2.0的AI程序员是一款值得推荐的智能编码搭子,为开发者带来高效、便捷的编程体验。期待未来更多创新功能。
全程不用写代码,我用AI程序员写了一个飞机大战的更多相关文章
- 因写太多 BUG!程序员遭公司颁奖羞辱,做的一个比一个绝
刚入职的程序员新人,办公桌上,基本上也就一电脑.一键盘.一鼠标,再配个被杯子.然而混迹职场多年的猿老们,办公桌上都有一些彰显身份地位的“好东西”. 这张图两点颇多,最显眼的,是办公桌上那个黄黄的东西, ...
- 程序员写 2000 行 if else?领导:这个锅我不背
前言 知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考生的信息,白给那种.为什么会发生这 ...
- 人才需求之Java程序员与AI程序员
据100offer报告显示:2018年Java人才市场「高开低走」的动荡局势.整体求职难度变大,且全年波动更剧烈,淡旺季区别明显.企业发出的Java面邀总数几个季度连续下跌,Q4 甚至比去年同期下降了 ...
- 出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw
应对未检查异常就是养成良好的检查习惯. 已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法. 已检查异常肯定跨越出了虚拟机的范围.(比如“未找到文件”) 如何处理已检查异常(对于所有的已检 ...
- 好程序员分享居中一个float元素
好程序员分享居中一个float元素,我们布局的时候,用margin来设置float元素的外边距来达到效果.对于,在文档流中的元素,我们很容易让它水平居中,只要给元素设置一个固定的宽度,用margin: ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- .net程序员写业务代码需要注意的地方
代码规范要求1.命名空间规范:dao层的impl实现和接口采用一样的命名空间,到对应文件夹层:IxxDaoContext与其实现类采用顶级命名空间. 2.TableEntity文件夹:所有的实体放到各 ...
- 为什么不用C++写游戏(聪明的程序员不用C++折磨自己)(这些工作,QT都替开发者解决了,C++没有根类导致太多的问题,也没有字符串类)
当今世界上绝大多数游戏都是C++写的,为什么要说不呢? 要做什么?写游戏. 写游戏首先要考虑些什么?做什么样的游戏,图形.音效.游戏逻辑如何实现. 用C++要先考虑什么?定义跨平台数据类型抽象,实现常 ...
- 我为什么鼓励程序员写blog
工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才能证明自己的潜力与特质 ...
- 不要以为Bug写的好就是好程序员,其实这只占不到15%!
最近和一位从事多年架构工作的技术哥们见面,聊到了近期面试程序员的一些经历,谈到了"如何判断程序员水平高低"这个话题,颇有些感触,觉得有价值,因此花了些时间整理.分享给大家. 正 ...
随机推荐
- 跨平台交叉编译 Native AOT
如何将.NET 应用程序发布到鸿蒙上,肯定是很多人感兴趣的话题,目前.NET完全具备可以在OpenHarmony系统上运行的能力,.NET 现在有很多选项CoreCLR.Mono和NativeAOT. ...
- 【金TECH频道】汇聚多元化超级算力,看见更好的“源启”
越来越多的金融机构开始利用大数据和AI技术,提升信贷业务的效率,利用隐私计算打造开放式金融,让客户随时随地获得金融服务:气象领域,高精度计算让我们能准确地预测恶劣的天气,医疗大数据让部分癌症的治愈成为 ...
- WPS在ArchLinux常见问题
问题简述wps在aur源上有包,直接下载安装即可,但是通过包管理器安装的wps会出现一些奇怪的问题,我遇到的有两个: wps在打开时提示缺少字体wps word不能导出pdf文档,同时wps pdf也 ...
- Qt音视频开发28-Onvif信息获取
一.前言 严格意义上来说,Onvif处理这块算不上音视频开发的内容,为何重新整理放在音视频开发这个类别,主要是为了方便统一管理,而且在视频监控处理这块,通过onvif来拿到音视频流这是必经的阶段,也算 ...
- 以大模型攻大模型之💫Jailbreaking Black Box Large Language Models in 🎢Twenty Queries
"在高层次上,PAIR将两个黑盒LLMs--我们称之为攻击者和目标--相互对抗--"具体是如何对抗的?请各位看官仔细阅读~
- Eclipse中如何快速查询一个类和方法在哪里被引用?
0.在Eclipse中使用全局搜索Ctrl+h的方法快速查询一个类在哪里被引用. 打开Eclipse,使用快捷键Ctrl+h,会弹出一个对话框,找到File Search页签,在Containing ...
- 高通MSM8909 Mutil-HAL Sensor 调试
Mutil-HAL的介绍: Sensors Multi-HAL 是一个框架,允许传感器 HAL 与其他传感器 HAL 一起运行. Sensors Multi-HAL 动态加载作为动态库存储在供应商分区 ...
- Mybatis-Plus 多租户模式忽略某个方法
Mapper 类方法添加注解: @InterceptorIgnore(tenantLine = "true") 亲测有效.
- Wfurent 语语法概述
\[\textit{Litar!} \newcommand{\wd}[2]{\texttt{#1}^{#2}} \] 让神明白 文字产生于史前的祭祀,史前的人们改造了原始的语言规则,使得句子拥有& ...
- 一级缓存和二级缓存--mybatis|hibernate
一级缓存和二级缓存的区别: 主要的不同是它们的作用范围不同. 一级缓存是session级别的. 也就是只有在同一个session里缓存才起作用,当这个session关闭后这个缓存就不存在了. 而二级缓 ...