C++でランダムにテキストを出力したいことがあった。
std::random_device rd;
std::mt19937 gen(rd());
std::string Message[25] = {
u8"そうね、あなたもワンちゃんには野菜ジュースを上げないでしょ?",
u8"お前って本当にせっかちだな。",
u8"箱の中に...帰りたい...",
u8"荷物...届られなくなっちゃった...",
u8"雷鳴が...止んでしまいます...",
u8"浮世の夢のごとし...",
u8"命は...いつか尽きるもの...",
u8"枯れしぼむ刻...",
u8"運命を見るのもこれでおしまい...",
u8"これが逆らえない...運命...",
u8"星空が...暗くなっていきます...",
u8"皆の声が、聞こえないよ...",
u8"灯火はいつか散る...わかってるんだ。",
u8"フンッ、予想外アだぜ...",
u8"みんな...元気で...",
u8"命は永遠ではない...",
u8"契約は...まだ終わっていない...",
u8"また...封印されるの...?",
u8"そんな馬鹿な...せっかく手に入れたのに...",
u8"ここは...ゴールじゃない...",
u8"全軍...撤退...",
u8"策を見誤りました...",
u8"クレー...もう帰りたい...",
u8"うっ、呼吸、苦しい...",
u8"私の番?",
};
int main() {
std::uniform_int_distribution<> dist(0, 25);
int random = dist(gen);
std::cout << Message[random] << std::endl;
return 0;
}
メッセージが見たことある?知らんよわしゃ。
distの範囲の乱数が生成されるようになってるらしい
シランケド... <- なんで記事書いてるん
まとめ
rand()
はかなり偏る