您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)利用C語言編寫一個(gè)數(shù)字炸彈小游戲,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。
具體內(nèi)容如下
# 內(nèi)容 #include<stdio.h> #include<stdlib.h> int main(){ //變量 char c_TheRequest = 1;//開始界面的字符 int in_Deltar = 1,in_EnteredNumber,in_Sig;//游戲中輸入數(shù)字及其判定所需要的數(shù)字 int in_GivenNum = 0,in_An = 0,in_Bn = 0;//出的數(shù)字,和數(shù)字區(qū)間 int in_Mid1,in_Mid2;//用來交換An、Bn的值以滿足An<Bn的中間量 int in_DistantAn,in_DistantBn;//An與Bn離num的距離 int in_TemporaryAnSaver,in_TemporaryBnSaver;//臨時(shí)用于比較的An、Bn儲(chǔ)存器 //開始界面 printf("If you just happen to open the game and do not have the intention to play it.\n"); printf("You can enter a q to quit or you can enter an s to start the game now!\n"); scanf("%c",&c_TheRequest); getchar(); while (c_TheRequest != 's' && c_TheRequest != 'q'){ printf("Please do not enter a irrelevant letter.\n"); scanf("%c",&c_TheRequest); getchar(); } if(c_TheRequest == 'q'){ printf("So sad then.Hope you can play with me next time.\n"); getchar(); } //游戲 if(c_TheRequest == 's'){ //輸入“數(shù)字炸彈” system("cls"); printf("(^ o ^) # *** NOW LET\'S PLAY! *** # (^ o ^)\nAttention!You can only enter numbers in the following steps.\nEnter to start.\n"); getchar(); system("cls"); printf("Game : The number boom!(Another Life.)\n"); printf("Rule:\n"); printf("The first player should enter a number.Then he should give to numbers and guarantee the number above is between them.\n"); printf("The rest should guess and enter the numbers.And the one who enter the exact number the first player entered\n"); printf("is supported to be the winner!\n"); printf("Please Enter a number to start the game.(You is ought not to expose it to other players.The number should bigger than 0.)\n"); printf("__________\b\b\b\b\b\b\b\b\b\b\b"); while(scanf("%d",&in_GivenNum) != 1 || in_GivenNum < 0){ system("cls"); printf("Please Enter a NUMBER which is bigger than 0.\n"); printf("num:___________\b\b\b\b\b\b\b\b\b\b\b"); getchar(); } system("cls"); //判定是否為數(shù)字 //輸入“數(shù)字炸彈”所在的區(qū)間 printf("And where is the number?Please enter two numbers,and ensure that the number above is between them.\n"); printf("Additionally,there should be at least 100 numbers between the two numbers you will enter.\n"); do{ printf("num = %d\n",in_GivenNum); printf("A:__________\b\b\b\b\b\b\b\b\b\b"); while(scanf("%d",&in_An)!=1){ printf("Please Enter a NUMBER which is bigger or smaller than the \"num\"!!!!\n"); printf("A:__________\b\b\b\b\b\b\b\b\b\b"); scanf("%d",&in_An); getchar(); } printf("B:__________\b\b\b\b\b\b\b\b\b\b"); while(scanf("%d",&in_Bn)!=1){ printf("Please Enter a NUMBER which is bigger or smaller than the \"num\"!!!!\n"); printf("B:__________\b\b\b\b\b\b\b\b\b\b"); scanf("%d",&in_Bn); getchar(); }//記錄An和Bn if(!(( in_An < in_GivenNum && in_Bn > in_GivenNum ) || ( in_An > in_GivenNum && in_Bn < in_GivenNum ))){ system("cls"); printf("Your math is so poor.Enter a again!\nThe \"num\" must be between the two numbers.\n"); printf("Enter to restart.\n"); getchar(); getchar(); system("cls"); }//區(qū)間如果錯(cuò)誤就會(huì)報(bào)錯(cuò) }while(!(( in_An < in_GivenNum && in_Bn > in_GivenNum ) || ( in_An > in_GivenNum && in_Bn < in_GivenNum )));//判定區(qū)間是不是對的 //排序 in_Mid1 = (in_An > in_Bn)?in_Bn : in_An; in_Mid2 = (in_Bn > in_An)?in_Bn : in_An; in_An = in_Mid1; in_Bn = in_Mid2; //開始猜數(shù)字 system("cls"); printf("Now the game starts!\n"); printf("The number is somewhere between %d and %d\n",in_An,in_Bn); printf("Please enter the number.\n"); printf("__________\b\b\b\b\b\b\b\b\b\b"); while(in_Deltar != 0){ while(scanf("%d",&in_EnteredNumber)!=1){ printf("Please Enter a NUMBER!!!!\n"); scanf("%d",&in_EnteredNumber); getchar(); }//判斷是否為數(shù)字 //差的運(yùn)算 in_Deltar = ((in_GivenNum - in_EnteredNumber)<0)?in_EnteredNumber - in_GivenNum:in_GivenNum - in_EnteredNumber; in_Sig = in_GivenNum - in_EnteredNumber; in_DistantAn = in_GivenNum - in_An; in_DistantBn = in_Bn - in_GivenNum; //判定差的大小 if(in_Deltar >= 1000){ if(in_Sig > 0) printf("Too small!Next!\n"); else printf("Too big!Next!\n"); } else if(in_Deltar >= 100){ if(in_Sig > 0) printf("Small.Next!\n"); else printf("Big.Next!\n"); } else if(in_Deltar >= 10){ if(in_Sig > 0) printf("A little small.Next!\n"); else printf("A little big.Next!\n"); } else if(in_Deltar > 0){ printf("Almost there!NEXT!!!\n"); } //臨時(shí)存儲(chǔ),以便后面判斷所給數(shù)字是否滿足條件 in_TemporaryAnSaver = in_An; in_TemporaryBnSaver = in_Bn; if(( in_Deltar < in_DistantAn && in_Sig > 0 ) || ( in_Deltar < in_DistantBn && in_Sig < 0 )){ if(in_Sig > 0) in_An = in_EnteredNumber; else in_Bn = in_EnteredNumber; }//這是修改上下限 if((in_TemporaryAnSaver == in_An && in_TemporaryBnSaver == in_Bn) && in_Deltar){ system("cls"); printf("Do not cheat!\nYou should play it again.\n"); }//判定所猜的數(shù)字是否在區(qū)間內(nèi) if(in_Deltar == 0) break;//猜中 printf("Enter to continue.\n"); getchar(); getchar(); system ("cls"); printf("Between %d and %d\n__________\b\b\b\b\b\b\b\b\b\b",in_An,in_Bn);//區(qū)間修正 } printf("You are the one !!!"); getchar(); getchar(); } }
總結(jié)
學(xué)習(xí)C的時(shí)候?yàn)榱遂柟趟鶎W(xué)知識(shí)而編得一個(gè)小游戲,內(nèi)容全英文。
小編再為大家分享一段代碼:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<Windows.h> #include<time.h> void menu() { printf("###########################\n"); printf("### 1. play 0. exit ###\n"); printf("###########################\n"); } void game() { //1.生成一個(gè)隨機(jī)數(shù) int ret = 0; int guess = 0; //拿時(shí)間戳來設(shè)置隨機(jī)數(shù)的生成起點(diǎn) //時(shí)間戳——(當(dāng)前計(jì)算機(jī)的時(shí)間-計(jì)算機(jī)的起始時(shí)間(1970.1.1.0時(shí)0分0秒))=(xxxx)秒 //time_t //srand((unsigned int)time(NULL)); ret=rand()%100+1; //生成隨機(jī)數(shù) 0---0x7fff(32767) //printf("%d\n",ret); //2.猜數(shù)字 while (1) { printf("請猜數(shù)字: "); scanf("%d", &guess); if (guess > ret) { printf("big\n"); } else if (guess < ret) { printf("small\n"); } else { printf("you are die\n"); break; } } } int main() { int input = 0; srand((unsigned int)time(NULL)); do { menu(); printf("請輸入>:"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("退出游戲\n"); break; default: printf("輸入錯(cuò)誤\n"); break; } } while (input); return 0; }
關(guān)于利用C語言編寫一個(gè)數(shù)字炸彈小游戲就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。