✓当ブログのコンテンツには広告を含むことがあります

【C言語】じゃんけんゲームをヘッダファイルを使って作ってみた

C/C++
C/C++
この記事は約3分で読めます。

こんにちは、初心者プログラマーです。

初心者向けの参考書を読み終えたので、じゃんけんゲームを作りながら学んだ事をアウトプットしていこうと思います。

じゃんけんゲームのソースコードは短いので、ヘッダファイルを使う必要はないのですが、ヘッダファイルを使う練習もかねて、あえて使わせてもらいます。

ソースコード

【janken.c】

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "header.h"//ヘッダーファイルが使えるようになる。

int main(){
	int p1;//プレイヤーの手を入れる箱
	int cp;//コンピュータの手を入れる箱

	srand(time(NULL));//乱数の種を初期化

	printf("じゃんけん...\n");
	printf("(0)グー(1)チョキ(2)パー\n");

	cp = rand() % 3;//ランダムでコンピュータの手を決める

	scanf("%d", &p1);//プレイヤーの手を入力して決める

	printf("コンピュータ:");//コンピュータの選んだ手を表示
	if (cp == 0) {
	    printf("グー\n");
	}
	else if(cp==1){
		printf("チョキ\n");
	}
	else {
		printf("パー\n");
	}

	kekka(p1, cp);//ヘッダーファイルにデータを送って結果を返す

	return 0;
}

 

【header.h】ヘッダファイル

#include <stdio.h>

void kekka(int p1, int cp) {//main()からデータが送られてくる

	int kekka = p1 - cp;

	if (kekka==0) {
		printf("あいこです");
	}
	else if(kekka==-1 || kekka==2){
		printf("あなたの勝ちです!");
	}
	else {
		printf("あなたの負けです");
	}
	return 0;
}

出力結果

実行すると自分の手を選べます。(画像はmain関数の赤文字のところで止まってます)

ここで「1」と入力してみましょう。

 

勝ちました!!

入力した「1」とランダムで決まったコンピュータの手をkekka関数で処理し、結果を表示してくれてます。

 

このように、ヘッダファイルを上手く活用することで、main関数で書くコードを少なくし、見やすくすることができます!

私もまだまだ勉強が足りないので、中級者をめざして頑張ります(^▽^)/

コメント