|
|
数当てゲームプログラムをC言語で作ってみた。 (^^)
いやー、C言語の乱数機能って、JAVAに比べて程度低いんだなぁ・・・。
このゲームを何度もプレイするうちに、確実に当てるコツがわかってきました。
今回のプログラムは1から9999までのランダムな数字を当てるものです。
この場合、まず最初に5000を宣言するのが常套手段。
これで「大きいです」と出れば、0と5000の間の2500を宣言。
逆に、「小さいです」と出れば、5000と9999の間の7500を宣言。
こうやって、半分ずつ範囲を狭めていって、少しずつ候補をしぼっていくわけです。
1から9999までの数字なら、14回あれば確実に当てられますね。
以下、ソースコード。
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
int main ( void ){
int CYBERDARK, a, b, c;
srand((unsigned)time(NULL));
CYBERDARK = rand()%9999 + 1;
printf("数当てゲームです。\n1から9999までの数字を当ててください。\n\n");
for(b=0,c=29; b<30; b++,c--){
printf("%d回目の数字をどうぞ >>> ", b+1);
scanf("%d", &a);
if(a > CYBERDARK){
printf("大きいです。チャンスはあと%d回!\n\n", c);
}
else if(a < CYBERDARK){
printf("小さいです。チャンスはあと%d回!\n\n", c);
}
else{
printf("\n\n ★★★★★★★★★★★\n");
printf(" ★ ★\n");
printf(" ★ 大 正 解 ★\n");
printf(" ★ ★\n");
printf(" ★★★★★★★★★★★\n\n\n");
printf(" ┌━┐ ┌━┐ \n");
printf(" ┃┌╋──╋┐┃ バカにはできないコピペです\n");
printf(" └╋┘ └╋┘ \n");
printf(" ┃ ・ ・ ┃ ┌━━┐ \n");
printf(" ●━╋┐ ┌╂━━━━╂┐ ┃ \n");
printf(" └━┷┴━━╂┘ └╋━┘ \n");
printf(" ┌╋┐ ┌╋┐ \n");
printf(" ┃└╋╋━━╋╋┘┃ \n");
printf(" ┃ ┃┃ ┃┃ ┃ \n");
printf(" └━┘┘ └└━┘ \n");
break;
}
}
return 0;
}
|
|