前回、if文とwhile文をまとめたので、それを用いた簡単なじゃんけんゲームをプログラミングで作ってみたいと思います。
復讐ですがif分は
もし、◯◯であれば××の処理を実行する
while文は
◯◯が終わるまで□□を繰り返す
という意味でした。
目次
簡単なじゃんけんゲームを作ってみる
高度なランダム機能を使ったじゃんけんゲームではなく、ここでは前回の勉強の応用として、if文とwhile文を使ったプログラミングを作ります。
そのうちプログラミングが慣れてくればもうちょっとすごい、じゃんけんゲームが作れればっておもうんですがね。。。
if文、while文でそれぞれのじゃんけんゲームを作っていますが、ルールは以下のようになります。
- プレイヤー1と2でそれぞれじゃんけんを入力
- 入力値以外の値は受け付けないようにする
- 同じ入力値であれば「あいこ」と入力
- あとはじゃんけんゲームと同じようにそれぞれ、if文、while文でプログラミング作成
if文を使ったじゃんけんゲーム
if文では「==」や「&&」などの演算子を用いてじゃんけんゲームを作りました。
#include <stdio.h>
int main(void)
{
int player1 = 0; /* プレイヤー1 */
int player2 = 0; /* プレイヤー2 */
/* 無限ループ */
while(1){
/* 「グー、チョキ、パー」の手を入れる */
printf("PLAYER(1:グー、2:チョキ、3:パー):");
scanf("%d",&player1);
printf("PLAYER(1:グー、2:チョキ、3:パー);");
scanf("%d",&player2);
/* 1,2,3以外の数字は受け付けないようにする */
if(player1 < 1 || player1 > 3 || player2 < 1 || player2 > 3){
break; /* whileの外へ出る */
}
/* じゃんけん判定 */
if(player1 == player2){
printf("あいこです\n");
}else if( (player1 == 1 && player2 == 2)
|| (player1 == 2 && player2 == 3)
|| (player1 == 3 && player1 == 1)){
printf("PLAYER1のかちです\n");
}else if( (player1 == 1 && player2 == 3)
|| (player1 == 3 && player2 == 2)
|| (player1 == 2 && player1 == 1)){
printf("PLAYER2のかちです\n");
}
return 0;
}
}
PLAYER(1:グー、2:チョキ、3:パー):1 PLAYER(1:グー、2:チョキ、3:パー);2 PLAYER1のかちです
while文であいこと時は再度入力を求める(無限ループ)
while文はちょいと工夫を凝らして「%」を応用したプログラミングを作りました。
#include <stdio.h>
int main(void)
{
int player1 = 0; /* プレイヤー1 */
int player2 = 0; /* プレイヤー2 */
/* 無限ループ */
while(1){
/* 「グー、チョキ、パー」の手を入れる */
printf("PLAYER(1:グー、2:チョキ、3:パー):");
scanf("%d",&player1);
printf("PLAYER(1:グー、2:チョキ、3:パー);");
scanf("%d",&player2);
/* 1,2,3以外の数字は受け付けないようにする */
if(player1 < 1 || player1 > 3 || player2 < 1 || player2 > 3){
break; /* whileの外へ出る */
}
if(player1 == player2){
printf("あいこです\n");
}else if((player1 % 3) == (player2 - 1)){
printf("PLAYER1のかちです\n");
break; /* whileの外へ出る */
}else if((player1 - 1) == (player2 % 3)){
printf("PLAYER2のかちです\n");
break; /* whileの外へ出る */
}
}
return 0;
}
PLAYER(1:グー、2:チョキ、3:パー):3 PLAYER(1:グー、2:チョキ、3:パー);3 あいこです PLAYER(1:グー、2:チョキ、3:パー):2 PLAYER(1:グー、2:チョキ、3:パー);2 あいこです PLAYER(1:グー、2:チョキ、3:パー):1 PLAYER(1:グー、2:チョキ、3:パー);1 あいこです PLAYER(1:グー、2:チョキ、3:パー):1 PLAYER(1:グー、2:チョキ、3:パー);2 PLAYER1のかちです
「%」って結構頭がこんがらがっちゃいますね。
まだまだ、勉強不足ですわ。
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

コメント