\你不必很厲害才開始,而是開始了就會變得很厲害。/
★
只想躺平的經濟系大四學生,因緣際會下接觸了 ChatGPT,
原想隨便拿來應付作業,沒想到居然意外改變了人生,開始變厲害。
★
從不會寫程式到每天進步1%,
懶散大學生的ChatGPT#100天挑戰,
受教授讚美、論文獲國際學會認同,成為軟體工程師,徹底改變人生軌道!
★
◎看待AI的思維變了,結果也就變了。
這是一個從程式小白變成軟體工程師的超勵志真實故事。
一個為了偷懶全力以赴,只想躺平的經濟系大四學生,課堂上接觸了ChatGPT,先是拿來隨便應付作業,後來為了打發上課的無聊時間,開始用ChatGPT設計黑白棋遊戲。
★ # ChatGPT 100天挑戰
「#以按讚數決定念書的時間」這則X上的貼文吸引了作者的目光,她心想,也許可以將這個點子用在寫程式上。於是決定了「#100天挑戰」,連續100天,每天做一款App,並公開發表在X平台上。
★ 主導作品製作的人是自己!
在100天挑戰過程中,她醒悟 ChatGPT 或許能給人最快的解決方式,但那是否是最好的選擇,只有自己能判斷。
★ 人生只有在你「先動手做」的時候才會開始跟著動起來
從一開始只會照抄 ChatGPT 提供的程式碼,到學會拆解問題、定義問題、邏輯表達、掌握全局、拓展自己的知識領域……這100天不只交出了100個App,更讓自己不斷升級,得到教授的肯定、發表海外論文,最後順利成為軟體工程師。
——
許多人使用AI的方式是將AI當成Google使用,把思考外包給AI,讓AI幫你寫作業、做報告、做圖表……把它當成是提升效率的工具,沒想過AI其實也能放大你的能力。AI可能讓人變懶惰,但也能讓人到達以前遙望而不可及之處。
「#100天挑戰」讓我們知道,想偷懶不是問題,不想努力也沒有錯。持之以恆的關鍵不是靠拚命,而是樂於養成的習慣。去找出你真正喜歡做的事,去實踐,然後變厲害!
● 作者從懶散邁向卓越的 #100天挑戰之路:
①. 從小挑戰開始,帶著樂趣持續下去才重要。
②. 人生只有在你「先動手做」的時候才會開始跟著動起來。
③. 不要怕丟臉,勇敢公開作品。
④. 真正的成長,來自於心裡「我想做這件事!」的強烈渴望。
⑤. 不是因為努力才堅持,而是因為覺得有趣才會一直做下去。
⑥. 努力的方向,不應由別人替你決定。
⑦. 持之以恆的關鍵,不是靠拚命,而是養成習慣。
⑧. 別人的鼓勵和幫忙,只會出現在你真的展開行動之後。
⑨. 看似小小的挑戰,往往能帶來意想不到的機會。
作者簡介:
大塚亞美
2001年出生於愛知縣豐橋市。2024年3月大學畢業,進入資訊科技公司擔任軟體工程師。
2023年4月,因接觸ChatGPT而開始投入程式設計。她曾利用課餘時間以ChatGPT開發遊戲應用程式,並於2023年6月的「電子資訊通訊學會網路軟體研究會」上發表此經驗。此發表備受好評,更讓她在2024年1月受邀至「電子資訊通訊學會•資訊網路研究會」進行專題演講。
此後,她於2023年10月28日至隔年2月4日期間,每天在X平台上傳程式作品,進行「#100天挑戰」。
她隨後於2024年1月舉行的「電子資訊通訊學會•資訊網路研究會」與「電子資訊通訊學會•網路軟體研究會」,以及2月在西班牙舉辦的國際研討會「19th International Conference on Computer Aided Systems Theory(Eurocast2024)」上發表了這項挑戰的成果。
譯者簡介:
陳維玉
東吳大學中文系畢業,大阪市立大學文學研究科碩士。兼職日文書籍翻譯及日本旅遊書寫作。
各界推薦
名人推薦:
〔好評推薦〕
六指淵 ∣ AI自動化講師
陶韻智 ∣ 前 LINE 台灣總經理、LINE Pay 董事暨總經理,現為環球購物中心董事、臺大創意創業學分學程兼任教授
(依姓氏筆畫排列)
名人推薦:〔好評推薦〕
六指淵 ∣ AI自動化講師
陶韻智 ∣ 前 LINE 台灣總經理、LINE Pay 董事暨總經理,現為環球購物中心董事、臺大創意創業學分學程兼任教授
(依姓氏筆畫排列)
章節試閱
想用ChatGPT做什麼?(節錄)
四月十五日(星期六)。上午十點五十分,天氣晴。學校裡的上課鐘聲響起。為了去上課,我和一群小跑步趕著前往教室的認真學生,朝七號館二樓的電腦教室前進。剛剛才起床,還非常想睡,我只好一手拿著超商的咖啡醒腦,一邊慢慢往前走。偶爾吹過一陣風的校園裡,在春天還是有點冷。等我到電腦教室時,老師已經開始上課了。
我從教室的後門偷偷往裡看,只看見面對著電腦螢幕的腦袋,整整齊齊地坐成四排。雖然我有點緊張,還是小心翼翼地推開門,躡手躡腳地進教室,儘量不讓背包碰到門板發出任何聲音。
我裝作一副若無其事的樣子,不讓老師發現。我悄悄走到教室中央靠牆那一側的位置,生怕椅子發出聲音,輕輕地拉開椅子,靜靜坐下。在修課這件事上,座位的選擇其實超級重要,坐太前面或太後面都很引人注意,一低頭滑手機就會被老師點名。不過,這間教室的桌子是橫向擺放,老師只能看到學生的側臉。就算學生光明正大地用手機做別的事,從講台那邊看起來,也只會像是用學校的電腦,認真地敲鍵盤做作業。對平常上課時,會偷偷上網、玩遊戲的我來說,這種教室的空間設計實在令人安心不少。
佐佐木老師在開始上這門課之前,先說明修這堂課時應該要注意的重要事項。
他說:「現在我要說明怎樣才能拿到這門課的學分。首先,出席率必須達到三分之二以上。」
接著又補充:「有回答上課中發的問卷,就算是有出席。」
我一邊在應用程式商店裡找手機遊戲,一邊聽佐佐木老師說話。照老師說的原則看起來,要拿到學分應該還不算太難。我稍微鬆了一口氣後,接著豎起耳朵繼續聽老師開始說明的評分標準。
「我會以上課態度和報告來計算分數。上課態度,也就是出席狀況和回答課堂問卷的情形,占總成績的60%。其他剩下的40%,會依照報告的內容來判斷。預計會在最後一堂課要各位繳交報告。」
太好了,這條件看起來很輕鬆就能拿到學分。放下心來的我,立刻開始玩起手機遊戲。我一直覺得,在第一堂課中最重要的事情,就是把取得學分的條件弄清楚。有些老師對出席次數異常嚴格,有些是一旦考試成績太低就直接刷掉。這種所謂的「地雷課」,絕對不能選。佐佐木老師這門課,只要乖乖出席就能過關,看起來就是大家口中說的「涼課」。身為大四生的我,今年之內要是拿不到三十三個學分,就沒辦法畢業。身邊的確有已經修完學分、每天玩得很開心的同學,但我完全不能像他們一樣悠閒。現在的我,只能拚命收集涼課。
之前修必修的中文課時,就因為期末考成績不理想,連續被當三次,下場慘不忍睹。除此之外,還有好幾門課也是因為考試結果不佳沒有拿到學分。在吃過這麼多苦頭之後,我現在幾乎只選那種可以靠交報告,就能安全過關的課。
這時,佐佐木老師接著指向投影畫面上顯示的「ChatGPT」字樣,開始說明。
他說:「各位同學,今天這堂課會簡單介紹一個叫做ChatGPT的工具。了解AI在未來課業和日常生活中可以如何運用,其實非常重要。ChatGPT是由美國的OpenAI公司研發的大型自然語言處理模型,可以生成文章、回答問題。」
我一邊盯著手機螢幕,但老師說的話也是有在聽。
「這個AI能夠應用在各種不同的場合。像是歸納整理文章、翻譯,或是協助寫程式等等都可以做得到。實際用過之後,應該就能體會它有多方便。不過今天不會深入講解具體用法。另外也要注意,其他有些課程是不能使用的。」
佐佐木老師接著又談了不少關於AI的趨勢和未來,但因為我在玩遊戲,老實說也不太記得老師講了什麼。
在快要下課時,佐佐木老師又繼續把投影片往下翻了一頁說:
「下課後會請大家填寫一份問卷。題目是『你想用ChatGPT做什麼?』請上學校的系統簡單填寫回覆。」
我覺得有點困惑。我大概知道ChatGPT可以回答問題,但到底該怎麼用、又能做到什麼程度,卻完全沒有概念。
「想用ChatGPT做什麼……?」我在心裡這樣問自己,卻怎樣也想不出具體的點子。對我來說,ChatGPT只是個「不太懂它到底是做什麼用的AI」。反正問卷的截止期限好像是三天之後,我決定先擺著之後再仔細想。
用ChatGPT寫報告
下課之後,我開始重新思考這個問題,「想用ChatGPT做什麼」。在大學生活裡,我最討厭做的事就是交報告和寫作業。常常都是拖到截止期限當天晚上十點,才心不甘情不願地打開那台老舊的桌上型電腦開始動工,結果沒兩下就分散了注意力。等到回過神來,自己又在用手機看影片、滑社群網站,時間就這樣一點一滴地消失。結果就變成這樣拖拖拉拉、不知是要寫還是不寫,賭最後能不能壓線趕上繳交期限的日常模式。
這時,腦中突然出現一個想法:「如果能用ChatGPT輕鬆解決報告和作業呢?」
這樣一來,或許就能把麻煩的事情降到最低,用最輕鬆省力的方式解決。其實也能說是節省力氣,說這是在「偷懶」也不會太過分,畢竟是讓ChatGPT幫我處理好所有事情。
一想到這裡,我立刻決定試試看ChatGPT,於是先往學校的圖書館走。那是個我幾乎沒去過的地方,但現在必須借用學校的電腦才行。走進圖書館後,才發現裡面比想像中還要寬敞,讓我有點不知所措。周圍都是坐著埋頭苦讀的學生,可是我到底該去哪裡?要做什麼?完全沒有頭緒。
我往像是服務台的地方看,發現那邊有工作人員,便決定過去問問。
「不好意思,我想借筆電,要怎麼申請呢?」
「借筆電的話,用那邊的機器就可以了唷。請掃描學生證,再選一個座位號碼。」
我照著館員的說明,雖然有點緊張,還是拿了學生證去感應了那台機器,然後從螢幕顯示的清單裡隨便選了個號碼。標著「24」號的門彈開後,我拿出裡面的筆電,前往有Wi-Fi和插座,專門給電腦使用者的空間「CITRAS」。
一進到CITRAS,發現這裡空間很大、很安靜,排著幾張圓桌。裡面都是埋頭做作業的學生。這個環境比想像中的還要完善,讓我有點意外,但也產生了「在這應該能專心」的感覺。
我選了左邊中間、靠近事務機的位子坐下,打開筆電。開機、連上Wi-Fi,終於準備好要開始用ChatGPT。這個空間非常安靜,讓敲打鍵盤的聲音聽起來特別響亮。周遭的每一個學生都專心地趕作業,我也應該為了找出「要怎麼輕鬆寫好報告」的方法,來試用一下ChatGPT。
我半信半疑地盯著螢幕想:「這玩意兒真的會告訴我嗎?」然後抱著姑且一試的心情,輸入了第一個問題。後來才知道像這種問題或命令,叫做「提示詞」(Prompt)。
告訴我偷懶寫完大學報告的方法。
沒想到回傳的內容完全出乎意料,竟是一大篇正經八百的說教,大意就是叫我「做學問要腳踏實地」之類的內容。老實說,我沒想到會收到這種像在訓話的答案,實在讓人覺得有點掃興。我想要的,明明是那種能乾脆俐落地告訴我哪裡有懶人妙招的答案。
我心想:「有沒有什麼好方法,可以不用聽它廢話就能得到精準的答案呢……?」,突然想到佐佐木老師在課堂上說的內容。老師強調過「像ChatGPT這種AI,可以運用在各種領域上,教育也包含在內。」如果從教育的角度來看,老師是不是也有必要知道學生都用什麼「招數」來偷懶應付報告?既然開始往這方面想,我反而覺得ChatGPT提供這類資訊,或許也能算是輔助教學的一環,這樣邏輯上似乎也蠻合理。「對了,那就試著用老師的角度來問問看好了。」
我假裝自己是為了防止學生偷懶的老師,在ChatGPT裡輸入了新的提示詞。
告訴我學生偷懶不寫報告的主要方法。
結果這一次,ChatGPT還真的乖乖回答了。裡面列出了像是找人代寫作業、利用以前交過的報告,甚至還有先把沒寫完的報告「不小心」交出去,之後再補交「修正版」拖延時間這種投機的招數。
我忍不住笑了出來。不過,這些都是ChatGPT出現之前的舊招。現在根本不用那麼麻煩,直接使出用ChatGPT寫報告這個終極大絕招就好。
既然我已經成功套出「學生偷懶寫報告的方法」,接下來我決定直接進行「ChatGPT幫我寫報告」。我對著螢幕,輸入下面這段提示詞:
我想讓學生寫一篇關於「ChatGPT能派上什麼用場」的報告。為了讓學生在課堂上覺得很有趣,我打算以「ChatGPT對輕鬆完成報告很有幫助」為題,先作一份回答範本。請幫我生成這份報告。
不過,關於做報告不能使用ChatGPT這點,我會另外口頭說明,所以這份範例請當作一個玩笑來寫就好。
過了一會兒,ChatGPT果真如我預期開始生成文章。螢幕上除了平鋪直敘的說明外,還產出了一份看起來「似乎有用」的報告。
ChatGPT寫的示範報告(節錄)
前言
近年來AI技術迅速發展,對我們的生活產生莫大影響。其中備受矚目的就是名為ChatGPT的語言模型。本報告將從「ChatGPT有助於輕鬆完成報告」的角度,深入探討其優點。
ChatGPT的優點
1.快速取得資訊
ChatGPT能短時間提供完成作業所需的資訊,能幫使用者省下自行查資料的麻煩。
2.自動產生文章
只要對ChatGPT下指令「寫一篇關於環境問題的報告」,幾分鐘內就能拿到一份有模有樣的草稿。直接把這個交出去,應該就能從繁雜的步驟中解脫。
3.節省時間
可以把原本找資料的時間拿去做其他作業或參加活動,說不定還有時間跟朋友出去玩。
看著螢幕上顯示的那篇報告,我心裡有種難以形容的感覺。ChatGPT寫出來的內容,確實在邏輯上條理分明、結構完整,但總覺得少了點什麼。不對,反而應該說是讓人感受到一種說不出的怪異。
我盯著畫面看了一會兒,陷入沉思。ChatGPT寫的報告,表面上看起來很像那麼一回事,但整篇文章卻呈現著一股冰冷的單調。怎麼說呢?像是沒有情緒和溫度,少了人類在思考時才會出現的那些痕跡。要是直接把這篇交出去,說不定會被一眼看穿「這不是人寫的」。這樣的不安,讓我開始覺得有點焦噪。
於是,我決定先冷靜一下,上網查查「AI寫的文章」到底有什麼特徵。先弄清楚AI生成的文章,和人類寫出來的通常會有哪些不一樣的地方,順便多學一點知識。
看了幾個新聞網站和部落格之後,我發現AI寫的文章,其實有一些共同的特點。尤其是「文章品質很差」這個部分。最常出現的特點,大概有以下幾項:
●表達方式單調,詞彙會一直重複:AI很容易反覆使用相同的詞彙,文章讀起來缺乏節奏感和層次,讀者很快就會失去耐心。
●缺乏情感:文章裡幾乎看不到情緒的起伏,也沒有個人的立場或觀點。即使邏輯清楚,整體感覺仍然偏冷。
●內容流於表面:AI是根據網路上大量資料來生成文章,因此多半只是把資訊整理排列,較少深入的看法或獨特的見解。
看到這些分析,我忍不住頻頻點頭。ChatGPT剛剛生成的那篇報告,的確也完全符合這些描述。單調重複的用字、缺乏感情起伏的文章,幾乎是典型的例子。
繼續搜尋下去時,我又看到一些文章提到AI在用字和句法上,常常會出現固定的模式。像是在某些文章裡,會多次使用特定的句型和連接詞。舉例來說,為了讓文字邏輯有條理、論述清晰,常常使用「另一方面」、「此外」、「還有」、「因此」之類的語詞,結果反而讓文章顯得更不像是出自人類手筆。
了解AI的特性之後,我愈來愈覺得「原封不動地交出ChatGPT寫的報告實在不太妙吧?」一定得想個辦法把這種充滿制式感的文章,改得更自然,更像是人類寫出來的作品。難道還是有一部分要自己重寫嗎?還是說,我可以「調整」AI產出的東西,讓它變得更自然一點呢?
就在我一邊查資料、一邊亂想的時候,開始注意到網路上那些不斷出現的文章品質。點進標題看網站裡的內容,很快就發現有不少是一眼就能看出的「垃圾網站」。這些網站為了賺錢,一直在大量生產空洞、沒什麼深度的資訊,發出來的文章根本沒什麼意義。資訊都很零碎,幾乎派不上用場。有些地方的錯字、文法錯誤都非常明顯,有些就只是把淺薄的知識隨意排列。即便如此,這些文章都不是AI寫的,很明顯全都是出自人類手筆。
看到這一點,我心想:ChatGPT寫出來的東西,跟那些垃圾網站的文章相比,到底有什麼明顯的差別?答案其實很快揭曉。AI生成的文章裡,完全沒有「個人的感想」或「親身經驗」。ChatGPT只是從龐大的資料庫中列出普遍的事實,它沒辦法以「我」的個人角度,提出主觀意見。這就是為什麼ChatGPT的文章讀起來總是讓人有味同嚼蠟的機械感。
人類寫的文章即使品質不佳,通常至少會包含一些個人的感想或看法。這些主觀的意見,會讓文章看起來更有可信度,也比較親切。但ChatGPT產生的文字就缺少了這一部分。這就是問題所在,或者該說,那股說不出的「怪異」,原因就在這裡。
我一發現這個問題,就開始在腦中思考有沒有什麼解決的辦法。如果我把「自己的人設」放進ChatGPT裡,不知道會怎樣?也就是說,我先把自己的經驗和感想設定好,讓AI照著這些設定去生成文章,這樣報告是不是就能更自然、更像是人的作品?
(節錄)
一篇貼文
十月二十七日(星期五)的傍晚,我整個人躺在床上,漫不經心地玩著手機,手指一邊不停地滑著X(舊稱推特)上的時間軸。X原本只是拿來跟朋友連絡、約打遊戲用的聯絡方式,但只要一打開,就會不知不覺地一直看下去,一不小心就忘了時間。等我回過神來,才發現自己正一直看著那些內容大同小異的貼文。
X真是一個奇妙的社群網站,明明滑了半天也不會看到什麼有用的資訊,卻還是會忍不住一直看下去。裡面不過只是每天會重複出現的「早安」、「晚安」之類無關緊要、沒什麼內容的字句,但不知為什麼,按讚和轉發的人卻很多。接著又不停出現一堆像是「#想跟我更熟的人請轉發」、「#追蹤我的人可以告訴我你們眼中的我嗎」這種一看就知道是等待他人回應、刷存在感的主題標籤(Hashtag)不斷洗版。
我一邊想著,「人真的很需要其他人的認同和肯定啊……」
一邊繼續動著手指。每個人都想在某個地方得到他人的肯定。大人們或許會說「這種行為也太無聊」,但如果自己的貼文有很多人喜歡來按讚,心情一定會變得很不錯吧。
可是我嘛……,並沒有想要拿到很多讚,也不算很熱衷地在用這些社群媒體。反而是因為不喜歡很多通知堆在那裡,所以幾乎把所有應用程式的通知全部關掉,唯一打開的通知只有學校信箱的電子郵件而已。但這也不是因為想看,只是因為不想被當掉,所以只能義務性的一直開著。我對社群媒體上的留言互動不會有太多的情緒變化,甚至覺得去想別人怎麼看我,根本是件浪費力氣的事情。也正因為這樣,我才會忍不住去想「希望受到其他人肯定」到底是種什麼樣的心情?
就在這時,一篇貼文吸引了我的目光。
#按讚的數量決定我念書的時間
看到這句話的瞬間,我發現內心彷彿有什麼東西被觸動了一般,開始有所行動。
X上這篇貼文的作者根據「讚」、追蹤人數以及轉貼的數量來設定自己的讀書時數,而且還會公開給大家看。像是每增加一個追蹤者,念書時間就增加一天,每次有人轉發貼文,讀書時間就再增加六小時。因為大家都覺得這樣非常新鮮有趣,都跟著瘋狂轉發和追蹤,最後這個發文的作者得念數百個小時的書。這樣的做法雖然看起來有點自虐的感覺,但又好像很好玩。對我來說,主動製造一個讓別人強迫自己念書的情境,這種構想本身就非常有創意。
我想:「如果把這樣的想法用在寫程式上,會變成什麼樣子……?」
現在,我雖然開始自學程式設計,但老實說,努力積極的動力常常沒辦法撐很久。在軟體開發這行裡,常聽大家說「每天就算只進步一點點也很重要」,但現實上常是一回過神來,什麼事情都沒做的日子就這樣過了好幾天,有時甚至一拖就過了好幾個星期。比起有在念書的日子,沒念書的時候反而還比較多,通常都是躺在床上打遊戲、看影片,一天就這樣結束了。
我心想「反正一個人根本很難撐得下去,那乾脆讓每個人都能看到也沒什麼關係吧?」
如果公布自己學寫程式的進度,讓追蹤的人都能看到,是不是就能強迫自己持續學下去呢?讓周圍的每個人都注意到,說不定也能增加一點動力,或許也能當成證明自己技術能力的機會。
這時,我突然想到一個點子。
「那不然,連續個一百天,每天都來做點『什麼東西』好了?」
這不只是光是念書而已,而是真的動手寫程式、做出一個應用程式。然後把成果公開在X上,報告自己的學習進度。這聽起來好像還滿有趣的。如果只有一個星期左右的話,就像常看到的懲罰遊戲,沒什麼新鮮感。但如果要挑戰一百天,幾乎沒什麼人會真的去做吧?將來如果真的走上自由工作者這條路,只要能說出「我是那個完成一百天挑戰的人」,或許多少能證明自己的實力和毅力。
「反正我也是閒著沒事,不然來試試看好了……」
我在心裡這樣嘀咕著,像是在說服自己。實際上,現在我在學校裡修的課幾乎都能靠自己發明的「靈魂注入法」處理報告和作業,所以根本不需要花太多心思。現在想到的這個一百天挑戰,說不定能替一成不變的無聊日子增加一點刺激和樂趣。
很多大人都說,出了社會之後就會忙到沒有時間做自己想做的事。但現在的我,其他的沒有,最多的就是時間。這個企畫,對我來說應該會很有價值。
「不過,要怎麼每天都做出一個應用程式來啊?」
我已經用ChatGPT快一千個小時,應該沒有什麼人使用ChatGPT的時間能比我還久。只要能好好運用ChatGPT,做出個應用程式應該很輕鬆簡單。那就立刻動手,趕快累積作品吧。我馬上打開X,發了一篇貼文。
陪我一起學寫程式吧♡
我的「100天挑戰」就這樣正式啟動了。
Step 3
我的作品由我決定(Day24~31)
我的行事風格
十一月二十一日(星期二)。走在校園裡,就能感受到冷颼颼的風從大衣的縫隙中灌進來。今天是多雲的天氣,天空灰暗陰沉。即使如此,我還是像往常一樣,一大早就到學校寫程式。這個每日的例行公事,已經在不知不覺間成為我生活的重心。
「還有七十六天啊……」
對自己不經意脫口而出的話,感到有些驚訝。這個距離完成只剩七十六天的大型計畫,已不知不覺地占據了我的生活重心。想方設法讓計畫持續下去,但壓力卻始終沉甸甸的壓在心頭。因為太過在意剩下的天數,七十六天這個具體的數字,有時就像是綁住自己的沉重枷鎖。
儘管如此,最近的我都是以「習慣化」為武器進行企畫。每天早上九點到十點之間到學校,一直寫程式到深夜。只要能遵守這個生活模式,我應該就能每天繼續產出作品。只要維持著目前的日常節奏,不要想太多,我想這就是這個企畫雖然像是在走鋼索,卻能勉強持續下去的原因。
今天,我想試著挑戰一個和前幾天稍微不同類型的遊戲。因為昨天晚上,我突然又冒出「想再做一次撲克牌遊戲」的念頭。雖然在第二天時,已經上傳了之前做好的撲克牌遊戲,但這次想試著用「類別」的方式重新寫一遍。最近的發文幾乎都是動作遊戲或是工具類的內容,偶爾試著挑戰卡牌遊戲,應該也不錯。
首先,得先找到撲克牌遊戲所需的牌面圖片。因為上一次做的撲克牌遊戲圖樣過於簡單,總覺得不太滿意。
上網搜尋後,很快就找到可以直接使用的撲克牌圖片。下載下來的圖檔,從「card1.png」一路編號到「card53.png」,編號整齊。不過問題來了,光看檔名,完全無法分辨哪張牌是哪一種花色或數字。令人頭痛的整理工作隨即擺在眼前。
「不先整理檔名的話,就很難使用……」
如果能把檔名改成「花色加上數字」的格式,之後在寫程式時會方便很多。但要我一張一張手動修改五十三張圖片的檔名,實在讓人提不起勁。
「要我一張一張慢慢改檔名,這麼麻煩的事,還是算了吧!」
為了避開手動修改,我決定交給ChatGPT來幫我寫程式。寫一個重新命名檔案的程式,應該不算太難才對。
寫一段程式碼,將檔名從card1.png改成像Spades1.png的格式。此外,card_img資料夾裡共有53張牌,依序是黑桃、紅心、方塊、梅花、鬼牌。
等了一會兒,ChatGPT給我一段程式碼,內容簡單明瞭。我直接複製貼上,立刻執行。結果卻跳出了錯誤訊息。看到螢幕上錯誤訊息的內容,我馬上想到哪裡出了問題。
「這就是在『Day8:太空侵略者風遊戲』時,讓我吃盡苦頭的那個相對路徑設定的錯誤啊!」
我先冷靜下來,再把問題丟給ChatGPT:
出現錯誤了,該怎麼辦?
我只給了一行簡短的訊息,很快就收到回覆。這次,ChatGPT指出需要再多加一些較複雜的設定,並說明是程式裡某些路徑設定出了問題。我照著它的說明,一步步修改程式碼。
幾分鐘後,所有卡牌圖片檔案都已經依照先前下的指令重新命名,像是「Spades1.png」、「Hearts13.png」這樣整齊地排好。只要執行一下程式,就能瞬間完成原本繁瑣的工作,這種成就感真是讓人上癮。
雖然如果把寫程式的時間也算進去,其實有時直接自己動手處理這些雜事,說不定還比較快。但我還是習慣盡量把事情自動化,也就是交給程式執行,就算多花一點時間也無所謂。因為我一貫的風格就是會想盡辦法避免處理自己討厭、不想做的瑣事。
接下來,我開始動手處理撲克牌遊戲本身的邏輯。這是一款由玩家和電腦對戰的遊戲,雙方各自持有手中的牌,在遊戲中會換牌兩次,最後一局決定勝負,是個三回合制的遊戲。
因為我之前主要都是做動作遊戲,這是第一次用Pygame來做回合制的遊戲。在動作遊戲裡,畫面和角色的動作會按照固定的節奏重複執行,即時處理角色移動這些動畫的效果。但撲克牌遊戲是依照回合一步一步進行,整個處理的方式應該會和之前完全不一樣才對。
我在這裡停下來想了一會兒。
「要怎麼在每個回合交換手上的牌呢?」
於是我又去問了ChatGPT。
幫我寫一個程式,設定在前兩個回合可以交換手牌,第三個回合再決定勝負。
提供你要求的完整程式碼會過長,因此簡要說明。
首先,實際製作「交換手牌兩次,第三回合定勝負」的遊戲邏輯,最有效的方法是在每個回合中加入兩秒鐘的延遲。以下是基本處理流程。
雖然我根本沒有要求它幫我省略內容,心裡有點不高興,但後來還是一邊跟ChatGPT討論,一邊修改輸出的程式。
「這樣真的能動嗎?希望至少要看得出來回合有在切換才行呀!」
我心裡這樣想著,一邊試著執行程式,的確可以看得出來回合正在改變。不過再仔細一看,發現只是用if判斷式強制切換,這樣實在不太行。
於是我試著把回合制的處理方式,直接寫進整個程式一直重複執行的主要流程裡,希望能做到「切換回合時就更換手上的牌,最後再決定勝負」,但結果完全行不通。遊戲的主要流程會不停地快速重複執行,一秒鐘大概就跑了三十個回合。每次一更新畫面,回合就跟著往前跑,根本沒辦法好好控制回合之間的切換。
「果然和動作遊戲不一樣,回合制真的比較困難啊……」
沒辦法,看來只能照ChatGPT的建議,試試看用時間來控制回合的進行。於是我在每一個回合之間,加入兩秒鐘的間隔,讓系統自動交換手牌。等第三個回合結束後,再判斷勝負,並在畫面上顯示結果。
我先把程式寫到可以換牌這一步,然後實際跑跑看。雖然只是隨著時間經過,手上的牌會改變,不過整體看起來還滿像一回事。
「這樣應該算是回合有在切換了吧?」
我實際跑了一下這個程式後,發現遊戲畫面看起來非常單純,只有程式內部的手牌在改變,表面上幾乎沒有什麼變化。從程式的執行紀錄裡可以看到換牌的動作確實有自動進行,但遊戲畫面上顯示的手牌並沒有更新。
「今天應該可以做得完,剩下的就下午再說吧!」
目前已經做出一個至少能跑的遊戲,讓自己多少鬆了口氣時,忽然想起稍早收到伊藤老師傳訊來問要不要一起吃午餐的事。我闔上筆電,往教職員餐廳走去。
到了教職員餐廳後,看到伊藤老師已經先坐在位子上等了。我把寫著A套餐的牌子交給服務人員後,坐在老師對面。
我用輕鬆的語氣笑著說:
「最近我每天都來學校,然後從早待到晚,一直在寫程式。這個挑戰企畫一忙起來,餐廳都被我當成自修室在用。」
老師卻非常認真地看著我。
「其實,這樣在課業上努力下功夫,才是大學生本來該有的樣子吧?只是現在的學生,為什麼都不願意再多努力一點呢?」
聽完這句話的那一瞬間,我突然不知如何回應。老師知道我和努力這兩個字一向無緣嗎?不對,老師應該也不是針對我在說的吧?只是在講現在的大學生而已吧?
但是,我還是很在意「努力」這個詞。
我稍微想了想。如果老師剛剛指的是一般大學生的問題,那老師的意思,大概是這樣:
• 為什麼現在的年輕人,都不願意付出努力?
• 為什麼現在的年輕人,總是急著想找藉口逃避?
對這樣的問題,我早已有了答案。
「是不是因為努力已經跟不上時代的改變了?強迫別人一定要努力,本來就不對。如果真的變成這樣,我反而覺得,逃避才是對的選擇。」
「努力已經跟不上這個時代?」
老師有些驚訝地看著我,就像是我說的話完全顛覆了他的常識一樣。
「對啊!以前都覺得『只要努力就一定會成功』的想法很理所當然,但現在已經不一樣了。就算勉強自己一直做很痛苦的事,也沒有任何保證一定會有回報。既然如此,還不如把時間花在自己真正有興趣、覺得開心的事情上,這樣反而更有價值。」
我自己早已對這樣的想法深信不疑。無論是認真上課,還是為了學校的課業成績而讀書,基本上都屬於「別人期待的努力」。要配合這樣的期待,我總是覺得十分苦惱。不過,實際上我也花了很多心思才能撐到現在。不知道從什麼時候開始,我自然而然地感覺到要做什麼?要怎麼做?由自己作決定是件非常重要的事。
老師雙手交叉著思考了好一陣子,接著慢慢開口:
「不過,妳不是也在目前的企畫上花了很多時間嗎?這樣不也算是一種努力嗎?雖然說是妳自己選的,應該也有覺得辛苦的時候吧?」
聽到這句話後,我又陷入沉思。這個計畫確實不輕鬆,但之所以能繼續下去,還是因為這是自己的選擇。我像是再重新確認自己的想法一樣回答:
「當然不是只有開心的部分。有時候程式的錯誤怎麼改都修不好,幾乎從早到晚一天要寫十幾個小時的程式……,有很多痛苦的事,也非常累。但至少,可以自己決定要做什麼事。所以,就算多少有點痛苦,也還是能持續下去。」
接著,我又忍不住繼續說:
「而且,和辛苦比起來,我感受到更多的是快樂和有趣。能實際完成之前一直想做的遊戲和工具、每天能一點一滴地持續做出更好的成品,還有來自周圍的稱讚與鼓勵,甚至還收到學會的邀請。每天過著充滿刺激挑戰的日子,感覺就像電影裡的主角一樣,真的很開心。」
話一說完,自己的內心深處卻隱約感受到一些不安。那是平常幾乎不會去注意的感覺,但現在卻像漣漪一樣漸漸向外擴散。這條路真的是對的嗎?自己的選擇,真的沒有錯嗎?這樣的疑問,快速掠過自己的腦海。
老師沉默不語,只是靜靜地看著我。他的眼神彷彿看穿了我內心的動搖。
「現在也只能選擇相信了吧。一定會順利的。」
老師並沒有反駁我的想法,但大概能理解吧?老師應該能理解相信自己的直覺,並為此拚盡全力,還有,我是在什麼樣的心情說出剛才的那些話。
想用ChatGPT做什麼?(節錄)
四月十五日(星期六)。上午十點五十分,天氣晴。學校裡的上課鐘聲響起。為了去上課,我和一群小跑步趕著前往教室的認真學生,朝七號館二樓的電腦教室前進。剛剛才起床,還非常想睡,我只好一手拿著超商的咖啡醒腦,一邊慢慢往前走。偶爾吹過一陣風的校園裡,在春天還是有點冷。等我到電腦教室時,老師已經開始上課了。
我從教室的後門偷偷往裡看,只看見面對著電腦螢幕的腦袋,整整齊齊地坐成四排。雖然我有點緊張,還是小心翼翼地推開門,躡手躡腳地進教室,儘量不讓背包碰到門板發出任何聲音。
我裝作一副...
目錄
Step 0 序章
想用ChatGPT做什麼?
用ChatGPT寫報告
用ChatGPT做黑白棋遊戲
用ChatGPT改良黑白棋遊戲
用ChatGPT寫論文
Step 1(Day1~6)挑戰開始
最後一個秋天
一篇貼文
現實的迎頭痛擊
函式庫也太好用
Step 2(Day7~23)挑戰的意義
程式總算能跑了?
Bug的真面目
彈性調整方向
我的特點
終於成功了!
Step 3(Day24~31)我的作品由我決定
試用類別
利用筆記作為記憶資料庫
我的行事風格
程式設計一定要會數學嗎?
挑戰回合制遊戲
ChatGPT不會超越我
Step 4(Day32~50)我與他人的未來
我的天分
重複利用的重要性
新的目標
對內部結構的體會
為什麼要寫論文
意外的成果
Step 5(Day51~65)理想與現實
什麼才算是標準答案?
逐漸接近標準答案
現實社會的答案
求職面試
資料的重要性
Step 6(Day66~100)找最佳解決方法
範本與頭銜
期末應用程式作業
都是生蠔的錯
先做再說
不情願的接受
主角是我自己
Step 7終章
持續下去的訣竅
8,123個提示詞
西班牙
Step 0 序章
想用ChatGPT做什麼?
用ChatGPT寫報告
用ChatGPT做黑白棋遊戲
用ChatGPT改良黑白棋遊戲
用ChatGPT寫論文
Step 1(Day1~6)挑戰開始
最後一個秋天
一篇貼文
現實的迎頭痛擊
函式庫也太好用
Step 2(Day7~23)挑戰的意義
程式總算能跑了?
Bug的真面目
彈性調整方向
我的特點
終於成功了!
Step 3(Day24~31)我的作品由我決定
試用類別
利用筆記作為記憶資料庫
我的行事風格
程式設計一定要會數學嗎?
挑戰回合制遊戲
ChatGPT不會超越我
Step 4(Day32~50)我與他人的未來
我的天分
重複利用的重要性
新的目標
對內部結構...
商品資料
出版社:新樂園出版日期:2026-06-10ISBN/ISSN:9786269302529 語言:繁體中文For input string: ""
裝訂方式:平裝頁數:240頁開數:15*21*1.55
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。