1. 程式人生 > 遊戲資訊 >原神祈願抽卡模擬庫(C++實現)

原神祈願抽卡模擬庫(C++實現)

GitHub:https://github.com/Jirehlov/libgiwscli

Gitee備份:https://gitee.com/Jirehlov/libgiwscli

這個庫是對一棵平衡樹的專欄中描述的模型的C++實現,同時參考Genshin Wishes、非小酋等資料來源。


使用時只需包含進標頭檔案giwscli.h即可:

示例

抽取雷神第一次復刻池100次:

如果你不知道自己在幹什麼,請勿繞過已定義函式擅自修改已定義變數。

推薦使用的介面如下:

1. 設定為指定卡池。原型:

其中引數chosen_banner_p為卡池型別編號,可取值{1, 2, 3, 4, 5},對應如下:

1: 角色活動祈願;

2: 角色活動祈願-2;

3: 武器活動祈願;

4: 常駐祈願;

5: 新手祈願;

引數chosen_event_p為活動型別編號,即對應卡池型別的第chosen_event_p個活動。

若引數不合法,則不做修改並賦值error_code

2. 抽取指定卡池一次。原型:

如果對效能要求不高,這是最方便的選擇。引數的含義同上。

若引數合法,則修改部分變數作為抽取結果。

推薦的意義變數有kind(種類編號)和star(稀有度)。

3. 清空結果。原型:

4. 生成保底狀態碼。原型:

儲存在ptrdiff_t hash_out[9]中。

5. 使用保底狀態碼。原型:

若校驗不通過,則返回2,否則返回0。

6. 設定神鑄定軌。原型:

fw可取{0, 1, 2},對應為:

0: 取消神鑄定軌

1: 定軌第一順位武器

2: 定軌第二順位武器

若fw不合法,則返回1, 否則返回0。

隨機性方面,採用std::random_device與std::chrono::high_resolution_clock混合生成種子,使用std::mt19937_64。

目前應用方面有我在維護的兩個

命令列介面: https://github.com/Jirehlov/Genshin-Impact-Wish-Simulator-CLI


簡潔版檔案輸出: https://github.com/Jirehlov/Genshin-Impact-Wish-Simulator-Fileout


歡迎感興趣的同學玩玩。