news 2026/7/7 13:24:38

使用 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/7/7 18:42:06

破局传统 PLM 局限,研发系统筑牢汽车半导体研发管理防线——全星研发项目管理APQP软件系统

破局传统 PLM 局限&#xff0c;全星研发系统筑牢汽车半导体研发管理防线 一、 产品定位与核心理念 全星研发项目管理APQP软件系统&#xff0c;是一款专为满足汽车部件、芯片半导体等高合规、高复杂性行业需求而设计的体系化研发管理平台。本系统超越了传统产品生命周期管理&am…

作者头像 李华
网站建设 2026/7/7 14:54:28

VS Code 1.107 更新:多智能体协同与开发体验升级

2025 年 12 月 10 日&#xff0c;微软正式发布了 VS Code 1.107 版本&#xff0c;这次更新堪称年度最重磅&#xff01;多智能体协同开发成为核心亮点&#xff0c;彻底重构了开发者与 AI 协作的模式。想象一下&#xff0c;你可以同时部署多个 AI 助手分工合作&#xff1a;一个负…

作者头像 李华
网站建设 2026/7/7 8:10:37

【开源代码】餐饮点餐系统源码(ThinkPHP+Vue3+UniApp)

三勾餐饮点餐连锁版系统是一个基于thinkphp8element-plusuniapp构建的全面解决方案&#xff0c;旨在为连锁餐饮企业提供高效的点餐与管理服务。该系统支持多端应用发布&#xff0c;包括微信小程序、H5、安卓及iOS平台&#xff0c;实现数据互通和全网覆盖。它不仅适合直接使用&a…

作者头像 李华
网站建设 2026/7/7 13:06:50

人到了35岁以后,最好的状态不是领导青睐,人脉多广,而是这三种

职场上总说“35岁是道坎”&#xff0c;这话真不是空穴来风。 很多人到了这个年纪&#xff0c;要么愁着没法升职&#xff0c;要么忙着维持各种人际关系&#xff0c;好像要是得不到领导看重、认识的人不够多&#xff0c;这辈子就没混好一样。 但等你真走过这个阶段就会明白&…

作者头像 李华
网站建设 2026/7/7 7:59:29

全球传送带式金属检测系统市场调查报告

传送带式金属检测系统是一种集成式检测解决方案&#xff0c;将金属探测器头安装在传送带上方或周围&#xff0c;自动检测并去除移动产品中的金属污染物&#xff08;铁、有色金属和不锈钢&#xff09;。此类系统广泛应用于食品、制药、纺织、塑料、采矿和回收行业&#xff0c;以…

作者头像 李华