OpenAI最新大模型GPT-4o體驗之Code Copilot AI編程大模型

一、前言

?

GPT-4o("o"代表"全能")具備處理各種文本、聲音和圖像資料的能力,能夠輸出多種格式的文本、聲音和圖像。

GPT-4o 的推出標志著 AI 技術的重大突破。它不再局限于單一媒介,而是首次實現了文本、語音和圖像的無縫整合。這種多媒體的即時響應能力完全突破了傳統人機交互的界限,使交流變得更加自然和流暢,引領了一場全新的交互革命。用戶無需在不同的應用間切換來適應各種輸入輸出形式,GPT-4o 可以一站式處理所有信息類型,無論是文字問題、語音命令還是圖像分析,都能迅速提供準確的反饋,大幅提升了效率和用戶體驗,開啟了交流的新時代。

在最新版本的 ChatGPT 中,這種能力得到了進一步加強,使得處理不同媒體形式的輸入輸出更加輕松自如。無論是日常對話和娛樂,還是專業領域的任務,如編程、數據分析、圖形設計或視頻編輯,GPT-4o 都能輕松勝任,成為用戶必不可少的生產力工具。

二、ChatGPT 4o 國內直接使用

介紹

ChatGPT4o功能:GPT-4o文本對話(支持聯網查詢)、Code Copilot(寫代碼、改bug、算法優化等)、DALL-E AI繪畫、AI語音對話(練習英語口語、模擬技術面試)、論文插件Consensus、專職家教(精通語數外,拍照上傳即可識別問題,給出權威回答,亦可用于模擬考試)、上傳文件、數據分析插件Data Analyst等100+GPTS插件

網址:https://ssas.kupepoem.cn

網站優點:

  1. 支持OpenAI最新的ChatGPT4o。

  2. 同時支持PC、手機、平板。

  3. 不需要國外特殊網絡,可以直接使用,非常方便 。

  4. 系統運行非常穩定 。

?

支持官方最新推出的ChatGPT4o

支持官方最新出的GPTs,100+大模型

寫作相關的

生產力相關的

研究與分析相關的

教育相關的

編程相關的

Code Copilot AI編程大模型

探索GPT-->編程--》選擇Code Copilot

開始聊天。

進入聊天界面。

用Java編寫一個二分查找的代碼,添加中文注釋。

輸入:

用Java編寫一個二分查找的代碼,添加中文注釋。

?

給出了完整的Java代碼類,代碼中也包含了完善的注釋。并給出了很清晰的解析和進一步優化建議。把代碼拷到idea里運行。驗證下結果:

結果是正確的。

生成一個java實戰課程設計:做一個貪吃蛇游戲

輸入:

你是一位java技術專家,游戲開發高手,請用java開發一個貪吃蛇游戲,添加中文注釋,有個開始按鈕和暫停按鈕。

?

?

給了兩個類的完整代碼。還給了改進建議,我們先去idea運行看看。把代碼復制進來。

運行代碼。結果:

程序有點小問題,蛇吃不到食物。如圖。蛇跟食物會重疊一部分

讓 Code Copilot 幫我解決這個問題。直接把出問題的截圖給它。

重新生成的代碼復制到idea中。運行結果,可以正常吃到蛇了。

初步的貪吃蛇游戲就做成功了。

升級改進

?

給了改進建議思路。改~ 輸入:

再添加計分系統,顯示玩家的得分列表。

?

把生成的代碼復制到idea中運行;

玩兩把。

得分列表有了,但感覺沒啥特點。再加點需求 輸入:

得分列表按分數降序,每個得分旁邊增加一列:游戲結束時間。

?

代碼復制到idea中。運行。再玩兩把。嗯,效果可以。

提供源碼

有需要自取。ScoreManager.java - 管理分數的類

import?java.text.SimpleDateFormat;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.Comparator;
import?java.util.Date;
import?java.util.List;public?class?ScoreManager?{private?List<ScoreEntry>?scores;public?ScoreManager()?{scores?=?new?ArrayList<>();}public?void?addScore(int?score)?{scores.add(new?ScoreEntry(score,?new?Date()));//?按分數降序排列Collections.sort(scores,?new?Comparator<ScoreEntry>()?{@Overridepublic?int?compare(ScoreEntry?s1,?ScoreEntry?s2)?{return?Integer.compare(s2.getScore(),?s1.getScore());}});}public?List<ScoreEntry>?getScores()?{return?scores;}public?static?class?ScoreEntry?{private?int?score;private?Date?date;public?ScoreEntry(int?score,?Date?date)?{this.score?=?score;this.date?=?date;}public?int?getScore()?{return?score;}public?String?getDate()?{SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");return?sdf.format(date);}}
}

SnakeGame.java - 主類

import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;public?class?SnakeGame?extends?JFrame?{private?GamePanel?gamePanel;private?JButton?startButton;private?JButton?pauseButton;private?JButton?scoreButton;private?JLabel?scoreLabel;private?ScoreManager?scoreManager;public?SnakeGame()?{setTitle("貪吃蛇游戲");setSize(600,?600);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);scoreManager?=?new?ScoreManager();gamePanel?=?new?GamePanel(scoreManager);startButton?=?new?JButton("開始");pauseButton?=?new?JButton("暫停");scoreButton?=?new?JButton("顯示得分");scoreLabel?=?new?JLabel("得分:?0");//?開始按鈕的功能:開始游戲startButton.addActionListener(new?ActionListener()?{public?void?actionPerformed(ActionEvent?e)?{gamePanel.startGame();gamePanel.requestFocusInWindow();?//?使游戲面板獲得鍵盤焦點}});//?暫停按鈕的功能:暫停游戲pauseButton.addActionListener(new?ActionListener()?{public?void?actionPerformed(ActionEvent?e)?{gamePanel.pauseGame();}});//?顯示得分按鈕的功能:顯示玩家得分列表scoreButton.addActionListener(new?ActionListener()?{public?void?actionPerformed(ActionEvent?e)?{showScoreList();}});//?控制面板包含開始、暫停按鈕和得分顯示JPanel?controlPanel?=?new?JPanel();controlPanel.add(startButton);controlPanel.add(pauseButton);controlPanel.add(scoreButton);controlPanel.add(scoreLabel);add(gamePanel,?BorderLayout.CENTER);add(controlPanel,?BorderLayout.SOUTH);//?注冊游戲面板的得分更新監聽器gamePanel.setScoreListener(new?GamePanel.ScoreListener()?{@Overridepublic?void?scoreUpdated(int?score)?{scoreLabel.setText("得分:?"?+?score);}});}//?顯示得分列表private?void?showScoreList()?{StringBuilder?scoresText?=?new?StringBuilder("玩家得分列表:\n");for?(ScoreManager.ScoreEntry?scoreEntry?:?scoreManager.getScores())?{scoresText.append("得分:?").append(scoreEntry.getScore()).append("?時間:?").append(scoreEntry.getDate()).append("\n");}JOptionPane.showMessageDialog(this,?scoresText.toString(),?"得分列表",?JOptionPane.INFORMATION_MESSAGE);}public?static?void?main(String[]?args)?{EventQueue.invokeLater(new?Runnable()?{public?void?run()?{SnakeGame?game?=?new?SnakeGame();game.setVisible(true);}});}
}

GamePanel.java - 游戲面板類

import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.KeyAdapter;
import?java.awt.event.KeyEvent;
import?java.util.Random;public?class?GamePanel?extends?JPanel?implements?ActionListener?{private?final?int?TILE_SIZE?=?20;?//?每個格子的大小private?final?int?WIDTH?=?600;????//?游戲面板的寬度private?final?int?HEIGHT?=?600;???//?游戲面板的高度private?final?int?ALL_TILES?=?(WIDTH?*?HEIGHT)?/?(TILE_SIZE?*?TILE_SIZE);?//?總格子數private?final?int[]?x?=?new?int[ALL_TILES];?//?貪吃蛇的x坐標private?final?int[]?y?=?new?int[ALL_TILES];?//?貪吃蛇的y坐標private?int?snakeLength;?//?貪吃蛇的長度private?int?foodX;???????//?食物的x坐標private?int?foodY;???????//?食物的y坐標private?int?score;???????//?玩家得分private?boolean?running?=?false;?//?游戲是否在進行中private?boolean?paused?=?false;??//?游戲是否暫停private?Timer?timer;?????//?定時器控制游戲速度private?char?direction?=?'R';?//?貪吃蛇的初始方向private?ScoreListener?scoreListener;private?ScoreManager?scoreManager;public?GamePanel(ScoreManager?scoreManager)?{this.scoreManager?=?scoreManager;setBackground(Color.BLACK);setFocusable(true);setPreferredSize(new?Dimension(WIDTH,?HEIGHT));addKeyListener(new?SnakeKeyAdapter());initGame();}public?void?setScoreListener(ScoreListener?listener)?{this.scoreListener?=?listener;}//?初始化游戲狀態private?void?initGame()?{snakeLength?=?3;for?(int?i?=?0;?i?<?snakeLength;?i++)?{x[i]?=?100?-?i?*?TILE_SIZE;y[i]?=?100;}placeFood();score?=?0;if?(scoreListener?!=?null)?{scoreListener.scoreUpdated(score);}timer?=?new?Timer(140,?this);}//?開始游戲public?void?startGame()?{if?(!running)?{running?=?true;paused?=?false;initGame();?//?重新初始化游戲狀態timer.start();}?else?if?(paused)?{paused?=?false;timer.start();}}//?暫停游戲public?void?pauseGame()?{if?(running)?{paused?=?true;timer.stop();}}//?繪制游戲內容@Overrideprotected?void?paintComponent(Graphics?g)?{super.paintComponent(g);if?(running)?{draw(g);}?else?{showGameOver(g);}}//?繪制貪吃蛇和食物private?void?draw(Graphics?g)?{g.setColor(Color.RED);g.fillRect(foodX,?foodY,?TILE_SIZE,?TILE_SIZE);for?(int?i?=?0;?i?<?snakeLength;?i++)?{if?(i?==?0)?{g.setColor(Color.GREEN);}?else?{g.setColor(Color.ORANGE);}g.fillRect(x[i],?y[i],?TILE_SIZE,?TILE_SIZE);}}//?顯示游戲結束信息private?void?showGameOver(Graphics?g)?{String?msg?=?"游戲結束。得分:?"?+?score;Font?font?=?new?Font("Helvetica",?Font.BOLD,?40);FontMetrics?metrics?=?getFontMetrics(font);g.setColor(Color.RED);g.setFont(font);g.drawString(msg,?(WIDTH?-?metrics.stringWidth(msg))?/?2,?HEIGHT?/?2);//?顯示繼續游戲的選項msg?=?"按空格鍵繼續游戲";font?=?new?Font("Helvetica",?Font.BOLD,?20);metrics?=?getFontMetrics(font);g.setFont(font);g.setColor(Color.WHITE);g.drawString(msg,?(WIDTH?-?metrics.stringWidth(msg))?/?2,?HEIGHT?/?2?+?40);//?保存當前得分到得分列表scoreManager.addScore(score);}//?檢查貪吃蛇是否吃到食物private?void?checkFoodCollision()?{if?((x[0]?==?foodX)?&&?(y[0]?==?foodY))?{snakeLength++;score++;if?(scoreListener?!=?null)?{scoreListener.scoreUpdated(score);}placeFood();}}//?移動貪吃蛇private?void?move()?{for?(int?i?=?snakeLength;?i?>?0;?i--)?{x[i]?=?x[(i?-?1)];y[i]?=?y[(i?-?1)];}switch?(direction)?{case?'U':y[0]?-=?TILE_SIZE;break;case?'D':y[0]?+=?TILE_SIZE;break;case?'L':x[0]?-=?TILE_SIZE;break;case?'R':x[0]?+=?TILE_SIZE;break;}}//?檢查貪吃蛇是否碰到自己或邊界private?void?checkCollision()?{for?(int?i?=?snakeLength;?i?>?0;?i--)?{if?((x[0]?==?x[i])?&&?(y[0]?==?y[i]))?{running?=?false;}}if?(x[0]?<?0?||?x[0]?>=?WIDTH?||?y[0]?<?0?||?y[0]?>=?HEIGHT)?{running?=?false;}if?(!running)?{timer.stop();}}//?隨機放置食物,并確保食物不與蛇重疊private?void?placeFood()?{boolean?valid;do?{valid?=?true;int?r?=?(int)?(Math.random()?*?(WIDTH?/?TILE_SIZE));foodX?=?((r?*?TILE_SIZE));r?=?(int)?(Math.random()?*?(HEIGHT?/?TILE_SIZE));foodY?=?((r?*?TILE_SIZE));for?(int?i?=?0;?i?<?snakeLength;?i++)?{if?(x[i]?==?foodX?&&?y[i]?==?foodY)?{valid?=?false;break;}}}?while?(!valid);}//?每次定時器觸發時調用@Overridepublic?void?actionPerformed(ActionEvent?e)?{if?(running?&&?!paused)?{checkFoodCollision();checkCollision();move();}repaint();}//?鍵盤事件處理,控制貪吃蛇的方向和重新開始游戲private?class?SnakeKeyAdapter?extends?KeyAdapter?{@Overridepublic?void?keyPressed(KeyEvent?e)?{int?key?=?e.getKeyCode();if?(key?==?KeyEvent.VK_SPACE?&&?!running)?{startGame();}if?((key?==?KeyEvent.VK_LEFT)?&&?(direction?!=?'R'))?{direction?=?'L';}if?((key?==?KeyEvent.VK_RIGHT)?&&?(direction?!=?'L'))?{direction?=?'R';}if?((key?==?KeyEvent.VK_UP)?&&?(direction?!=?'D'))?{direction?=?'U';}if?((key?==?KeyEvent.VK_DOWN)?&&?(direction?!=?'U'))?{direction?=?'D';}}}//?定義得分監聽器接口public?interface?ScoreListener?{void?scoreUpdated(int?score);}
}

三、感受

好用的功能太多太多,我就不在這個一一列舉了,有興趣的可以自行嘗試。

?

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

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

相關文章

社交電商推客系統全棧開發指南:SpringCloud+分潤算法+Flutter跨端

一、推客系統概述與市場背景推客系統&#xff08;TuiKe System&#xff09;是一種基于社交關系的營銷推廣平臺&#xff0c;通過用戶分享商品或服務鏈接&#xff0c;實現裂變式傳播和精準營銷。近年來&#xff0c;隨著社交電商的蓬勃發展&#xff0c;推客系統已成為企業獲客的重…

網安-中間件-Redis未授權訪問漏洞

目錄 Redis Redis持久化 動態修改配置 使用反彈連接的情況 常見監聽端口的方式 常見建立反彈連接的方式 流程 Linux crontab cron文件存儲路徑 利用Redis實現攻擊 1.webshell提權案例 2.定時任務shell反彈案例 3.SSH Key getshell案例 ?編輯Redis其他利用方式 …

【c++深入系列】:萬字詳解棧和隊列和deque(附模擬實現的源碼)

&#x1f525; 本文專欄&#xff1a;c &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; 石頭能被水滴穿&#xff0c;不是因為水有多強&#xff0c;而是因為它從未停過。 ★★★ 本文前置知識&#xff1a; 模版 棧 那么棧這個…

速通python加密之RSA加密

RSA加密 RSA加密是一種非對稱加密算法&#xff08;與AES等對稱加密不同&#xff09;&#xff0c;由羅納德李維斯特&#xff08;Ron Rivest&#xff09;、阿迪薩莫爾&#xff08;Adi Shamir&#xff09;和倫納德阿德曼&#xff08;Leonard Adleman&#xff09;于1977年提出&…

Java BeanUtils 類詳解:作用、語法與示例

一、BeanUtils 的核心作用BeanUtils 是 Apache Commons 和 Spring Framework 提供的工具類&#xff0c;主要用于簡化 JavaBean 的操作。核心功能包括&#xff1a;屬性拷貝&#xff1a;對象間同名屬性自動復制動態訪問&#xff1a;通過字符串名稱操作屬性類型轉換&#xff1a;自…

PyCharm高效開發全攻略

安裝與基礎配置下載PyCharm專業版或社區版&#xff08;免費&#xff09;并完成安裝。首次啟動時選擇默認設置或自定義主題、字體大小等界面偏好。配置Python解釋器路徑&#xff08;推薦使用虛擬環境&#xff09;&#xff0c;確保項目依賴隔離。快捷鍵與導航熟悉核心快捷鍵能大幅…

Pycharm 給 python 程序打包EXE的配置和方法

前言: Python 語言的設計變得越來越簡單,它有很多可以使用的庫,所以尤其在人工智能時代,Python語言被廣泛應用。但是Python語言和windows系統的兼容性稍微偏弱,如何生成windows可以執行的exe文件。是要一個很復雜的配置過程,本文就會做一個介紹。 本文,通過一個Python…

【Linux | 網絡】傳輸層(UDP和TCP)

目錄一、再談端口號1.1 端口號1.2 端口號的范圍劃分1.3 常見知名端口號1.4 netstat 命令1.5 進程與端口號的關系1.6 pidof 命令二、UDP協議2.1 UDP協議段格式2.2 如何理解UDP報頭和UDP報文2.2.1 UDP報頭2.2.2 UDP報文和UDP報文的管理2.2.3 UDP封裝過程2.3 UDP的特點2.4 UDP的緩…

mybatisX的自定義模板生成

在idea中使用mybtais的自定義模板生成&#xff0c;可以幫我們省去很多重復的代碼。 打開一個項目&#xff0c;我們要修改的主要就兩個文件&#xff0c;一個是生成的mapper接口&#xff0c;另一個是xml文件&#xff1a; 相應的mapper接口模板為&#xff1a; package ${mapper…

miniz:一個輕量級、高性能的開源壓縮庫

目錄 1.簡介 2.核心特性 3.基本使用示例 4.與 ZLIB 的對比 5.使用場景 6.注意事項 1.簡介 miniz 是一個輕量級、高性能的開源壓縮庫&#xff0c;專注于提供 ZLIB/GZIP 兼容的壓縮和解壓縮功能。它的核心優勢在于體積小巧&#xff08;單文件實現&#xff09;、跨平臺支持和…

Jenkins接口自動化測試(構建)平臺搭建

Python接口自動化測試零基礎入門到精通&#xff08;2025最新版&#xff09;自動化測試流程 在進行平臺搭建前&#xff0c;我們首先要問自己&#xff1a;我需要搭建的平臺的功能是什么&#xff0c;要實現什么目標&#xff1f; 在我的理解中&#xff0c;自動化構建平臺的執行流…

Day 22: 復習

機器學習數據處理與降維技術復習總結 前言 經過6天的學習&#xff0c;我們系統地學習了從基礎的Numpy數組操作到高級的降維算法&#xff0c;這些內容構成了機器學習數據預處理的重要知識體系。本文將對這一系列學習內容進行全面復習和總結&#xff0c;幫助大家建立完整的知識…

力扣 hot100 Day56

46. 全排列 給定一個不含重復數字的數組 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 //抄的 class Solution { private:vector<vector<int>>result;vector<int> path; public:void backtracking(vector<int>& nu…

Android 編碼規范全指南

在 Android 開發領域&#xff0c;代碼不僅是功能實現的載體&#xff0c;更是團隊協作與項目迭代的基礎。一套完善的編碼規范&#xff0c;能讓代碼從 “可運行” 升級為 “易維護、可擴展、低風險”。本文基于 Google、Square 等頂尖團隊的實踐經驗&#xff0c;結合國內 Android…

[RPA] Excel中的字典處理

案例1一個Excel文件總共有2個Sheet頁&#xff0c;分別為總表和對照表通過對照表sheet頁&#xff0c;設置價格對照字典對照表循環總表sheet頁&#xff0c;根據循環到的商品名稱&#xff0c;找到對應字典中的價格&#xff0c;并計算出總價總表將總價寫入到Excel表中C列&#xff0…

基于NSGAII優化算法的車間生產調度matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.部分程序 4.算法理論概述 5.參考文獻 6.完整程序 1.程序功能描述 車間生產調度是制造業的核心環節&#xff0c;其目標是在滿足設備約束、工序優先級等條件下&#xff0c;優化多個相互沖突的生產指標&#xff08;如…

Cmake、VS2019、C++、openGLopenCV環境安裝

在 CMake 和 Visual Studio 2019 環境下安裝和配置 OpenGL、OpenCV 以及 CUDA 可能會有些復雜&#xff0c;因為涉及的組件多且相互依賴。以下是一個詳細的指南&#xff0c;幫助您逐步完成安裝和配置。 1. 前提條件 在開始之前&#xff0c;請確保您已安裝以下軟件&#xff1a; …

視頻二維碼在產品設備說明書中的應用

在當今數字化的時代&#xff0c;傳統的產品設備說明書正面臨著一場變革。文字和圖片雖然能提供基本信息&#xff0c;但在復雜設備的安裝、操作和故障排除方面&#xff0c;往往顯得力不從心。而視頻二維碼的出現&#xff0c;為這一困境提供了完美的解決方案&#xff0c;它將冰冷…

【Pytest 使用教程】

pytest 使用 test_basic.py Pytest 完全實戰手冊 一、核心概念與基礎 1、在pytest框架下運行測試用例&#xff0c;最基礎的一共有三點。導入pytest的包寫一個方法&#xff0c;或者類。后面運行的時候&#xff0c;相當于運行這個方法&#xff0c;或者類里的方法&#xff0c;無需…

基于OpenOCD 的 STM32CubeIDE 開發燒錄調試環境搭建 DAPLINK/STLINK

需要部署一個開發環境,實現h7的板子通過daplink功能給目標板燒寫程序(同事要將這個過程用fpga實現),需要通過openocd+gdb+daplink stm32; 總結:單條命令執行太麻煩,參考4寫成腳本文件: 獨立腳本使用Openocd ? 在**“在Stm32CubeIDE環境下使用DAP-Link仿真”**一文中…