ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

C言語

【C言語】制御文でじゃんけんゲームを作ってみる

更新日:

前回、if文とwhile文をまとめたので、それを用いた簡単なじゃんけんゲームをプログラミングで作ってみたいと思います。

復讐ですがif分は

もし、◯◯であれば××の処理を実行する

while文は

◯◯が終わるまで□□を繰り返す

という意味でした。


Linuxアカデミーの資料が無料請求
リナックスアカデミー【公式サイト】

自宅で無料でオンラインブートキャンプができるようになりました!
オンラインブートキャンプ無料体験

IT系エンジニアNo1転職サイト
レバテックキャリア【公式ホームページ】

スポンサーリンク


簡単なじゃんけんゲームを作ってみる

高度なランダム機能を使ったじゃんけんゲームではなく、ここでは前回の勉強の応用として、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のかちです

「%」って結構頭がこんがらがっちゃいますね。
まだまだ、勉強不足ですわ。

○エンジニアの道を目指すならこちらもおすすめです!
⇒ネットワークエンジニアへの技術手順書
⇒サーバーエンジニアへの構築手順書


スポンサーリンク

この記事が気に入ったら
いいね!しよう

Twitter で



-C言語
-,

Copyright© GOISBLOG , 2017 All Rights Reserved.