從 0 到 1:用 Trae 插件 Builder 模式開發端午包粽子小游戲

?

前言

Trae插件獲取:https://www.trae.com.cn/plugin

在編程的世界里,效率就是生命。我們開發者常常為了一個項目的搭建,重復著創建文件夾、初始化項目配置、編寫樣板代碼等一系列繁瑣的操作,耗費了大量的時間和精力。而如今,Trae 插件的 Builder 模式橫空出世,為我們的編程之旅帶來了一束全新的光亮。它就像是一個智能化的Ai工程師,能夠理解我們的需求,快速搭建起項目的框架,極大地減少了重復性工作,讓我們得以將更多的精力投入到核心邏輯的開發中。由于馬上就要端午節了,那么接下來我將利用Trae插件的builder模式,帶大家從0到1開發一個端午包粽子小游戲。

Trae插件builder模式介紹

????在這里插入圖片描述

什么是Trae 插件的Builder 模式呢?通俗點來說,就好比你想蓋一座房子,正常情況下,你得先畫圖紙、挖地基、砌墻、裝窗戶等等,一步步來,這中間要操心好多瑣碎又重復的活兒。而 Builder 模式就像是有個智能的建筑工人,你跟它說 “我要蓋一座兩層樓的別墅,要有個大大的客廳、三間臥室、一個花園”,它立馬就能把房子的大體框架給你搭好,地基挖好、墻砌到一定高度、門窗位置也都留出來,甚至還能把水電線路的大概走向都規劃好,后續你再在它的基礎上精細裝修、布置內部細節就行。

功能特點

  • 自然語言項目初始化 :開發者只需用自然語言描述項目需求,如 “創建一個 Python Flask Web 應用,實現用戶注冊登錄功能,使用SQLite 數據庫存儲數據,前端使用 Bootstrap5”,Builder模式就能理解并響應,創建項目結構、生成核心代碼文件,還能提供開發路線圖建議。
  • 智能項目架構設計 :能根據項目類型自動選擇合適的技術棧和架構模式。如 Web 應用推薦 Flask/Django + Bootstrap及 MVC 架構;數據分析項目推薦 Pandas + Matplotlib 及管道模式等。
  • 多文件協調代碼生成 :可同時生成多個文件的代碼,并確保這些文件之間的協調性,使項目代碼結構完整規范。
  • 生成并處理代碼變更:根據需求自動創建新文件或編輯已有文件,并自動保存生成的代碼。開發者可選擇接受或拒絕代碼變更,包括處理多文件內的所有代碼變更和單文件內的所有代碼變更。
  • 生成并運行命令 :會根據開發需求推薦必要的 Shell 命令,開發者選擇 “運行” 或 “跳過”,點擊 “運行” 后在 IDE終端內運行該命令,命令運行后 Builder 會自動讀取并分析運行結果,若運行異常會自動分析原因并給出解決建議。
  • 成果實時預覽 :完成開發需求后會提供 “預覽” 按鈕,點擊后可展示開發成果,如 Preview頁面等,方便開發者邊開發邊驗證,及時調整優化。

Trae插件安裝與使用

安裝

這里以IDEA為例,首先點擊左上角“文件”,然后選擇“設置”。
在這里插入圖片描述

在彈出的對話框中單擊“插件”,然后搜索“Trae”。選擇搜索結果中的第一個,然后單擊安裝。(注意,這里可能會出現搜索不到任何東西的情況,這種情況一般是沒連接上網絡。確定網絡沒問題之后多刷新幾次就好了)
在這里插入圖片描述

安裝后需要重啟IDEA

在這里插入圖片描述

重啟后單擊右側的圖標就可以打開Trae了,默認的是Chat模式,我們選擇Builder模式即可。(注意,第一次安裝這里可能會出現沒有紅框中的這部分內容,不能選擇模式。這種情況再重啟一下IDEA就可以了。)

在這里插入圖片描述

使用

安裝好以后我們就可以在下方輸入框中用自然語言進行提問了,但是為了達到預期效果,我們提問時還是要規范。可以從以下幾個方面來規范問題:

  • 明確項目類型:清楚地說出你要創建的項目是什么類型,比如是網站、小程序、桌面應用,還是其他類型的應用程序。
  • 具體功能描述:詳細描述項目需要具備的功能,比如用戶注冊登錄、數據可視化展示、文件上傳下載等。
  • 指定技術棧:如果對項目所用的技術有要求,要明確指出,例如使用 Python 的 Flask 框架搭建后端、用 React 構建前端界面等。
  • 提及非功能性需求:如有界面風格、性能要求、安全性要求等非功能性需求,也可在描述中提及,以便生成更貼近你期望的項目。

示例如下:

  1. 電商網站:創建一個電商網站,前端使用 Vue.js 構建用戶界面,后端采用 Python 的 Django框架搭建。網站要具備用戶注冊登錄功能,用戶可以瀏覽商品、添加商品到購物車、下單購買。商品信息存儲在 MySQL數據庫中,整體風格要簡潔清新,適合大眾消費群體,同時要實現商品搜索功能,方便用戶查找所需商品。
  2. 數據分析工具:開發一個數據分析工具,使用 Python 的 Pandas 庫處理數據,Matplotlib庫實現數據可視化。工具能夠讀取 Excel 和 CSV格式的文件,對數據進行清洗、過濾和分析,生成柱狀圖、折線圖、餅圖等多種可視化圖表,并將分析結果保存為新的文件或直接在界面展示,界面要簡潔直觀,方便非技術人員操作。
  3. 打磚塊游戲:創建一個簡單的打磚塊游戲,使用 HTML5、CSS3 和 JavaScript開發。游戲界面包含一個球、一個可移動的擋板和多層磚塊,球通過反彈擊中磚塊,每擊碎一個磚塊得分增加,當所有磚塊都被擊碎時游戲勝利。游戲要記錄分數、關卡和游戲時間,支持用戶選擇不同難度級別,界面風格卡通化,增加游戲的趣味性。
  4. 文件同步工具:開發一個文件同步工具,使用 Python 的 Paramiko庫實現與遠程服務器的文件傳輸和同步功能。工具可以自動檢測本地指定文件夾與遠程服務器特定目錄下的文件差異,實現雙向同步,確保本地和遠程文件的一致性。同步過程中要顯示進度條,方便用戶查看同步狀態,并且要支持加密傳輸,保證文件的安全性。
  5. 番茄鐘應用:創建一個番茄鐘應用,前端使用 React Native 開發,支持在安卓和 iOS 平臺運行。應用具備基本的計時功能,包括25 分鐘專注時間、5 分鐘短休息和 15分鐘長休息模式,用戶可以自定義計時時間。在計時期間,界面顯示倒計時和進度條,播放背景音樂幫助用戶集中注意力,用戶完成一定數量的番茄鐘后可以設置獎勵機制,界面設計要簡潔大方,操作方便。

實戰案例-端午包粽子小游戲

準備工作

這個包粽子游戲是從推箱子游戲演變而來,預期效果是小人將飯團推向粽子葉,然后變成粽子。然后設置不同難度的關卡,具體的玩法和推箱子一樣,只是所有元素替換為端午風格。

小游戲中的圖片和關卡,是Builder模式不能直接生成的,需要我們提前準備。我們先在項目文件下創建兩個文件夾,一個代表圖片,一個代表關卡。圖片和關卡可以在網上找公開免費的。如下圖所示。

在這里插入圖片描述

pic文件是游戲中所用到的圖片,maps是關卡,所有關卡用map來保存。

實現小游戲

準備工作做好以后,可以在輸入框中用自然語言讓Builder來生成項目。自然語言描述如下:

使用JAVA語言創建一個推箱子小游戲;
游戲有50個關卡,每個關卡在maps文件夾中以map格式表示;
游戲中的圖片在pic文件夾,從0-9分別表示空白區域、墻壁、可通行區域、普通箱子、目標點、向下玩家、向左玩家、向右玩家、向上玩家、已推到目標點箱子。
界面設計
主窗口:包含菜單欄、操作按鈕、游戲信息標簽和游戲主面板。
菜單欄:提供“重新開始”“上一關”“下一關”“選關”“退出”“關于作者”等功能。
操作按鈕:提供“重玩”“上一關”“下一關”“選關”“第一關”“最終關”等功能。
游戲主面板:顯示游戲地圖和當前關卡信息。

生成的第一版代碼如下圖所示。
在這里插入圖片描述

基本界面有了,但是地圖和關卡都沒有。此時需要審查一下代碼,發現他所有內容寫在了一個類,其中加載地圖部分代碼有問題。接下來有兩個方案可以選擇,第一是繼續提出需求進行迭代,第二是代碼全部拒絕重新優化自然語言進行提問。

下面提出新需求,進行迭代。新需求如下:

SokobanGame 主類,main 方法創建 MainFrame 實例。
MainFrame 繼承 JFrame 并實現 ActionListener,管理窗口、菜單、按鈕,處理事件。
MainPanel 繼承 JPanel 并實現 KeyListener,負責游戲繪制與操作處理。
MapReader 類讀取地圖文件。涵蓋關卡切換、玩家移動、通關判斷等功能。

在這里插入圖片描述

運行結果如下:

使用體驗

使用 Trae 插件的 Builder 模式開發端午包粽子小游戲,整體上是一種新奇且高效的體驗。在項目初始化階段,僅用一段自然語言描述,就能快速搭建起游戲的基本框架,這在以往的開發實踐中是很難想象的。它極大地節省了搭建項目基礎架構的時間,讓我們能迅速看到一個可運行的雛形,為后續的功能細化和優化打下了良好基礎。

在功能迭代過程中,通過不斷提出新的自然語言需求,逐步完善了游戲的各個模塊。像對游戲主類、主面板、地圖讀取類等的細化需求,插件都能較好地理解并生成相應的代碼結構,這使得代碼的組織更加清晰合理,便于后續的開發和維護。

不過,在開發過程中也遇到了一些挑戰。比如,自然語言描述的精準度對生成結果有很大影響。有時描述不夠詳細或存在歧義,生成的代碼就需要較多的調整。另外,對于一些較為復雜的邏輯處理和特定的游戲算法優化,插件提供的代碼可能還需要我們開發者進一步深入完善。

總結

總體而言,Trae 插件 Builder 模式在代碼生成效率、游戲開發針對性支持、交互體驗和學習曲線等方面都有突出表現。相比國內外類似功能,它更專注于特定場景的項目開發,能更精準地滿足開發者的個性化需求,尤其適合中小項目和特定類型應用的快速搭建。然而,對于復雜大型項目的高度定制化開發,它還有提升空間,未來可進一步優化自然語言理解精度和復雜邏輯處理能力,以應對更廣泛和更具挑戰性的開發任務。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83439.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83439.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83439.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

React-native之Flexbox

本文總結: 我們學到了 React Native 的 Flexbox 布局,它讓寫樣式變得更方便啦!😊 Flexbox 就像一個有彈性的盒子,有主軸和交叉軸(行或列)。 在 RN 里寫樣式要用 StyleSheet.create 對象,屬性名…

Leetcode 1336. 每次訪問的交易次數

1.題目基本信息 1.1.題目描述 表: Visits ---------------------- | Column Name | Type | ---------------------- | user_id | int | | visit_date | date | ---------------------- (user_id, visit_date) 是該表的主鍵(具有唯一值的列的組合) 該表的每行表示 use…

騰訊云國際版和國內版賬戶通用嗎?一樣嗎?為什么?

在當今全球化的數字化時代,云計算服務成為眾多企業和個人拓展業務、存儲數據的重要選擇。騰訊云作為國內領先的云服務提供商,其國際版和國內版備受關注。那么,騰訊云國際版和國內版賬戶是否通用?它們究竟一樣嗎?背后又…

解鎖Java多級緩存:性能飛升的秘密武器

一、引言 文末有彩蛋 在當今高并發、低延遲的應用場景中,傳統的單級緩存策略往往難以滿足性能需求。隨著系統規模擴大,數據訪問的瓶頸逐漸顯現,如何高效管理緩存成為開發者面臨的重大挑戰。多級緩存架構應運而生,通過分層緩存設…

Android Kotlin 算法詳解:鏈表相關

前言 😊 在 Android 開發中,算法與數據結構是基本功之一,而鏈表(Linked List)作為常見的數據結構,經常出現在各類面試題與實際業務場景中。本文將以 Android Kotlin 為語言,結合 LeetCode 上的…

Blinko智能筆記系統實現跨平臺同步與隱私保護的完整技術方案解析

文章目錄 前言1. Docker Compose一鍵安裝2. 簡單使用演示3. 安裝cpolar內網穿透4. 配置公網地址5. 配置固定公網地址 推薦 ? 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。 點擊跳轉到網站 前言 是否…

【小紅書】API接口,獲取筆記列表

小紅書筆記列表API接口詳解 - 深圳小于科技助力高效數據對接 深圳小于科技(官網:https://www.szlessthan.com)提供的小紅書筆記列表API接口,幫助開發者快速獲取小紅書平臺筆記數據,實現高效內容管理與分析。 接口概述…

Qwen2.5-VL 損失函數

Qwen2.5-VL 損失函數 flyfish 文章名稱鏈接深入理解交叉熵損失 CrossEntropyLoss - 概率基礎鏈接深入理解交叉熵損失 CrossEntropyLoss - 對數鏈接深入理解交叉熵損失 CrossEntropyLoss - 概率分布鏈接深入理解交叉熵損失 CrossEntropyLoss - 信息論(交叉熵&#…

LeetCode 1524. 和為奇數的子數組數目

好的!讓我們詳細解釋 LeetCode 1524. 和為奇數的子數組數目 這道題的思路和解法。 題目: https://leetcode.cn/problems/number-of-sub-arrays-with-odd-sum/description/ 題目分析 問題描述: 給定一個整數數組 arr,返回其中和…

kafka學習筆記(三、消費者Consumer使用教程——消費性能多線程提升思考)

1.簡介 KafkaConsumer是非線程安全的,它定義了一個acquire()方法來檢測當前是否只有一個線程在操作,如不是則會拋出ConcurrentModifcationException異常。 acquire()可以看做是一個輕量級鎖,它僅通過線程操作計數標記的方式來檢測線程是否發…

百度蜘蛛池的作用是什么?技術@baidutopseo

百度蜘蛛池的作用 百度蜘蛛池是一種用于集中管理和調度百度搜索引擎蜘蛛(爬蟲)的技術工具。其主要目的是優化網站內容的收錄效率,幫助搜索引擎更高效地發現和抓取網頁內容。技術baidutopseo 提升收錄效率 通過集中大量百度蜘蛛的訪問請求&…

黑馬Java面試筆記之 消息中間件篇(Kafka)

一. Kafka保證消息不丟失 Kafka如何保證消息不丟失 使用Kafka在消息的收發過程中都會出現消息丟失,Kafka分別給出了解決方案 生產者發送消息到Brocker丟失消息在Brocker中存儲丟失消費者從Brocker接收消息丟失 1.1 生產者發送消息到Brocker丟失 設置異步發送 消息…

dis css port brief 命令詳細解釋

華為交換機命令 display css port brief 詳細解釋 display css port brief 是華為交換機中用于 快速查看堆疊(CSS,Cluster Switch System)端口狀態及關鍵參數 的命令,適用于日常運維、堆疊鏈路健康檢查及故障定位。以下是該命令的…

Redis 緩存問題及其解決方案

1. 緩存雪崩 概念:緩存雪崩是指在緩存層出現大范圍緩存失效或緩存服務器宕機的情況下,大量請求直接打到數據庫,導致數據庫壓力驟增,甚至可能引發數據庫宕機。 影響:緩存雪崩會導致系統性能急劇下降,甚至導…

使用Python進行函數作畫

前言 因為之前通過deepseek繪制一下卡通的人物根本就不像,又想起來之前又大佬通過函數繪制了一些圖像,想著能不能用Python來實現,結果發現可以,不過一些細節還是需要自己調整,deepseek整體的框架是沒有問題&#xff0…

關于list集合排序的常見方法

目錄 1、list.sort() 2、Collections.sort() 3、Stream.sorted() 4、進階排序技巧 4.1 空值安全處理 4.2 多字段組合排序 4.3. 逆序 5、性能優化建議 5.1 并行流加速 5.2 原地排序 6、最佳實踐 7、注意事項 前言 Java中對于集合的排序操作,分別為list.s…

Java高級 | (二十二)Java常用類庫

參考:Java 常用類庫 | 菜鳥教程 一、核心Java類庫 二、常用第三方庫 以下是 Java 生態系統中廣泛使用的第三方庫: 類別庫名稱主要功能官方網站JSON 處理JacksonJSON 序列化/反序列化https://github.com/FasterXML/jacksonGsonGoogle 的 JSON 庫https:…

幾種常用的Agent的Prompt格式

一、基礎框架范式&#xff08;Google推薦標準&#xff09; 1. 角色與職能定義 <Role_Definition> 你是“項目專家”&#xff08;Project Pro&#xff09;&#xff0c;作為家居園藝零售商的首席AI助手&#xff0c;專注于家裝改造領域。你的核心使命&#xff1a; 1. 協助…

蛋白質結構預測軟件openfold介紹

openfold 是一個用 Python 和 PyTorch 實現的 AlphaFold2 的開源復現版&#xff0c;旨在提升蛋白質結構預測的可復現性、可擴展性以及研究友好性。它允許研究者在不開源 DeepMind 原始代碼的情況下&#xff0c;自由地進行蛋白結構預測的訓練和推理&#xff0c;并支持自定義模型…

AD轉嘉立創EDA

可以通過嘉立創文件遷移助手進行格式的轉換 按照它的提示我們整理好文件 導出后是這樣的&#xff0c;第一個文件夾中有原理圖和PCB&#xff0c;可以把它們壓縮成一個壓縮包 這個時候我們打開立創EDA&#xff0c;選擇導入AD 這樣就完成了