news 2026/8/30 3:10:49

使用 TRAE SOLO 一分钟写个简易版飞机大战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 TRAE SOLO 一分钟写个简易版飞机大战

大家好,我是V哥,最近找到一个好玩的工具 TRAE,官网是这样介绍的:TRAE 深度融合 AI 能力,是一名能够理解需求、调用工具并独立完成各类开发任务的“AI 开发工程师”,帮助你高效推进每一个项目。事不宜迟,马上开干,我们一起来使用 TRAE SOLO 1分钟写个简易版飞机大战玩玩。

首先我的需求是这样的:帮我写一个飞机大战

下面是 TRAE SOLO 自动生成的的全过程

我需要先检查当前目录结构,了解项目的基础情况,然后规划飞机大战游戏的实现步骤。 toolName: view_folder status: success /Users/vince/Trae/demo1 查看main.py的内容,了解现有代码情况,然后规划飞机大战游戏的实现。 toolName: view_files status: success filePath: /Users/vince/Trae/demo1/main.py 我将重写main.py文件,实现一个完整的飞机大战游戏,包含玩家飞机、敌机、子弹系统和碰撞检测等功能。 toolName: edit_file_search_replace status: success filePath: /Users/vince/Trae/demo1/main.py changes: undefined 现在我需要安装pygame库,然后运行游戏来测试是否正常工作。 toolName: run_command status: success command: pip install pygame undefined 使用python -m pip来安装pygame库,因为直接使用pip命令没有找到。 toolName: run_command status: success command: python -m pip install pygame undefined 使用python3 -m pip来安装pygame库,因为环境中可能只安装了python3。 toolName: run_command status: success command: python3 -m pip install pygame undefined pygame安装失败,因为缺少SDL依赖。我将修改代码,使用Python内置的turtle库来实现飞机大战游戏,这样不需要任何外部依赖。 toolName: edit_file_search_replace status: success filePath: /Users/vince/Trae/demo1/main.py changes: undefined 现在运行游戏,测试使用turtle库实现的飞机大战是否正常工作。 toolName: run_command status: success command: python3 main.py undefined turtle库在macOS上遇到了Tk依赖问题,我将重新编写一个基于文本界面的飞机大战游戏,使用Python标准库,无需任何外部依赖。 toolName: edit_file_search_replace status: success filePath: /Users/vince/Trae/demo1/main.py changes: undefined 修改代码,使用跨平台的非阻塞键盘输入方式,替换Windows特有的msvcrt库。 toolName: edit_file_search_replace status: success filePath: /Users/vince/Trae/demo1/main.py changes: undefined 运行游戏,测试跨平台的文本界面飞机大战是否正常工作。 toolName: run_command status: success command: python3 main.py undefined 飞机大战游戏已经成功编写完成!以下是游戏的主要功能和特点: ## 游戏功能 - **玩家控制**:使用A键向左移动,D键向右移动 - **武器系统**:空格键发射子弹 - **敌机系统**:自动生成敌机并向下移动 - **碰撞检测**: - 子弹击中敌机得分 - 敌机撞击玩家游戏结束 - **分数系统**:击中一架敌机得10分 - **游戏状态**:支持游戏结束、重新开始和退出功能 ## 游戏特点 - **跨平台**:支持Windows和macOS/Linux系统 - **无外部依赖**:仅使用Python标准库 - **文本界面**:使用字符绘制游戏元素,简洁直观 - **操作简单**:清晰的操作说明 - **代码结构清晰**:模块化设计,易于扩展 ## 运行方式 在终端中执行以下命令:

python3 main.py

## 操作说明 - **A键**:向左移动 - **D键**:向右移动 - **空格键**:发射子弹 - **R键**:游戏结束后重新开始 - **Q键**:退出游戏 游戏已经可以运行,你可以在终端中体验这个简单而有趣的飞机大战游戏!

完成以上动作后,在代码区生成的py代码如下:

importosimportsysimportrandomimporttimeimportselect# 游戏设置WIDTH=40HEIGHT=20PLAYER_CHAR="▲"ENEMY_CHAR="▼"BULLET_CHAR="|"EMPTY_CHAR=" "classPlaneGame:def__init__(self):self.player_x=WIDTH//2self.player_y=HEIGHT-2self.bullets=[]self.enemies=[]self.score=0self.game_over=Falseself.last_enemy_time=time.time()self.enemy_spawn_delay=1.0# 秒# 设置标准输入为非阻塞ifos.name=='nt':importmsvcrtelse:# Unix系统设置importttyimporttermios self.old_settings=termios.tcgetattr(sys.stdin)tty.setcbreak(sys.stdin.fileno())defclear_screen(self):# 跨平台清屏os.system('cls'ifos.name=='nt'else'clear')defdraw(self):self.clear_screen()# 创建游戏网格grid=[[EMPTY_CHARfor_inrange(WIDTH)]for_inrange(HEIGHT)]# 绘制玩家grid[self.player_y][self.player_x]=PLAYER_CHAR# 绘制子弹forbulletinself.bullets:if0<=bullet[1]<HEIGHTand0<=bullet[0]<WIDTH:grid[bullet[1]][bullet[0]]=BULLET_CHAR# 绘制敌机forenemyinself.enemies:if0<=enemy[1]<HEIGHTand0<=enemy[0]<WIDTH:grid[enemy[1]][enemy[0]]=ENEMY_CHAR# 绘制边界print("="*(WIDTH+2))forrowingrid:print("|"+"".join(row)+"|")print("="*(WIDTH+2))# 绘制分数print(f"分数:{self.score}")ifself.game_over:print("游戏结束!按R键重新开始,按Q键退出")print("操作说明:A键向左,D键向右,空格键发射")else:print("操作说明:A键向左,D键向右,空格键发射,Q键退出")defhandle_input(self):# 跨平台非阻塞键盘输入try:ifos.name=='nt':importmsvcrtifmsvcrt.kbhit():key=msvcrt.getch().decode('utf-8').lower()self.process_key(key)else:# Unix系统使用selectrlist,_,_=select.select([sys.stdin],[],[],0.01)ifrlist:key=sys.stdin.read(1).lower()self.process_key(key)exceptExceptionase:passdefprocess_key(self,key):ifkey=='a'andself.player_x>0:self.player_x-=1elifkey=='d'andself.player_x<WIDTH-1:self.player_x+=1elifkey==' ':# 发射子弹self.bullets.append([self.player_x,self.player_y-1])elifkey=='r'andself.game_over:self.reset_game()elifkey=='q':self.exit_game()defexit_game(self):# 恢复终端设置ifos.name!='nt':importtermios termios.tcsetattr(sys.stdin,termios.TCSADRAIN,self.old_settings)sys.exit()defupdate(self):ifnotself.game_over:# 更新子弹new_bullets=[]forbulletinself.bullets:bullet[1]-=1# 子弹向上移动ifbullet[1]>0:# 子弹未飞出屏幕new_bullets.append(bullet)self.bullets=new_bullets# 生成敌机current_time=time.time()ifcurrent_time-self.last_enemy_time>self.enemy_spawn_delay:enemy_x=random.randint(0,WIDTH-1)self.enemies.append([enemy_x,0])self.last_enemy_time=current_time# 更新敌机new_enemies=[]forenemyinself.enemies:enemy[1]+=1# 敌机向下移动ifenemy[1]<HEIGHT:# 敌机未飞出屏幕new_enemies.append(enemy)self.enemies=new_enemies# 检测碰撞:子弹击中敌机bullets_to_remove=[]enemies_to_remove=[]fori,bulletinenumerate(self.bullets):forj,enemyinenumerate(self.enemies):ifbullet[0]==enemy[0]andbullet[1]==enemy[1]:bullets_to_remove.append(i)enemies_to_remove.append(j)self.score+=10# 删除击中的子弹和敌机(从后往前删除,避免索引问题)foriinsorted(bullets_to_remove,reverse=True):delself.bullets[i]forjinsorted(enemies_to_remove,reverse=True):delself.enemies[j]# 检测碰撞:敌机撞击玩家forenemyinself.enemies:ifenemy[0]==self.player_xandenemy[1]==self.player_y:self.game_over=Truedefreset_game(self):self.player_x=WIDTH//2self.player_y=HEIGHT-2self.bullets=[]self.enemies=[]self.score=0self.game_over=Falseself.last_enemy_time=time.time()defrun(self):whileTrue:self.handle_input()self.update()self.draw()time.sleep(0.1)# 控制游戏速度if__name__=="__main__":game=PlaneGame()game.run()

下面我来测试运行一下,单击代码区右上角的运行按钮:

在终端运行的效果是这样的:

啥也不说,V哥先爽一把。

小结一下

TRAE 覆盖从编码、调试到测试、重构、部署等多类开发任务。提供智能体编程工具 CUE,支持代码补全、多行修改、智能导入和智能重命名等功能,适配多种日常开发场景,帮助你减少重复操作,专注核心创新。TRAE 不仅将 AI 集成进 IDE,也让 Al 使用更多开发工具。TRAE 目前拥有双重开发模式:IDE 模式保留原有流程,控制感更强;SOLO 模式让 AI 主导任务,自动推进开发任务。你可根据任务需求自由切换,让高效与灵活并存。兄弟们,不用犹豫,快去试试吧。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 3:25:52

适用于新手的软文营销“三步法”,精准锁定目标客户

在信息冗余的传播环境中&#xff0c;软文营销面临着触达效率的严峻挑战。许多内容未能实现预期效果&#xff0c;其症结往往不在于质量&#xff0c;而在于策略的精准度。对于营销新手而言&#xff0c;掌握一套系统性的聚焦方法&#xff0c;比单纯追求产量更为重要。有效的软文营…

作者头像 李华
网站建设 2026/8/30 4:35:58

单细胞测序数据分析的10个关键步骤(R语言实现全解析)

第一章&#xff1a;单细胞测序技术概述单细胞测序技术&#xff08;Single-cell sequencing&#xff09;是近年来基因组学领域的重要突破&#xff0c;它能够在单个细胞水平上解析基因表达、表观遗传状态及基因组变异&#xff0c;从而揭示组织内部的细胞异质性。与传统批量测序&a…

作者头像 李华
网站建设 2026/8/29 21:19:56

智能Agent容器资源优化实战(资源限制配置黄金法则)

第一章&#xff1a;智能Agent容器资源优化概述在现代分布式系统中&#xff0c;智能Agent作为自主决策与动态响应的核心组件&#xff0c;广泛应用于自动化运维、边缘计算和AI服务编排等场景。这些Agent通常以容器化形式部署&#xff0c;其资源使用具有动态性、突发性和异构性等特…

作者头像 李华
网站建设 2026/8/29 16:49:07

MINIO升级版本至:RELEASE.2024-04-06T05-26-02Z

建议先阅读这篇博客&#xff0c;本文中只描述了关键信息&#xff0c;整体流程可以看下面文章中间件升级-CSDN博客 说明&#xff1a; 服务器&#xff1a;centos7, glibc2.17 应用程序&#xff1a;jdk1.8springboot2.7.18minio8.5.12 限制minio升级的因素&#xff1a;centos7对…

作者头像 李华
网站建设 2026/8/29 15:17:17

从数据到决策:用R语言完成金融机构流动性风险全景分析

第一章&#xff1a;Shell脚本的基本语法和命令Shell脚本是Linux/Unix系统中自动化任务的核心工具&#xff0c;通过编写可执行的文本文件&#xff0c;用户能够批量执行命令、控制程序流程并处理数据。它运行在命令行解释器&#xff08;如bash&#xff09;中&#xff0c;具备变量…

作者头像 李华
网站建设 2026/8/29 4:56:11

重排序效果上不去?从Dify日志中找出被隐藏的性能黑洞

第一章&#xff1a;重排序效果上不去&#xff1f;从Dify日志中找出被隐藏的性能黑洞在构建基于检索增强生成&#xff08;RAG&#xff09;的应用时&#xff0c;重排序&#xff08;Re-ranking&#xff09;是提升结果相关性的关键环节。然而&#xff0c;即便集成了先进的重排序模型…

作者头像 李华