プログラムの概要
どうも! みなため(@MinatameT)です。
このプログラムは、コンピューターとじゃんけんをするものです。画像は表示せずに、文字だけを表示します。
まず、ユーザーに0、1、2の整数値のどれかを入力させます。
- 0は「グー」に対応。
- 1は「チョキ」に対応。
- 2は「パー」に対応。
そして、コンピューター側は0、1、2をランダムで決めて、それを出します。
あとは、ユーザーの数値とコンピューターの数値を見て、勝敗を判断します。
これで、じゃんけんが成立します。
それでは、そのソースコードと実行結果の例を確認していきます。
じゃんけんをするプログラムの例
ソースコード
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int myself,enemy;
srand((unsigned)time(NULL)); //乱数の仕組みを初期化する。
printf("0:グー、1:チョキ、2:パー >");
scanf("%d",&myself); //ユーザーに値を入力させる。
if(myself<0 || myself>=3) //入力した値が、0未満か3以上なら
{
return(0); //プログラムをここで終了させる。
}
enemy = (rand()%(3)); //乱数を3で割った値(0、1、2のランダムの値が代入。)
if(myself==0) //自分がグーを出した場合
{
printf("あなたはグーを出しました。\n");
if(enemy==0) //相手がグーを出した場合
{
printf("相手はグーを出しました。\n");
printf("引き分けです。\n");
}
else if(enemy==1) //相手がチョキを出した場合
{
printf("相手はチョキを出しました。\n");
printf("あなたの勝利です!\n");
}
else if(enemy==2) //相手がパーを出した場合
{
printf("相手はパーを出しました。\n");
printf("あなたの負けです……。\n");
}
}
else if(myself==1) //自分がチョキを出した場合
{
printf("あなたはチョキを出しました。\n");
if(enemy==0) //相手がグーを出した場合
{
printf("相手はグーを出しました。\n");
printf("あなたの負けです……。\n");
}
else if(enemy==1) //相手がチョキを出した場合
{
printf("相手はチョキを出しました。\n");
printf("引き分けです。\n");
}
else if(enemy==2) //相手がパーを出した場合
{
printf("相手はパーを出しました。\n");
printf("あなたの勝利です!\n");
}
}
else if(myself==2) //自分がパーを出した場合
{
printf("あなたはパーを出しました。\n");
if(enemy==0) //相手がグーを出した場合
{
printf("相手はグーを出しました。\n");
printf("あなたの勝利です!\n");
}
else if(enemy==1) //相手がチョキを出した場合
{
printf("相手はチョキを出しました。\n");
printf("あなたの負けです……。\n");
}
else if(enemy==2) //相手がパーを出した場合
{
printf("相手はパーを出しました。\n");
printf("引き分けです。\n");
}
}
return(0);
}
time関数を使うために、#include<time.h>を記述してください。
また、rand関数やsrand関数を使うために、#include<stdlib.h>を記述してください。
「srand((unsigned)time(NULL));」は、乱数の偏りを発生しにくくするためのおまじないです。このおまじないには、現在の時刻を利用しています。
「enemy = (rand()%(3));」は、0、1、2のうちのいずれかの値(ランダム)がenemyに代入されます。
それでは、実行結果を確認しましょう。
実行結果
0:グー、1:チョキ、2:パー >0
あなたはグーを出しました。
相手はチョキを出しました。
あなたの勝利です!
私はグーで、相手はチョキです。よって、私が勝利しました!
0:グー、1:チョキ、2:パー >1
あなたはチョキを出しました。
相手はチョキを出しました。
引き分けです。
私はチョキで、相手もチョキです。よって、引き分けです。
0:グー、1:チョキ、2:パー >2
あなたはパーを出しました。
相手はチョキを出しました。
あなたの負けです……。
私はパーで、相手はチョキです。よって、負けてしまいました。
0:グー、1:チョキ、2:パー >3
0、1、2以外の値を入力すると、プログラムはそのまま終了します。
これが、じゃんけんをするプログラムの作り方の例です。皆さん、お疲れさまでした。