利用C语言编写一个数字炸弹小游戏

这篇文章将为大家详细讲解有关利用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;
}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注