UTF8 To BIG5 + bmfont
Posted on January 17, 2026
| 3 minutes
| 450 words
| SoaB
BMF.C 程序說明文件
程式概述
本程式 bmf.c 是一個專門用於處理 Unicode(UTF-8)字串與 Big5 編碼之間轉換的 C 語言程式,同時具備從 Big5 編碼查詢對應點陣字體資料的功能。程式的核心設計目標是為了嵌入式系統或點陣顯示裝置(如 LCD、OLED 螢幕)提供中文字型的顯示支援。程式透過二分搜尋演算法高效地查詢 Unicode 到 Big5 的映射關係,並根據 Big5 編碼的特定區塊結構計算字型資料在字庫陣列中的偏移位置,最終輸出符合特定尺寸規格的點陣資料。
程式的設計採用了模組化架構,將字元編碼轉換與字型資料獲取分離,使得各個函式可以獨立重用。轉換流程從 UTF-8 字串出發,首先解析出每個 Unicode 碼點(codepoint),接著查詢對應的 Big5 編碼,最後根據 Big5 編碼的區塊分類從預先定義的字庫中提取點陣資料。這種設計方式不僅提高了轉換效率,也使得程式碼結構清晰易於維護。
[Read More]Code - Mine Sweeper
Posted on January 13, 2026
| 2 minutes
| 357 words
| SoaB
MineSweeper Game
這是一個使用 Raylib 圖形庫開發的經典踩地雷(Minesweeper)遊戲程式。程式以 C 語言撰寫,支援不同的難度等級,並包含音效、圖片資源和自訂字體。

源碼在這裏
這個README是由AI依照原始程式產生的,真是方便啊!— -_- 最討厭寫這些文件了…
[Read More]Code - ECS ? Particles + arena + Quad Tree
Posted on April 19, 2025
| 7 minutes
| 1315 words
| SoaB
ECS Arena QuadTree
ECS是𠁭,可以吃嗎?
Arena , QuadTree 這東東又有何特別?
這次用30000個Particles來實驗一下下,有沒有廣告說的這麼強 !!!

[Read More]Code - Game Practicum 01
Posted on April 15, 2025
| 1 minutes
| 142 words
| SoaB
a simple game practicum with raylib
這是一個簡單的使用raylib的遊戲,主要是用來練習raylib的基本功能。
因為是練習用,所脙會非常隨性,你可能會發現程式風格極為混亂!是的,我喜歡混亂,那代表著無限的可能性。
當然也會有無限的錯誤,請多多包涵。
為什麼用C語言來練習呢?C代表著最大程度的自由,你可以用任何你喜歡的方式來寫程式。
What you think. what you write code. NO LIMIT. NO strange RULES.

[Read More]Code -- Simple POKER Game
Posted on March 31, 2025
| 2 minutes
| 289 words
| SoaB
a simple POKER game with raylib
為什麼會有這個東東呢?
因為想要知道ai的研究是否好用,順著就寫了一個來測試機率。

[Read More]Poker game from GEMINI
Posted on March 30, 2025
| 6 minutes
| 1259 words
| SoaB
撲克牌遊戲中各種牌型的自然機率分析報告
1. 前言
撲克牌遊戲,尤其是五張換手撲克,在全球廣受歡迎。了解遊戲中各種牌型出現的機率對於玩家制定策略至關重要。本報告旨在透過組合數學的方法,計算在一副標準的 52 張撲克牌中,隨機抽取 5 張牌時,形成各種特定牌型的自然機率,這些牌型已由使用者提供的 CardWinKind 陣列定義。本分析將基於標準的組合學原理,計算每種牌型的組合數量,並將其除以所有可能的五張牌組合總數,從而得出其發生的機率。本報告將詳細闡述每種牌型的計算過程,並總結其機率分佈。
[Read More]Code - Lazy Graphics
Posted on March 12, 2025
| 11 minutes
| 2192 words
| SoaB
為了方便繪圖測試,把sdl 3給加一層包裝,懶人專用…
使用例…
#include <stdlib.h>
#define LAZY_GRAPHIC_IMPLEMENTATION
#include "lazygraphic.h"
#include <math.h>
#include <time.h>
int main(int argc, char* argv[])
{
RGBA bkgColor = { .color = 0xFF181818 };
RGBA cirColor = { .color = 0xFF18D818 };
lazyGr.Init(800, 600, "LAZY !!");
srand(time(NULL));
while (!lazyGr.Done()) {
lazyGr.Clear(bkgColor);
for (int i = 0; i < 50; i++) {
int rx = rand() % 400;
int ry = rand() % 300;
int rr = rand() % 200;
cirColor.color = rand() | 0xFF000000;
lazyGr.Disk(400 - rr/2 + rx/2, 300 - rr/2 + ry/2 , rr, cirColor);
}
lazyGr.Update();
lazyGr.Delay(16);
}
lazyGr.Fini();
return 0;
}
[Read More]Code - Pong Game
Posted on February 23, 2025
| 6 minutes
| 1104 words
| SoaB
a simple game with raylib
為什麼會有這個東東呢?
因為想要知道ai的註解是否好用,不想寫註解的人有福了,找ai就對了。
[Read More]Lilikoko - Gemini o_O
Posted on February 8, 2025
| 10 minutes
| 2006 words
| SoaB
** Gemini 2.0 Flash Thinking Experimental
Q:
- 1 = 5 2= 10 3 = 15 4 = 20 那麼5 = ?
顯示思路
The user is presenting a sequence of numbers on the left side of the equation and their corresponding values on the right side.
The sequence is:
1 = 5
2 = 10
3 = 15
4 = 20
The user is asking to determine the value for 5 = ?.
[Read More]Code - Line effect
Posted on January 24, 2025
| 2 minutes
| 418 words
| SoaB
Line Effect
Learning Zig programming language …
Line effect for learning zig’s struct random and raylib implementation ect.

[Read More]