こんにちは、初心者プログラマーです。
初心者向けの参考書を読み終えたので、じゃんけんゲームを作りながら学んだ事をアウトプットしていこうと思います。
じゃんけんゲームのソースコードは短いので、ヘッダファイルを使う必要はないのですが、ヘッダファイルを使う練習もかねて、あえて使わせてもらいます。
ソースコード
【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関数で書くコードを少なくし、見やすくすることができます!
私もまだまだ勉強が足りないので、中級者をめざして頑張ります(^▽^)/
コメント