這篇文章將為大家詳細講解有關利用C語言編寫一個數字炸彈小游戲,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

具體內容如下
# 內容
#include<stdio.h>
#include<stdlib.h>
int main(){
//變量
char c_TheRequest = 1;//開始界面的字符
int in_Deltar = 1,in_EnteredNumber,in_Sig;//游戲中輸入數字及其判定所需要的數字
int in_GivenNum = 0,in_An = 0,in_Bn = 0;//出的數字,和數字區(qū)間
int in_Mid1,in_Mid2;//用來交換An、Bn的值以滿足An<Bn的中間量
int in_DistantAn,in_DistantBn;//An與Bn離num的距離
int in_TemporaryAnSaver,in_TemporaryBnSaver;//臨時用于比較的An、Bn儲存器
//開始界面
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'){
//輸入“數字炸彈”
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");
//判定是否為數字
//輸入“數字炸彈”所在的區(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ū)間如果錯誤就會報錯
}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;
//開始猜數字
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();
}//判斷是否為數字
//差的運算
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");
}
//臨時存儲,以便后面判斷所給數字是否滿足條件
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");
}//判定所猜的數字是否在區(qū)間內
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();
}
}總結
學習C的時候為了鞏固所學知識而編得一個小游戲,內容全英文。
小編再為大家分享一段代碼:
#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.生成一個隨機數
int ret = 0;
int guess = 0;
//拿時間戳來設置隨機數的生成起點 //時間戳——(當前計算機的時間-計算機的起始時間(1970.1.1.0時0分0秒))=(xxxx)秒
//time_t
//srand((unsigned int)time(NULL));
ret=rand()%100+1; //生成隨機數 0---0x7fff(32767)
//printf("%d\n",ret);
//2.猜數字
while (1)
{
printf("請猜數字: ");
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("輸入錯誤\n");
break;
}
} while (input);
return 0;
}關于利用C語言編寫一個數字炸彈小游戲就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當前文章:利用C語言編寫一個數字炸彈小游戲-創(chuàng)新互聯
文章分享:http://chinadenli.net/article4/spjie.html
成都網站建設公司_創(chuàng)新互聯,為您提供建站公司、小程序開發(fā)、外貿建站、全網營銷推廣、品牌網站制作、用戶體驗
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯