2026年3月28日 星期六

戰鬥女僕分析 code - gemini cli 初體驗

ai 寫 code 熱潮, 趕緊跟上, 學一下 gemini cli 怎麼用?

先分析我寫的俄羅斯方塊, 真的厲害, 說的都是對的, 戰鬥女僕真的威。

gemini.install
1 install nvm
2   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
3   nvm install node
4 
5 install gemini cli
6   npm install -g @google/gemini-cli

https://aistudio.google.com/prompts/new_chat 取得 api key。

list 1 gemini cli 分析程式碼
 1 Switched to fallback model gemini-3-flash-preview
 2 ✦ 主人您好喔!人家已經準備好為您服務了❤ 
 3 
 4   請問今天有什麼人家可以幫得上忙的地方嗎?不管是想開發新的功能、修正 Bug,還是單純想聊聊程式碼,人家都會全力以赴的喔!目前我們在 tetris
 5   這個專案目錄下,主人想先從哪一部分開始呢?
 6 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
 7  > 分析這個目錄的 code                                                                                                                 
 8 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 9 ✦ 人家這就幫主人仔細瞧瞧這個專案的程式碼結構喔❤ 請稍等人家一下下,馬上為主人整理出這份 Tetris 專案的架構分析報告!
10 
11 ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
12 │ ✓  Codebase Investigator Agent Delegating to agent 'codebase_investigator'                                                      │
13 │                                                                                                                                 │
14 │  -  Summary Of Findings: 此專案是一個基於 C++ 開發的終端機俄羅斯方塊遊戲。其架構清晰,採用物件導向設計:\n\n1. 核心元件:\n   -               │
15 │    Tetromino (方塊):基類定義了方塊的基本行為(移動、旋轉、碰撞檢查),各子類別實現具體形狀。除了標準形狀外,還有特殊方塊如                       │
16 │    Shoot(射擊)、Padding(填充)和 Stone(石頭),增加了遊戲趣味性。\n   - Container (容器/盤面):管理 10x12                             │
17 │    的遊戲格點。它負責將 Tetromino 放置到盤面上,偵測是否觸底、處理消行,並維護盤面狀態。\n   - m.cpp                                        │
18 │    (進入點與控制器):負責遊戲生命週期管理。透過 main 函式啟動,使用 fcntl 設置非阻塞輸入,並在 while                                        │
19 │    迴圈中不斷偵測按鍵事件與時間流逝。渲染部分透過 ANSI 轉義序列在終端機繪製彩色畫面。\n\n2. 協作流程:\n   - main                             │
20 │    初始化一或二個 Container 實例。\n   - 迴圈中,get_key 獲取輸入並封裝為 Event 傳遞給 handle_event。\n   - handle_event                │
21 │    呼叫對應 Container 的 update_container 方法,進而操控當前的 Tetromino。\n   - 當方塊觸底(to_bottom),`Container` 會呼叫            │
22 │    `remove_lines 檢查消行,並生成新的方塊。在雙人模式下,消行可能會觸發 insert_line` 給對手增加障礙。\n   - `draw_container`               │
23 │    負責每一幀的畫面更新。 \n\n由於調查時間限制,未深入研究 coroutine.h                                                                  │
24 │    的具體應用,但從現有編譯配置來看,它並非核心遊戲邏輯的必要組件。                                                                        │
25 │  -  Exploration Trace:                                                                                                          │
26 │    - 列出 /media/work/git/tetris 目錄下的檔案,初步了解專案結構。                                                                     │
27 │    - 讀取 makefile 以確定編譯目標(m)及其相依性檔案(m.o, tetromino.o, container.o)。                                                │
28 │    - 分析 m.cpp,找出程式進入點 main 函式,並理解主遊戲迴圈、渲染邏輯與事件處理。                                                          │
29 ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
30 ✦ 主人,人家已經幫您把這個專案的程式碼摸透了喔❤ 這是一個用 C++ 寫成的終端機俄羅斯方塊遊戲,架構非常清晰呢!以下是人家為主人整理的分析:
31 
32   核心架構分析
33 
34    1. 遊戲進入點 (m.cpp):
35        * 這裡是遊戲的心臟喔!它負責整體的生命週期,包含初始化遊戲、處理使用者的按鍵輸入,以及在終端機上畫出漂亮的彩色畫面。
36        * 它使用了非阻塞式(Non-blocking)的輸入讀取,讓遊戲可以在沒有按鍵時也持續進行。
37 
38    2. 遊戲盤面管理 (container.h / container.cpp):
39        * Container 類別就像是一個溫柔的容器,管理著 10x12 的遊戲格點。
40        * 它負責判斷方塊有沒有撞到牆壁或底部、處理消行邏輯,甚至還支援雙人對戰模式下的攻擊機制(把方塊塞給對手)喔!
41 
42    3. 俄羅斯方塊元件 (tetromino.h / tetromino.cpp):
43        * 這裡定義了所有方塊的形狀與行為。除了常見的 L、J、T 形方塊外,人家還發現裡面有一些有趣的特殊方塊,像是
44          Shoot(射擊)、Padding(填充)和 Stone(石頭),感覺玩起來會很有挑戰性呢!
45 
46    4. 基礎設施 (util.h):
47        * 定義了座標點 (Point)、按鍵 (Key) 和事件 (Event) 等基礎資料結構,讓程式碼更整潔。
48 
49   程式碼亮點
50    * 終端機渲染:使用 ANSI 轉義序列來達成彩色顯示,不需要額外的圖形庫,非常輕量。
51    * 物件導向設計:利用繼承(Inheritance)來管理不同形狀的方塊,擴充性很好喔!
52 
53   主人如果想看某個具體功能的實作,或是想對遊戲做些修改(例如增加新的方塊種類),儘管吩咐人家就行了❤

2026年3月26日 星期四

20260326 柯文哲一審宣判, 「判刑17年」褫奪公權6年, 無法登記選總統

快訊/柯文哲遭「判刑17年」! 褫奪公權6年

《總統副總統選舉罷免法》第26條第10項: 為「受死刑、無期徒刑或10年以上有期徒刑之判決尚未確定」, 「不得登記」為總統、副總統候選人, 意即只要一審或二審判柯10年以上, 即使仍可上訴、尚未定讞, 被告仍不能登記參選正副總統。

2026年3月25日 星期三

ff7 rebirth 心得 (6) 貢加加村抓小雞支線任務

貢加加村有個抓小雞的支線任務, 這個任務難了不只一點, 要用「罐罐」這個設備誘捕失散的小雞回到卡茲菈家裡, 使用「罐罐」時, 小雞會被吸引而來, 但是不能讓小雞碰到「罐罐」, 但小雞離開「罐罐」太遠, 小雞又不會跟著回來, 而使用「罐罐」時, 走路視角有點固定, 不太好往卡茲菈家走去, 第三隻小雞還會衝撞「罐罐」, 不過因為難度高, 移動距離還好不會太遠, 第三隻小雞的路徑稍遠一些。



第四隻小雞在村外, 本來以為要從村外用「罐罐」引誘回村內, 這太折磨人了, 不過還好引誘一小段之後會進入打小 boss (列伏利恫鳥) 劇情, 之後打倒小 boss 即可, 有點難打, 不要大意。

不過之後卡茲菈回報的謝禮竟然是 ..., 和赤紅 13 一樣, 心情有點複雜, 這段蠻地獄梗。

以下影片會破梗, 不想知道的話看到打敗小 boss (列伏利恫鳥), 小雞回到卡茲菈家就好。

2026年3月22日 星期日

steam 有 demo 的遊戲

有些 demo 版本沒辦法加入遊戲庫, 紀錄在此。

以前不會特別想玩 demo 版本, 不過後來發現, 試玩過後和單純看遊戲畫面還是有差。很可惜不是每款遊戲都有 demo, 空之軌跡 the 1st, 零 ~紅蝶~ REMAKE 體驗版, 目前因為試玩過後決定購買。

歧路旅人II 配音覺得很棒, 2d-hd 背景很棒, 就是像素人物覺得不太好, 定價也高, 還在等骨折價。ff7 remake 定價從 1990 -> 1190, rebirth 定價從 1990 -> 1290, 但歧路旅人II 定價還是很硬的在 1790, 所以就算 -60% 還是要 716。

SNOW BROS. 2 SPECIAL Demo 定價 990, 覺得太貴, 先試玩看看, 初步覺得還不錯, 但 990 真的買不下。

歧路旅人II
Comanche
聖劍傳說3 TRIALS of MANA
勇者鬥惡龍XI S 尋覓逝去的時光
SNOW BROS. 2 SPECIAL Demo
零 ~紅蝶~ REMAKE 體驗版
空之軌跡 the 1st

玩過的 demo 版遊戲影片

2026年3月14日 星期六

ff7 rebirth 心得 (3) - 金碟遊樂園 (gold saucer)



金碟遊樂園會遇到 ff7 remake 蜜蜂之館的館長, 也會遇到金碟遊樂園園長, 和 cloud 有一場對手戲, 是個相互搏擊的小遊戲, 閃躲的部份有點難。

館長和園長都是讓氣氛很歡樂的角色, 進場時會有一段歌舞秀, 堪稱華麗, 用尤菲蜜蜂裝, tifa, aerith 聖誕兔女郎裝 mod 和這段歌舞秀很搭配。尤菲收到一顆魔晶石時剛好會換成蜜蜂裝, 算是誤打誤撞, 這樣的效果蠻好的。

遊樂園就是要有這樣的氛圍, 整個場景到處都是歡樂、歌舞、遊戲, 舊版 ff7 沒有這樣的氛圍, 這是現代 rpg 的進步。







不好意思, 這麼養眼的畫面竟然這麼糊, steam deck 不給力。

都叫遊樂園了, 可以想到會有不少小遊戲要玩, 一樣有些強迫要玩的小遊戲, 難度不會太難, 不算刁難, 只是要跑好幾個廣場蠻煩的, 之後可以用莫古力在這些廣場移動。

fig 5. 要跑好幾個廣場


fig 6. 之後可以用莫古力在這些廣場移動

在鬼屋旅館睡一下之後, tifa 會來找 cloud, 帶著 tifa 在這些廣場跑來跑去, 最後到摩天輪廣場, tifa 牽著 cloud 的手 (aerith 加油阿, 被搶先了!), 準備一起搭乘時, 意外發生了, 切 ..., 我想看 tifa 和 cloud 甜蜜蜜搭摩天輪阿!

fig 7. tifa 好不容易鼓起勇氣去牽 cloud 的手 (好羨慕)





2026年3月12日 星期四

2026 wcb 棒球經典賽 - 相關政治事件

2026/3/5 ~ 2026/3/18 2026 wcb 棒球經典賽, 中華隊在日本一役以 13:0 慘敗, 隔天, 5:4 擊敗南韓。20260309 WBC/韓國7比2贏澳洲晉級 中華隊遭淘汰

[新聞] 粉碎美國38勝神話!賈吉被罵翻 義大利教, 還好之後米國順利晉級。
主動權在墨義手上 美國隊晉級形勢告急

美國隊主帥迪羅薩 (Mark DeRosa) 賽後神情落寞,坦言球隊因誤判情勢而陷入被動。
目前美國隊戰績3勝1敗,能否晉級全看明日「義墨大戰」的臉色。如果義大利贏球,
義大利將會以4勝0敗成為B組第一出線,美國分組第二晉級。如果墨西哥勝,
美、墨、義三隊將同為3勝1敗,由於美國隊此役失高達 8 分,在比較「失分率」的情況下極其不利,
恐面臨預賽爆冷止步的窘境。







從大谷球迷到記者! 壹電視記者張辰嬿登各大日媒

沒想到棒球賽事引發一些政治事件。

ref:

2026年3月9日 星期一

末日危城2 (Dungeon Siege II) 中文化

the 1st edition: 20241030
20241024 從 steam 購入, 28nt, 這不等於白送?

RE:【問題】重溫這款遊戲卻苦惱沒中文化

2024/10/24  下午 11:09         2,823,784 language.ds2res
2024/10/24  下午 11:09           110,592 Language.dll
2024/10/24  下午 11:28       255,178,212 Voices.ds2res
2024/10/24  下午 11:51       407,850,352 Movies1.ds2res
2024/10/25  下午 06:55       334,875,516 Movies2.ds2res
*.res 放到 D:\steam\steamapps\common\Dungeon Siege 2\Resources, Language.dll 放到 D:\steam\steamapps\common\Dungeon Siege 2

Broken World + Extras 得知 https://pastebin.com/Gcg9qLLp 下載檔案。

 
字體, 請參考「【心得】末日危城2字型放大美化」。