这篇文章将为大家详细讲解有关利用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;//出的数字,和数字区间 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); } ifc_TheRequest == 'q'){ printf"So sad then.Hope you can play with me next time.\n"); getchar); } //游戏 ifc_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"); whilescanf"%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"); //判定是否为数字 //输入“数字炸弹”所在的区间 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"); whilescanf"%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"); whilescanf"%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"); }//区间如果错误就会报错 }while! in_An < in_GivenNum && in_Bn > in_GivenNum ) || in_An > in_GivenNum && in_Bn < in_GivenNum )));//判定区间是不是对的 //排序 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"); whilein_Deltar != 0){ whilescanf"%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; //判定差的大小 ifin_Deltar >= 1000){ ifin_Sig > 0) printf"Too small!Next!\n"); else printf"Too big!Next!\n"); } else ifin_Deltar >= 100){ ifin_Sig > 0) printf"Small.Next!\n"); else printf"Big.Next!\n"); } else ifin_Deltar >= 10){ ifin_Sig > 0) printf"A little small.Next!\n"); else printf"A little big.Next!\n"); } else ifin_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 )){ ifin_Sig > 0) in_An = in_EnteredNumber; else in_Bn = in_EnteredNumber; }//这是修改上下限 ifin_TemporaryAnSaver == in_An && in_TemporaryBnSaver == in_Bn) && in_Deltar){ system"cls"); printf"Do not cheat!\nYou should play it again.\n"); }//判定所猜的数字是否在区间内 ifin_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);//区间修正 } 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 //srandunsigned int)timeNULL)); ret=rand)%100+1; //生成随机数 0---0x7fff32767) //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; srandunsigned int)timeNULL)); 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; }