其他課程與競賽作品
2024 至 2026 年的通識課程期末專題、遊戲開發競賽、營隊教材、課程網頁作品與兩個個人工具。團隊作品註明本人負責的部分;兩個個人工具皆獨立完成。
- 期間
- 2024 至 2026
- 角色
- 見各作品(團隊作品註明本人負責部分;個人工具獨立完成)
- 技術
- Python、pygame;HTML、CSS、JavaScript、SCSS;discord.py、nba_api、aiohttp;Flutter(Dart)、drift(SQLite)
書審對應:附件 C-3

總覽
| 作品 | 期間 | 性質與團隊 | 本人負責 | 結果或規模 |
|---|---|---|---|---|
| 神魔 CRUSH | 2024 | 程式設計通識課程期末專題,六人 | 遊戲邏輯與程式實作 | 第十二屆程式設計通識課程專題競賽特優獎 |
| 2024 師大資工營 | 2024-02 至 07 | 師大資工系學會主辦的營隊,教學股 | pygame 課程講師、其他課程助教、官網首頁 | 系學會感謝狀 |
| NetQuest:從點到域 | 2025-05 | Normal Game Jam 2025,三人 | 程式實作 | 整體第四名、美術音效類別第一 |
| Quiz-Nexus | 2025-12 | 課程作品 | 版本庫、題庫更新與部署 | 25 類 300 題,部署於 GitHub Pages |
| NBA Discord Bot | 2026-01 起 | 個人工具 | 獨立完成 | NBA 與 CBA 兩個聯盟,戰績三個來源依序備援 |
| Petday | 2025 年暑假起 | 個人 App | 獨立完成 | 243 項自動化測試全數通過 |
神魔 CRUSH
期間2024 年;第十二屆程式設計通識課程專題競賽的結果於 2024 年 9 月公告。
團隊六人;本人參與遊戲邏輯與程式實作。
成果第十二屆程式設計通識課程專題競賽特優獎。該屆競賽由多位授課教師開設的程式設計通識課程專題共同參加,獎項分特優、佳作與人氣三類,特優獎共 9 件。
作品為程式設計通識課程的期末專題,以遊戲形式呈現,完成後參加當屆的專題競賽。
2024 師大資工營:教學股員
期間112 學年度第 2 學期(2024 年 2 月至 7 月);師大資工系學會的感謝狀於 2024 年 7 月 5 日核發。
角色教學股股員:pygame 課程講師、其他課程助教,並參與營隊官網首頁的製作。
技術Python、pygame;官網為 React 網站,以 SCSS 撰寫樣式。
- pygame 課程:本人主講。教材以黑白棋為主軸,含可對戰的黑白棋程式與範例策略,帶參加營隊的高中生從規則實作做到簡單的下棋策略。
- 其他課程:擔任助教。
- 營隊官網:2024 年 2 月底至 3 月初提交 6 筆修改,內容為首頁元件(Home.js)與 SCSS 樣式檔,以及首頁各區塊的圖片(營隊介紹、常見問題、報名資訊、交通資訊與 2024 年標誌等)。
把黑白棋策略這類演算法教到高中生能動手實作,與 2026 年在太遙中心為工程師開設組內分享是同一種工作:把方法講到別人能上手(見 F-2)。
NetQuest:從點到域
期間2025 年 5 月 2 日至 4 日,Normal Game Jam 2025 競賽期間完成。
團隊三人;本人負責程式實作。
成果整體表現第 4 名(3.765 分)、美術音效類別第 1 名(4.118 分)、主題契合第 4 名(3.706 分)。該屆共 11 件作品,由參賽者互評,共 214 則評分;本作獲得 24 則評分。
大會以投票抽選出主題「點線面」。本作取名《從點到域》,以 DNS 為題材:玩家在 DNS 的世界中解謎,找出網站的真實位置。大會規定作品須可遊玩 3 分鐘以上或具備完整的教學關卡,評分分整體表現、主題契合、遊戲設計與美術音效四類;結果公開於 itch.io 的競賽結果頁。
Quiz-Nexus
期間2025 年 12 月,課程作品。
本人負責建立 GitHub 版本庫、更新題庫,並部署到 GitHub Pages(kaiwei1229.github.io/Quiz-Nexus);另附 Demo 影片與簡報。
技術HTML、CSS、JavaScript,不使用前端框架;設定存於瀏覽器的 localStorage。
- 題庫:300 題,分 25 個類別,每類 12 題、每題 4 個選項;類別包括地理、歷史、程式設計、資安基礎、反詐騙、數位素養、金融素養、防災教育等。
- 模式:一般模式從全部題庫隨機出題;主題模式先選定類別再出題。
- 設定:題數可選 5、7、9 題,每題作答時間可選 3、5、7、9 秒。
- 計分:答對得 50 至 200 分,依剩餘時間的比例線性增加;答錯 0 分;結束時依平均得分給出評語。
- 介面:倒數計時條每 10 毫秒更新,時間將盡時畫面邊框閃紅提醒;答對、答錯與逾時各有音效,另有背景音樂。
NBA Discord Bot
期間2026 年 1 月起,最後更新於 2026 年 3 月。
角色個人工具,獨立完成。
技術Python、discord.py(斜線指令)、nba_api、aiohttp 與 requests。
在 Discord 以斜線指令查詢指定日期的 NBA 與 CBA 賽程和戰績,並標出雙方勝率都在五成以上的對戰。
- 指令:/nba 與 /cba 查詢賽程,日期可輸入今天、明天、後天,或 2026-01-25、01/25、1月25日 等多種格式;/nba戰績 與 /cba戰績 顯示戰績排名;/說明 列出用法。
- 時區:以臺灣日期輸入,程式先換算為美國當地的比賽日,再查詢 NBA 賽程。
- 標示:每場比賽列出雙方戰績與勝率;雙方勝率都在五成以上、雙方都未滿五成的對戰分開列出,並統計各有幾場。
- 資料來源與備援:NBA 戰績依序嘗試 Yahoo 運動(臺灣)戰績頁、ESPN API、NBA 官方 API,前一個取不到才換下一個,三者都取不到時沿用最近一次的結果;戰績快取一小時。NBA 賽程以 NBA 官方 API 為主、ESPN 為備援。CBA 賽程與戰績各取自一個運動資訊網站,戰績另以 TheSportsDB 的當季賽果自行計算作為備援。
- 資料整合:各來源的球隊代碼不一致(例如 ESPN 的 GS 對應 GSW),先正規化為同一套縮寫,再對照中文隊名。
Petday:寵物相片日記 App
期間2025 年暑假起;現行版本於 2026 年 9 月開發,2026 年 9 月 12 日為最新一版。
角色個人 App,獨立完成。
技術Flutter 3.47(Dart)、Riverpod、go_router、drift(SQLite)、photo_manager、image_picker、exif、flutter_local_notifications;以 ARB 檔管理繁體中文與英文兩種語言。
App 的定位是「先拍照,其他交給 App」:每張照片自動寫上日期與寵物當天的年齡。起因是想為收養的兩隻狗留下每天的相片紀錄。目前完成的功能:
- 照片與日期:從相簿多選匯入,讀取 EXIF 拍攝時間;沒有 EXIF 的照片(例如通訊軟體轉傳的圖、截圖)另外列出,由使用者一次替一批照片指定日期,精度可到日、月或年。照片原檔留在手機相簿,App 只存相簿參照與 600 像素寬的縮圖。
- 年齡計算:先數整月,再從對齊的日期數天數,月底對齊到當月最後一天,與 java.time.Period 的算法相同;生日不確定時可輸入大約年齡回推生日,顯示時加註「約」。
- 時間軸首頁、App 內拍照(呼叫系統相機,拍攝後存入手機相簿並直接歸入當天)與體重記錄。
- 當年今日:每天推播去年(沒有則前年)同一天的照片與當時年齡,只採用有確切日期的照片,並處理 2 月 29 日的對應。
- 權限最小化:拍照改用系統相機,不宣告相機權限;當年今日使用不精確排程,不宣告精確鬧鐘權限;記錄功能不需登入、不連網。
- 資料:本機資料庫 schema 已升到第 2 版,附逐版升級測試;設定頁可一鍵把全部資料表(每張表一個 JSON)與 App 內的檔案打包成 ZIP,內附格式版本與各表筆數。
- 驗證:243 項自動化測試全數通過(2026 年 9 月 12 日);繁體中文與英文兩種語言的畫面皆完成檢查。
