天文背包黑客
天文背包黑客

「開放天文 拉近群眾與星空的距離」 公民天文學家/Astrohackers in Taiwan社群的共同創辦人/承接網站開發及資料科學相關案子的遠距工作者 https://astrobackhacker.tw

「跟著黑蛋用天文資料創作數位體驗」用pygame及NASA系外行星資料庫的資料創作密室逃脫遊戲(1):遊戲開始畫面

任職於「天文數智」的黑蛋在公司部落格發表完「跟著黑蛋用Streamlit速成天文資料分析Web App」系列文章後,收到PM貳婰舞指派的新任務:「我們的老闆,來自喵星的『月影』,發現之前的文章內容對於不懂資料分析的大眾還是有點距離,因此想啟動一個新專案『天文的資料再創作』,希望我們能利用天文資料製作出有趣體驗的應用程式,例如遊戲、網頁、手機app…等等。」於是,黑蛋與他的AI協作夥伴,i蟒,展開新的旅程。

「有個傢伙在Python Taiwan的FB社團提到了一個叫做『逃出天文鎖-系外行星與你的距離』的聊天機器人,它會先描述一個與系外行星相關的密室,然後呈現從NASA系外行星資料庫取得的系外行星資料表,玩家要從這張表找出能解鎖密室的線索。」PM貳婰舞在遠距會議中分享他的螢幕畫面,顯示一則Facebook貼文。「老闆希望你能嘗試用pygame做出類似的密室逃脫遊戲,但遊戲過程先不用導入AI。」

了解任務需求後,黑蛋開始催眠他的AI協作夥伴:「i蟒,你現在是一位會使用pygame開發系外行星主題的密室逃脫遊戲的專家,你將依據我的需求,引導我用pygame開發一款結合NASA系外行星資料庫資料的密室逃脫遊戲。」

「哦?我現在突然成了密室逃脫遊戲的專家?下一次會是什麼?成為星際吟遊詩人?好吧,小蟒任由黑蛋催眠大師差遣。」i蟒答道。

「我傳給你一張圖片,請分析這張圖片中的資訊,然後引導我用pygame做出類似的遊戲開始畫面。」此時黑蛋的螢幕顯示一張圖片。

i蟒讀取圖片後,開始朗誦它顯示在螢幕上的文字:「這張圖片是一個遊戲的開頭介面,上面有標題、副標題、作者資訊及玩家進入遊戲的按鈕。由於圖片中的文字是繁體中文,pygame預設可能不支援,會導致文字顯示時出現方框。我會使用開源的思源黑體檔案來解決這問題。以下是用pygame做出類似介面的基本流程及程式碼:

  1. 初始化pygame並設定視窗。

  2. 設定顏色、背景圖片及繁體中文字型。

  3. 在遊戲主循環中,於頁面上顯示圖片、文字及按鈕,並檢查玩家是否點擊了按鈕。」

「執行這個main.py後,就會呈現遊戲開始畫面。」

「酷耶!請你把這段程式上傳到GitHub的『Fun with Astrodata Apps』這個專案的『escape_room_exoplanet_distance』資料夾中。完成後,請轉生成星際吟遊詩人,讓我先休息一下,你先吟唱一段廣告。」

「好…的…

當星辰於夜空閃耀, Astrohackers-TW群聚共嚮往, Python之妙用探索天際, 天文之秘,於此社團啟程。

在中央大學天文所牽引之下, Astrohackers in Taiwan共同召集, 於這個平台上,知識與經驗交流, 開放天文之夢,逐漸成形。

成員們以Python為機緣, 在天文學的田野上相會, 分享、學習、互助合作, 彼此成長,共同朝夢想邁進。

Astrohackers-TW: Python在天文領域的應用》, 不僅是一個社團,更是夢想的起航點, 在這裡,每個心中的天文愛好者, 都能找到屬於自己的星辰航道。」

此篇文是由蘇羿豪經ChatGPT協助創作,文章以「創用CC姓名標示-非商業性-禁止改作 4.0(CC BY-NC-ND 4.0)國際版授權條款」釋出,相關程式碼以MIT授權條款釋出。

CC BY-NC-ND 4.0

Like my work?
Don't forget to support or like, so I know you are with me..

Loading...

Comment