C语言实现数字炸弹小游戏

本文实例为大家分享了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();
 }
 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");
 //判定是否为数字

 //输入“数字炸弹”所在的区间
 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");
  }//区间如果错误就会报错
 }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");
 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");
  }//判定所猜的数字是否在区间内

  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);//区间修正
 }
 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++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 用C语言实现猜数字游戏

    本文实例为大家分享了C语言实现猜数字的具体代码,供大家参考,具体内容如下 问题:计算机随机生成一个数字,用户进行猜数字,当用户猜错时,提醒用户猜高/猜低,直到用户猜的数字与计算机给的随机数一致时,提示猜对了并结束本次游戏. 思路:整个程序分为三个部分. 1.使用printf完成一个主菜单,方便用户操作. 2.写一个game函数,完成猜数字游戏的过程. 3.主函数,调用game函数,最终实现猜数字游戏. 重点:如何生成一个随机数. 如果直接使用to_guess = rand() % 100 + 1

  • C语言代码实现猜数字

    本文实例为大家分享了C语言代码实现猜数字的具体代码,供大家参考,具体内容如下 题目描述 猜数字游戏,顾名思义,就是需要人们猜测一个未知但已确定的数.其中,这个未知但要确定的数就要由编写程序随机来产生,当这个数生成后我们猜数字,程序告诉我们猜的高了,低了,或猜对了来提示我们猜数. 代码实现 #include <stdio.h> #include <stdlib.h> #include <time.h> void Guess_num(void) { int n; char

  • C语言实现猜数字大小的游戏

    本文实例为大家分享了C语言实现猜数字大小的具体代码,供大家参考,具体内容如下 void menu() void menu() { printf("******** 猜数字游戏 ********\n"); printf("*********** 1.开始 *************\n"); printf("*********** 0.退出 *************\n"); } 简单的一个菜单用于显示. void game() void gam

  • C语言实现的猜数字小游戏

    本文实例为大家分享了C语言实现猜数字小游戏的具体代码,供大家参考,具体内容如下 代码如下 #include <stdio.h> #include<stdlib.h> #include<time.h> //rand为产生随机数的函数 void game() { srand((unsigned)time(NULL)); int key = (int)rand() % 100; //产生一个1---100之间的数 int ret = 0; while (1) { printf

  • C语言实现猜数字

    今天给大家带来一个猜数字游戏,这是我个人接触到的第一个比较完整的游戏程序了,我觉得还蛮好玩. 由于我是再linux下编写的,可能有些地方和windos不一样,只需要做一些小改动就好~ 代码如下: 如果你玩了觉得好玩或者对你有帮助不妨给我点一个赞支持一下哦~ #include<stdio.h> #include<stdlib.h> #include<time.h> #include<unistd.h> void Menu(){ printf("***

  • C语言游戏之猜数字

    本文实例为大家分享了C语言实现猜数字游戏的具体代码,供大家参考,具体内容如下 标题 1-100之间我已经想好了一个数了,看你能不能猜到,五次机会哦! 代码在此,请求出战! #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int c; puts("这是一个神奇的猜数字小游戏,如果你想玩的话,请按123继续,不想玩啊就按321"); scanf_s("%d&q

  • C语言实现猜数字游戏

    本文实例为大家分享了C语言猜数字的具体代码,供大家参考,具体内容如下 题目:电脑随机给出一个数字,在一定范围内猜,有提示 问题分析: 电脑根据函数随机给出一个范围内的数字: 用户输入数字,去猜大小 对比数字,电脑给出提示 不断循环,直到猜正确 注意: 因为随机函数rand()是特殊的函数,计算机不会实现真正的随机数,所以需要一个seek来传给 rand(). 代码如下: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<

  • C语言实现猜数字小游戏

    本文实例为大家分享了C语言猜数字的具体代码,供大家参考,具体内容如下 一.描述 猜数字游戏. 二. 程序 使用srand((unsigned)time(NULL)),产生随机数种子. int random = rand() % 100 + 1,产生0~100之间的随机数. 应加上头文件#include<time.h> #include<stdio.h> #include<windows.h> #include<time.h> void menu(){ pri

  • C语言实现数字炸弹小游戏

    本文实例为大家分享了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;/

  • C语言编一个数字益智小游戏

    程序功能及运行情况 设计的程序是一个数字益智游戏,旨在培养小朋友玩家的数学思维,提高玩家的数学能力.游戏共设有四个不同的小游戏,分别是一位数四则运算.两位数四则运算.找最值游戏.排序游戏.程序能实现产生随机题目,并能检验玩家的作答是否正确.为了小朋友能感受到游戏的乐趣,特意设置了得分系统,答对不同题目有不同的加分,并会根据总得分划分不同「段位」,呈现给玩家.另外,程序还运用了更加充满活力的设计,让玩家爱上该游戏. 程序运行截图主菜单 运算游戏 找最值游戏 排序游戏 得分统计 代码部分头文件区域

  • C语言实现猜数字的小游戏

    使用C语言来实现一个猜数字的小游戏 学习C语言有几天的时间了,在这期间对C语言的语法,程序结构有了了解,自己也练习过许多的代码,今天分享一个猜数字的代码. 一.猜数字游戏 描述:由程序随机生成一个1~100之间的数字,由用户去猜,直至猜对为止 1.代码 代码如下: #include <stdio.h> #include <stdlib.h> #include <time.h> void menu(void) { printf("|---------------

  • C语言实现贪吃蛇小游戏

    本文实例为大家分享了C语言实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 一.程序实现的原理: 1.构造蛇身:定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置.这样就将移动蛇身的操作转换为移动数组的操作,将吃食物增加蛇身体长度的操作转换为在数组后面追加元素的操作. 2.移动效果:每次移动时,将每一节蛇身(蛇头除外)依次往前移动一节,然后擦去蛇的最后一节,最后确定蛇头的方向,再绘制一个蛇头.这样就会显示一个移动效果. 3.身体增加效果:每次移动时候,判断蛇头是否碰到了食物,如果碰到了食

  • C语言实现控制台扫雷小游戏

    C语言实现控制台"扫雷"小游戏 根据以往的游戏经验,我们能首先可以确定扫雷游戏胜利的规则是:翻开所有不是雷的区域才能算是胜利. 接下来我们需要确定整个程序的设计思路: 1.首先,我们定义两个9*9的二维数还是未翻开的状态组.第一个数组用来表示雷区地图的展开情况,即每个素组元素的位置的状态是处于展开状态还是未展开状态,我们命名为showMap().第二个数组我们用来表示地雷的分布情况,素组中的每个元素位置都被标记为是否为地雷,我们命名为minMap(). 2.初始化两个地图,并将地图打印

  • 用C语言实现三子棋小游戏

    本文实例为大家分享了C语言实现三子棋小游戏的具体代码,供大家参考,具体内容如下 1. 规则介绍 三子棋是一种民间传统游戏,又叫九宫棋.圈圈叉叉.一条龙.井字棋等.将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了.但是,有很多时候会出现和棋的情况. 2. 编写思路 2.1 选择界面的编写 提供选择界面(设计者可根据自己的喜好设定棋盘的大小:输入何种数字或者符号开始或者退出游戏也可由设计者自己确定数字) static void Menu() { pri

  • 用C语言简单实现扫雷小游戏

    本文实例为大家分享了C语言简单实现扫雷小游戏的具体代码,供大家参考,具体内容如下 设计思路 1. 定义两个二维数组,一个存放炸弹信息,一个隐藏信息后向玩家展示. 2. 玩家每一次选择都要判断是否踩到炸弹,如果踩雷,将结束游戏,否则继续游戏. 3.玩家每一次判断后要将新棋盘展示给玩家,且将该位置附近雷的个数展示出来. 4.最后如果玩家找到所有非雷区时,玩家获胜. 首先,我们设计一个简单的主函数 方便玩家自由选择进入游戏与退出游戏 int main() { int input = 0; srand(

  • 用C语言实现一个扫雷小游戏

    本文实例为大家分享了C语言实现一个扫雷小游戏的具体代码,供大家参考,具体内容如下 一.全部源码 //棋盘大小 #define ROW 9 #define COL 9 //棋盘加边缘坐标大小 #define ROWS 10 #define COLS 10 #define EASY_COUNT 10//雷的数量 #include <stdio.h> #include<stdlib.h> #include<time.h> void InitBoard(char board[R

  • C语言实现飞机大战小游戏完整代码

    大一课设做的飞机大战,可以进行登入和注册,这个是利用单链表做的,源代码已经给出,这个是最基本的飞机大战模式,我设置了几个功能,比如排行榜之类的.排行榜是用结构体数组做的,已及冒泡排序,并且在文件里保存信息.比较简单. 这个是注册页面规范: 这个是登入页面: 游戏菜单:  飞机大战页面:  话不多说,直接上代码 以下是源代码  #include"stdio.h" #include"windows.h" //用于获取窗口的句柄与屏幕控制 #include"co

  • C语言实现三子棋小游戏全程详解

    目录 前言 思想提升及重要代码片段 三子棋代码 前言 授人以鱼不如授人以渔,这篇文章重点从思想上的角度来写,助你举一反三,在写代码时不再害怕,真的很想对你有帮助呀,代码放在文章最后啦 思想提升及重要代码片段 为什么要拆成三个文件写:1.便于复用代码.重复的功能只要写一遍就可以了,下次要用在其它程序上时只要更改很小的部分或者可以不用更改.2.便于多人协作.在设计软件之初就可以很清楚地分配各个开发部门的任务.模块的编写者本身只要关注他所写的东西,清楚这一部分的功能,留出接口就可以了.另外,对于整个工

随机推荐