広告
↓発売日:2018年09月22日↓
新品価格 |
今回は数当てゲームをつくります。
正解の数字になるまで数字の範囲をせばめながら入力していくというゲームになります。
今回正解の数は最初に入力するカタチをとっておりますが、自分一人でもこのゲームを楽しみたいという方は乱数などで最初の数を発生させてください。
乱数の説明になります。
今回必要なヘッダファイルです。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h>
<stdio.h>以外を説明します。
乱数を発生させる「srand()」、「rand()」、画面を消去する「system("cls")」などで使います。
ヘッダファイルとは少し違いますがこちらは「scanf()」命令などを使う時の警告を無視するものになります。
ヘッダファイルの意味についてはわからなそうな用語集のヘッダファイルを見てください。
int ans, ans2, count; int min = 0; int max = 100;
大事な役割を持つ変数が
/*正解の数を保存*/ int ans; /*入力された数を保存*/ int ans2; /*答えの下限*/ int min = 0; /*答えの上限*/ int max = 100;
になります。
その他はゲームの回数をカウントする変数などになります。
正解の数を決めます。
なにもしないとどのような数でも入力できてしまうのであらかじめ範囲を定めます。
int min = 0; int max = 100; while (1){ printf("正解の数字を入力してください(%d < x < %d) > ",min,max); (void)scanf("%d", &ans); if (ans > min && ans < max)break; else{ printf("不正な数です。やり直してください。\n"); continue; } }
まず変数初期化の際、上限と下限をきめます。
int min = 0; int max = 100;
その範囲内の数が入力されるまで「while()」ループを使って入力を促します。
while (1){ }
「while()」は中の条件を「1」にして無限ループにしてしまいます。
printf("正解の数字を入力してください(%d < x < %d) > ",min,max); (void)scanf("%d", &ans);
数を入力させます。
そしてここで入力された数を判定、ループ脱出か継続かを条件分岐していきます。
まずはループ脱出です。
if (ans > min && ans < max)break;
入力された数が上限・下限の範囲内におさまっていれば「break」文でループを抜けます。
次はその「else」文にあたるループ継続処理です。
else{ printf("不正な数です。やり直してください。\n"); continue; }
警告を出して「continue」文でさきほどのループの先頭に処理をもどします。
これで正解の数を決める処理は完了です。
数当ての処理部分になります。
基本的には最初の正解の数を決める処理と似たような処理で数を入力させてその数を判定していくようなカタチになります。
while (1){ printf("残り%dゲーム\n",10 - count); printf("数を当ててください(%d < x < %d) > ", min, max); (void)scanf("%d", &ans2); if (ans2 > min && ans2 < max)break; else{ printf("不正な数です。やり直してください。\n"); continue; } }
さきほどと同じように決まった範囲内で数を入力させます。
入力→数字が範囲内におさまっているか判定→おさまっていれば「break」→そうでなければ「continue」
さきほどとほとんど変わらないですね。
最後に正解の数と比較する部分になります。
if (ans == ans2){ printf("正解\n"); break; } else{ printf("残念\n"); if (ans2 < ans){ min = ans2; } else{ max = ans2; } }
まず正解の数と同じかどうか比較
if (ans == ans2){ printf("正解\n"); break; }
そうでなければ
else{ printf("残念\n"); if (ans2 < ans){ min = ans2; } else{ max = ans2; } }
大きさを比較して上限、下限の数を入れ替えれば完了です。
あとは数を当てるまでの回数などゲーム全体のカタチを整えれば完成です。
ソースになります。
広告
↓発売日:2016年02月29日↓
12歳からはじめる ゼロからのC言語 ゲームプログラミング教室 新品価格 |
↓発売日:2018年06月22日↓
新品価格 |
↓発売日:2018年03月09日↓
新品価格 |
↓発売日:2017年06月14日↓
新品価格 |
↓発売日:2018年05月21日↓
新品価格 |
↓発売日:2017年12月07日↓
新品価格 |
↓発売日:2017年02月08日↓
新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ) 新品価格 |
↓発売日:2017年09月26日↓
新品価格 |