「Rust でサイコロゲームを作る」は、Rust の基礎を学び、小さな関数を組み合わせて端末で遊べるゲームを作りたい方のための実践プロジェクトです。各ラウンドで 5 個のサイコロを使う 3 ラウンドのゲームと、3 種類の得点カテゴリを実装します。完成したスコアカードは、記録した選択から得点を再計算できます。
2 つのガイド付きラボで、型を使った得点ルールから正しいラウンド遷移まで学びます。1 つのチャレンジでは、同じルールを別のゲームに適用します。各ラボには独立したプロジェクトが用意されており、前の環境のファイルに依存せず、学んだ知識を活用できます。
学習内容
このコースを修了すると、次のことができるようになります。
- enum で得点カテゴリを表し、
matchで得点を計算する。 - 合計、最も大きいペア、連続する 5 つの数の得点を、正当な 0 点も含めて計算する。
- 各ラウンドで未使用のカテゴリを 1 つ受け付け、不正または重複した選択の後も現在のサイコロを保つ。
- 各ラウンドのサイコロ、カテゴリ、得点を
match.tsvに保存し、そのファイル自体をリプレイして合計点を再計算する。 - 固定した出目でルールを確かめ、用意されたランダムなサイコロ生成と入力インターフェースでゲームをプレイする。
このコースの対象者
使い慣れた言語機能を組み合わせ、小さな対話型プログラムを作りたい Rust 学習者を対象としています。
前提知識: 基本的な端末操作と、Rust の関数、配列、enum、match、Option。Rust for Beginners で関連する基礎を学べます。2 つ目のガイド付きラボでは、必要に応じて struct、Vec、&mut self を使う可変メソッド、Result、スライスを説明します。
学習環境: LabEx がブラウザ内の Linux Terminal と準備済みの Rust プロジェクトを提供します。入力インターフェースとランダムなサイコロ生成は用意されており、得点計算とスコアカードの動作を実装します。端末のプロンプトとプログラムの出力は英語のままです。
よくある質問
ゲーム開発の経験は必要ですか?
必要ありません。ゲームには短く明確な 3 つの得点ルールがあります。グラフィックス、ゲームエンジン、必勝戦略は不要です。
0 点はラウンドの失敗を意味しますか?
いいえ。有効なカテゴリの選択は、0 点でもラウンドを完了します。不正なカテゴリや使用済みカテゴリは拒否され、現在のサイコロを振り直すことはありません。
どのくらいの時間がかかりますか?
作者は、読解と一般的なミスへの対応を含めて 110–150 分と見積もっています。この見積もりは、初学者による通し学習では検証されていません。


