【C言語】第9章第10回:C言語を使ったプロジェクト例:ゲーム、ツール開発
C言語を使ったプロジェクトでスキルを磨きましょう。本記事では、ゲームやツールの実装例を通して実践的なスキルを習得します。
0. 記事の概要
この記事を読むメリット
- 実践的なスキル:実際に動作するプログラムを作成しながら学べます。
- 応用力の向上:ゲームやツールを作ることで、C言語の柔軟性を理解できます。
- モチベーションアップ:完成物があることでプログラミング学習が楽しくなります。
この記事で学べること
- 簡単なゲームの作成方法
- ツール開発の基本的な考え方
- プロジェクトを通じたC言語の活用スキル
1. プロジェクト例1:数当てゲーム
1.1 数当てゲームの概要
数当てゲームは、プレイヤーがコンピュータが選んだ数を当てるシンプルなゲームです。範囲内の数を予想して入力し、ヒントを基に正解を目指します。
1.2 コード例
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int secret, guess;
srand(time(0));
secret = rand() % 100 + 1; // 1から100のランダムな数
printf("数当てゲームを始めます!(1〜100の間の数字を当ててください)\n");
do {
printf("あなたの予想を入力してください: ");
scanf("%d", &guess);
if (guess < secret) {
printf("もっと大きいです!\n");
} else if (guess > secret) {
printf("もっと小さいです!\n");
} else {
printf("正解です!%dが正しい数字です。\n", secret);
}
} while (guess != secret);
return 0;
}
動作解説
- ランダムな数の生成:`rand`関数を使用して1〜100のランダムな数を生成します。
- ユーザーの入力:`scanf`でプレイヤーの予想を取得します。
- ヒントの出力:予想が正解より小さい場合は「もっと大きい」、大きい場合は「もっと小さい」と表示します。
2. プロジェクト例2:簡易計算機
2.1 簡易計算機の概要
このツールは、基本的な四則演算(加算、減算、乗算、除算)を行います。ユーザーが2つの数値と演算子を入力することで計算を行います。
2.2 コード例
#include <stdio.h>
int main() {
char operator;
double num1, num2, result;
printf("簡易計算機\n");
printf("使用可能な演算子: +, -, *, /\n");
printf("数式を入力してください(例: 5 + 3): ");
scanf("%lf %c %lf", &num1, &operator, &num2);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0)
result = num1 / num2;
else {
printf("エラー: 0で割ることはできません。\n");
return 1;
}
break;
default:
printf("無効な演算子です。\n");
return 1;
}
printf("結果: %.2lf\n", result);
return 0;
}
動作解説
- 入力の取得:ユーザーが数値と演算子を入力します。
- 演算の実行:`switch`文を使用して対応する計算を実行します。
- エラー処理:除算時に分母がゼロの場合、エラーメッセージを表示します。
3. 練習問題
以下の課題に挑戦して、プロジェクトの作成スキルを向上させましょう。
- 数当てゲームに、試行回数を表示する機能を追加してください。
- 計算機に、累乗(^)演算を追加してください。
- 2人プレイの簡単な対戦ゲームを設計してください。
4. 練習問題の解答と解説
以下は、課題の解答例の一部です。
問1の解答例
// 数当てゲームに試行回数を追加
int attempts = 0;
do {
attempts++;
printf("試行回数: %d\n", attempts);
// 残りのロジックは同じ
} while (guess != secret);
5. まとめ
本記事では、C言語を使用したプロジェクト例として数当てゲームと簡易計算機を紹介しました。これらを基にさらに複雑なプロジェクトに挑戦してみてください。