IMPLEMENTATION NOTES / C++
DiceGame
C++の基礎文法(入出力、乱数、条件分岐)を学ぶためのシンプルなサイコロゲーム。
IMPLEMENTATION / EQUATIONS & SOURCE
入力から出力まで、コードで追う。
各節は「何を計算するか → 数式 → 実際のコード」の順に読めます。コードは動作する実装からの抜粋で、単独実行用ではありません。省略した周辺処理は参照元で確認できます。
01 / 乱数を出目に変え、合計で勝敗を決める
時刻をseedにしてrand()を初期化し、剰余で1〜6の整数を2つ作ります。合計が7より大きければ勝ちです。名前はgetlineで受け取り、結果メッセージに挿入します。
die = (rand() mod 6) + 1
total = die₁ + die₂
win ⇔ total > 7 int die1 = std::rand() % 6 + 1;
int die2 = std::rand() % 6 + 1;
int total = die1 + die2;
std::cout << "Die 1: " << die1 << "\n";
std::cout << "Die 2: " << die2 << "\n";
std::cout << "Total value: " << total << "\n\n";
if (total > 7) {
std::cout << name << " won!\n";
} else {
std::cout << name << " lost!\n";
}SOURCE / SCOPE
実装の読み方。
各コード抜粋はリンク先の固定コミットから取得しています。数式は該当処理を説明するための表記です。性能や品質の数値は、掲載した計算例を除き新しい実測を行っていません。ビルド手順と依存環境は各リポジトリを参照してください。
リポジトリへ ↗