本文實(shí)例為大家分享了C語言實(shí)現(xiàn)簡單猜數(shù)字小游戲的具體代碼,供大家參考,具體內(nèi)容如下
猜數(shù)字游戲是令游戲機(jī)隨機(jī)產(chǎn)生一個100以內(nèi)的正整數(shù)
用戶輸入一個數(shù)對其進(jìn)行猜測,需要你編寫程序自動對其與隨機(jī)產(chǎn)生的被猜數(shù)進(jìn)行比較
并提示大了(“Too big”),還是小了(“Too small”),相等表示猜到了
如果猜到,則結(jié)束程序。程序還要求統(tǒng)計(jì)猜的次數(shù),如果1次猜出該數(shù),提示“Bingo!”
如果3次以內(nèi)猜到該數(shù),則提示“Lucky You!”
如果超過3次但是在N(>3)次以內(nèi)(包括第N次)猜到該數(shù),則提示“Good Guess!”
如果超過N次都沒有猜到,則提示“Game Over”,并結(jié)束程序
如果在到達(dá)N次之前,用戶輸入了一個負(fù)數(shù),也輸出“Game Over”,并結(jié)束程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#include <stdio.h> #include <time.h> #include <stdlib.h> #include <windows.h> #include <conio.h> int main() { printf ( "游戲規(guī)則如下:游戲有兩種模式需要用戶輸入數(shù)字1或2來選擇,然后用戶輸入自己的猜想并根據(jù)提示靠近答案\n" ); printf ( "如果1次猜出該數(shù)提示Bingo!\n如果3次以內(nèi)猜到該數(shù)則提示Lucky You!\n如果超過3次但是在N(>3)次以內(nèi)包括第N次猜到該數(shù)則提示Good Guess!\n如果超過N次都沒有猜到則提示Game Over\n如果在到達(dá)N次之前用戶輸入了一個負(fù)數(shù)也輸出Game Over\n" ); PlaySound( "background" , NULL, SND_FILENAME | SND_ASYNC | SND_LOOP); int a,N,x,i=1,n; printf ( "請選擇您的模式:1.電腦隨機(jī)產(chǎn)生0-10次最大猜測次數(shù);2.默認(rèn)最大次數(shù)為5次\n" ); printf ( "請輸入您選擇的模式代碼:" ); scanf ( "%d" ,&n); printf ( "游戲已開始" ); if (n==1) { srand ((unsigned) time (NULL)); a= rand ()%100; N= rand ()%10; for (i=1;i<=N;i++) { printf ( "請輸入你的猜想:" ); scanf ( "%d" ,&x); if (x>a) printf ( "猜大了\n" ); else if (x>0&&x<a) printf ( "猜小了\n" ); else if (x<0) { printf ( "游戲結(jié)束\n" ); break ; } else if (x==a) { switch (i) { case 1: printf ( "Bingo\n!" ); break ; case 2: case 3: printf ( "Lucky You\n!" ); break ; default : printf ( "Good Guess!\n" ); break ; } break ; } } if (i>N) printf ( "游戲結(jié)束\n" ); } if (n==2) { N=5; srand ((unsigned) time (NULL)); a= rand ()%100; for (i=1;i<=N;i++) { printf ( "請輸入你的猜想:" ); scanf ( "%d" ,&x); if (x>a) printf ( "猜大了\n" ); else if (x>0&&x<a) printf ( "猜小了\n" ); else if (x<0) { printf ( "游戲結(jié)束\n" ); break ; } else if (x==a) { switch (i) { case 1: printf ( "Bingo!\n" ); break ; case 2: case 3: printf ( "Lucky You!\n" ); break ; default : printf ( "Good Guess!\n" ); break ; } break ; } } if (i>N) printf ( "次數(shù)用盡,游戲結(jié)束\n" ); } printf ( "答案是:%d" ,a); getch(); return 0; } |
之前小編收藏的一段C語言猜數(shù)字小游戲代碼分享給大家:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#include <stdio.h>//頭文件部分可以進(jìn)行自己查詢 #include <time.h> #include <stdlib.h> void menu() //實(shí)現(xiàn)菜單的部分 { printf ( "**********************\n" ); printf ( "****1.play 0.exit****\n" ); printf ( "**********************\n" ); } void game() //游戲運(yùn)行的主要部分 { //猜數(shù)字游戲的實(shí)現(xiàn) //1.生成隨機(jī)數(shù) int ret = rand ()%100+1; //利用取模吧隨機(jī)的范圍限制在1-100之間 //rand函數(shù)返回了一個0-32767之間的數(shù)字 int guess; while (1) { printf ( "請輸入你猜的數(shù)字:" ); //提示玩家進(jìn)行輸入 scanf ( "%d" ,&guess); //玩家進(jìn)行輸入 if (guess<ret) { printf ( "猜小了\n" ); } else if (guess>ret) { printf ( "猜大了\n" ); } else { printf ( "恭喜你,猜對了\n" ); break ; } } } int main( void ) //主函數(shù) { int input; srand ((unsigned int ) time (NULL)); //srand是隨機(jī)數(shù)產(chǎn)生器 //unsigned int強(qiáng)制轉(zhuǎn)換time(NULL)類型,NULL是空指針 do { menu(); //顯示菜單1開始,0結(jié)束 printf ( "請選擇:" ); //提示玩家進(jìn)行選擇是否開始游戲 scanf ( "%d" ,&input); //玩家輸入自己選擇的地方 switch (input) //利用選擇語句進(jìn)行選擇1開始,0結(jié)束,如果輸入其他的就提示錯誤 { case 1: game(); //游戲的主要部分 break ; case 0: printf ( "退出游戲" ); break ; default : printf ( "選擇錯誤" ); break ; } } while (input); return 0; } |
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/wk161099/article/details/121482638