五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

我用ChatGPT和Lightly做了一個(gè)Astro Shooter游戲,沒有寫一行代碼

2023-02-24 13:30 作者:gewzk  | 我要投稿

自從ChatGPT出現(xiàn)后,它很快地就占據(jù)了我的各種新聞?lì)^條和日常工作生活。對(duì)于這種AI產(chǎn)品,我其實(shí)并沒有很陌生。畢竟GitHub的Copilot和Jasper等AI工具其實(shí)更早以前就出現(xiàn)了。

但ChatGPT不一樣,它一出現(xiàn)幾乎就風(fēng)靡全球,遠(yuǎn)遠(yuǎn)超過歷史上的其他產(chǎn)品。

Copilot和Jasper還可以說是為程序員和文案人員而生,但ChatGPT卻幾乎什么人群都適用,甚至還是免費(fèi)的。只要聯(lián)網(wǎng)注冊(cè)賬號(hào),你就可以隨時(shí)向ChatGPT提出任何問題。

大多數(shù)時(shí)候,它都會(huì)給你一個(gè)答案。令人震驚的是,ChatGPT給出的答案大多數(shù)時(shí)候還頗有意思,甚至語(yǔ)言也不會(huì)過于生硬。

ChatGPT面世以后,有大量的文章吹噓ChatGPT能夠通過谷歌的面試,不過也有一些批評(píng)者說ChatGPT其實(shí)很智障。出于這種好奇心,我嘗試使用ChatGPT自動(dòng)生成代碼進(jìn)行編程,來見識(shí)一下ChatGPT的能力。

我做了一個(gè)小測(cè)試,嘗試通過用Python做一個(gè)簡(jiǎn)單的Astro Shooter游戲來弄清楚ChatGPT的能力。我的目標(biāo)是:除了調(diào)整參數(shù)外,完全不寫任何一行代碼,相當(dāng)于一個(gè)不太懂編程的人使用ChatGPT來開發(fā)游戲。

在這篇文章中,我們只會(huì)用到兩個(gè)工具:Lightly和ChatGPT。Lightly是一個(gè)超級(jí)輕量且強(qiáng)大的在線編輯器(IDE),它允許你在瀏覽器在網(wǎng)頁(yè)上進(jìn)行編譯、運(yùn)行項(xiàng)目。我們將用它作為我們的編輯器和編譯器,與人工智能語(yǔ)言模型ChatGPT一起開發(fā)我們的游戲。

向ChatGPT發(fā)問

首先,我用一個(gè)簡(jiǎn)單明了的問題開始了實(shí)驗(yàn)。我問ChatGPT“是否能用Pygame為我編碼一個(gè)Astro Shooter游戲”。

ChatGPT毫不猶豫地回復(fù)了我一段基本代碼,如下:

ChatGPT給出的第一段代碼基本上只是個(gè)游戲畫布。你可以擁有你自己的飛船和一個(gè)敵人的占位符,除此以外別無其它,你甚至不能稱其為游戲,因?yàn)樗踔翛]有宇宙飛船的外觀設(shè)計(jì)。

我從Itch.io里找來了一些簡(jiǎn)單的宇宙飛船素材,這部分素材會(huì)附在后面的項(xiàng)目包里,歡迎取需。

增加方向鍵功能來移動(dòng)飛船

光有畫布可不行,我們必須讓ChatGPT寫出新的代碼,調(diào)用更多的功能來移動(dòng)我們的飛船。因此,我向ChatGPT提出了我的第二個(gè)需求:添加一個(gè)用方向鍵左右移動(dòng)飛船的函數(shù)。

這就是添加到游戲循環(huán)中的移動(dòng)函數(shù),下面是完整代碼:

我嘗試運(yùn)行ChatGPT生成的代碼,但當(dāng)我按下方向鍵時(shí),飛船移動(dòng)得太快了,甚至移動(dòng)到了邊界之外。

于是我又向ChatGPT提出了一些需求。在提問的過程中,ChatGPT很常會(huì)吞掉一些長(zhǎng)答案,或者運(yùn)行到一半就會(huì)卡殼。這個(gè)似乎是ChatGPT服務(wù)器的問題,有時(shí)候刷新一下就好,但我最終發(fā)現(xiàn),讓他更新小部分代碼才是真正的打開方式。當(dāng)然,這種方式還是需要有一點(diǎn)代碼基礎(chǔ),否則有可能就不知道要把代碼段復(fù)制到原代碼的哪個(gè)部分。

在給出一個(gè)比較明確的要求后,我終于得到了比較理想的游戲代碼。

按照慣例把代碼復(fù)制粘貼到Lightly IDE中運(yùn)行。不得不說,Lightly IDE真的是一個(gè)很方便的在線編輯器,不需要任何安裝就可以讓你在瀏覽器上運(yùn)行大多數(shù)編程項(xiàng)目。

讓ChatGPT生成更多的代碼,讓游戲正常運(yùn)行

我向ChatGPT提出了更多的需求,包括生成更多的敵人,讓飛船射出導(dǎo)彈,以及在被導(dǎo)彈擊中時(shí)讓敵方飛船消失。

下面是我在ChatGPT輸入的一些需求:

  • 讓游戲中再出現(xiàn)十個(gè)敵人。

  • 讓玩家在按下空格鍵時(shí)發(fā)射導(dǎo)彈。

  • 當(dāng)導(dǎo)彈擊中敵人時(shí),使敵人消失。如果導(dǎo)彈擊中了敵人,玩家就得到100分。

說實(shí)話,這個(gè)過程并不像我想象的那么容易。我花了很多時(shí)間和ChatGPT溝通并反復(fù)調(diào)試,不斷在它生成的代碼中發(fā)現(xiàn)新的問題,然后再讓它解決問題。

例如:當(dāng)我第一次要求ChatGPT為我生成更多的敵人時(shí)。它只是顯示了一堆敵人,有些甚至出現(xiàn)在玩家的下方,這就變得無法射擊。很明顯,這和我設(shè)想的并不一樣。

讓敵人動(dòng)起來

當(dāng)前版本中,游戲里唯一會(huì)動(dòng)的東西是玩家的飛船和它的導(dǎo)彈。敵人的飛船仍然是一動(dòng)不動(dòng)的,完全被固定在出生點(diǎn)上。

所以,我需要給敵人增加一些動(dòng)作,讓他們不斷朝著玩家向下移動(dòng)。

如果你足夠熟悉編程,一定明白想實(shí)現(xiàn)這一點(diǎn)其實(shí)并不難,但用通俗的語(yǔ)言指揮ChatGPT來實(shí)現(xiàn)這個(gè)效果,需要花費(fèi)一些時(shí)間才能獲得一個(gè)相對(duì)滿意的結(jié)果。

下面就是一個(gè)溝通失敗的例子:

要是我是飛船駕駛員,我可能人都傻了。

我花了很多時(shí)間才找到正確的溝通方法。想要讓ChatGPT更好更準(zhǔn)確的為你提供答案,最好的方法是提出下面這樣具體的問題:

ChatGPT會(huì)告訴你哪些可以修改,并給出相關(guān)的代碼片段。在這里,你可以手動(dòng)檢查代碼,替換需要的東西,而不是直接復(fù)制和粘貼生成的代碼。

我在下面又問了ChatGPT幾個(gè)問題,讓游戲變得更好一些。

  • 我要怎樣才能把導(dǎo)彈改成白色矩形?

  • 我要怎樣修改代碼,才能使敵人不顯示在玩家下面?

  • 我要怎樣修改代碼,才能使敵人向下移動(dòng)的速度更慢?

最終,我獲得了一個(gè)完全由ChatGPT提供代碼,并且看起來可玩的游戲。下面是這個(gè)游戲在Lightly中運(yùn)行的樣子:

下面是這個(gè)游戲的完整代碼,你可以復(fù)制到瀏覽器上立即運(yùn)行這個(gè)游戲并試玩一下:https://2129eec9db-share.lightly.teamcode.com


對(duì)ChatGPT的進(jìn)一步思考

ChatGPT這么火不是沒有理由的。誰(shuí)會(huì)想到一個(gè)聊天機(jī)器人只靠提示命令就能自己寫代碼開發(fā)出一個(gè)游戲?

不過,雖然我對(duì)ChatGPT的能力感到相當(dāng)贊嘆,但這并不意味著我對(duì)它的結(jié)果感到滿意。

如果你在沒有任何專業(yè)知識(shí)的情況下,盲目地依賴ChatGPT這個(gè)工具,你會(huì)在它錯(cuò)誤的答案中迷失自己。目前來看,它仍然只是一個(gè)幫助人類提高效率的聊天機(jī)器人,而并不能取代人類。

你可以讓ChatGPT按照非常具體(和專業(yè))的命令生成答案,并手動(dòng)處理調(diào)整,這真的會(huì)讓工作效率提高很多。如果你只是用命令來提示和調(diào)試,我反而覺得還不如有足夠知識(shí)儲(chǔ)備的人類。當(dāng)然,ChatGPT本身也會(huì)不斷地學(xué)習(xí)進(jìn)步,此后是不是依然保持原地踏步,就不得而知了。

如果你是一個(gè)程序員小白,平時(shí)主要依賴于在知乎、問答上詢問解決方案,那ChatGPT對(duì)你來說可能會(huì)提供一個(gè)更快捷方便的答案。通過它的回復(fù),你確實(shí)可以從這些建議中重新調(diào)試代碼并改善學(xué)習(xí)。

在我嘗試向ChatGPT索要代碼的過程中,它幾乎每一次都對(duì)它給出的代碼提供了相當(dāng)詳細(xì)的解釋,這對(duì)于一個(gè)學(xué)習(xí)中的程序員來說非常有幫助,也便于我們?cè)诰毩?xí)的過程中進(jìn)步。

總的來說,我認(rèn)為ChatGPT作為人工智能發(fā)展的一座里程碑當(dāng)之無愧。它的出現(xiàn)必將改變我們未來的計(jì)算方式,我甚至對(duì)此抱有樂觀態(tài)度。

無論如何,這并不意味著我們應(yīng)該停止學(xué)習(xí)編程或任何其他ChatGPT已經(jīng)掌握的知識(shí)。我們應(yīng)該把ChatGPT當(dāng)作玩具、工具,甚至是朋友而不是敵人。它不應(yīng)該讓你停止進(jìn)步,而是為你提供幫助,讓你進(jìn)一步進(jìn)步。

我用ChatGPT和Lightly做了一個(gè)Astro Shooter游戲,沒有寫一行代碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
固镇县| 青田县| 四平市| 通城县| 遵义市| 中江县| 广水市| 曲阳县| 渭源县| 广汉市| 嘉祥县| 靖江市| 成武县| 沙雅县| 恩平市| 扬中市| 自治县| 宣武区| 广元市| 宜黄县| 沂源县| 宁德市| 大田县| 曲阜市| 衡东县| 手游| 防城港市| 鞍山市| 黑水县| 抚顺县| 杭锦旗| 田东县| 家居| 横峰县| 会昌县| 绥芬河市| 南宁市| 盐源县| 陵水| 锦州市| 招远市|