目录:

一.整体思路:

二.基本模块:

(1)主界面模块:

(2)游戏模块:

(3)产生随机数模块:

(4)次界面模块:

(5)判断模块:

(6)主函数模块:

三.整体代码:

四.结语:


一.整体思路:

先生成一个随机数,大小范围可以按照自己的需求设置。然后再提示玩家输入一个数字。用这个数字与随机数比较大小,于此同时,自己可以再设置一些提示,比如“数字已经接近了”、“还差一点”······这些提示的范围也可以按照自己的想法设置。最后如果猜对了,便直接输出与“恭喜成功通关”类似的语句,然后结束程序。

二.基本模块:

(1)主界面模块:

void interface()
{printf("---------------------------------------------\n");printf("                猜数字游戏      \n");printf("游戏规则:\n");printf("游戏开始会产生一个0~100的随机值,你来猜该数字!\n");printf("\n开始:1;结束:0\n");printf("---------------------------------------------\n");
}

封装一个函数来打印一个主界面,用以提示玩家这个游戏的基本信息。同理,此模块也可以按照自己的需求设置。

效果如下:

(2)游戏模块:

void game()
{int b,c;int m=1;b=ly();//printf("随机数为%d\n",b);while(m){interface2();scanf("%d",&c);if(c==-1)break;m=fun(b,c);}
}

此模块起到的是运作一些游戏基本功能。当然这里也可以按照自己的想法加以修改。同时我在这里设置一个中途退出游戏的条件,便是当你输入为-1便会直接退出游戏。

效果如下:

(3)产生随机数模块:

int ly()
{int b;srand(time(0));b=rand()%100;return b;}

该模块主要功能便是产生一个随机数,用以游戏的进行。

效果如下:

(4)次界面模块:

void interface2()
{printf("\n*********************************************\n");printf("                猜数字游戏      \n");printf("请输入一个数字(若想退出,请输-1):");}

这模块的作用便是再之后的游戏进行中,覆盖掉之前的游戏界面,从而使得游戏界面变得简洁一些。当然这些可以按照自己的需求进行更改。

效果如下:

(5)判断模块:

int fun(int b, int c)
{if(c==b){printf("恭喜你猜对了!\n");return 0;}else if(((b-5)<c)&&(c<(b+5))){printf("数字接近了,加油!\n");return 1;}else if(((b-20)<c)&&(c<(b+20))){printf("数字距离目标还有点距离,加把劲!\n");return 1;}else{printf("数字距离目标还远!\n");return 1;}
}

此模块的作用便是对你传入的数字与随机数进行一个大小的比较,如果相等,便直接打印出“恭喜你答对了!”,然后返回一个数字0,用以退出游戏模块。其它条件是用以根据输入的数字提示你距离随机数的差距,这里也可以按照自己的想法设置,返回1目的是为了让游戏模块里的循环继续。

效果如下:

(6)主函数模块:

int main()
{int m;interface();printf("请输入相关指令:");scanf("%d",&m);if(m==1)game();return 0;}

功能:进行一些函数的调用。

三.整体代码:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>void interface()
{printf("---------------------------------------------\n");printf("                猜数字游戏      \n");printf("游戏规则:\n");printf("游戏开始会产生一个0~100的随机值,你来猜该数字!\n");printf("\n开始:1;结束:0\n");printf("---------------------------------------------\n");
}void interface2()
{printf("\n*********************************************\n");printf("                猜数字游戏      \n");printf("请输入一个数字(若想退出,请输-1):");}int fun(int b, int c)
{if(c==b){printf("恭喜你猜对了!\n");return 0;}else if(((b-5)<c)&&(c<(b+5))){printf("数字接近了,加油!\n");return 1;}else if(((b-20)<c)&&(c<(b+20))){printf("数字距离目标还有点距离,加把劲!\n");return 1;}else{printf("数字距离目标还远!\n");return 1;}
}int ly()
{int b;srand(time(0));b=rand()%100;return b;}void game()
{int b,c;int m=1;b=ly();printf("随机数为%d\n",b);while(m){interface2();scanf("%d",&c);if(c==-1)break;m=fun(b,c);}
}int main()
{int m;interface();printf("请输入相关指令:");scanf("%d",&m);if(m==1)game();return 0;}

四.结语:

希望各位能从中学到一些知识点。

猜数字小游戏实现方法及其思路相关推荐

  1. 猜数字小游戏 源码及思路

    第一行为源文件里用于在visual里使用scanf函数的代码 #define  _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include&l ...

  2. 【c语言】和【Java】版本的猜数字小游戏

    目录 前言 一.c语言版本 1.游戏设计思路 2.rand()及srand()函数的使用 2.取模确定取值范围 3.条件运算符 4.利用二分法进行猜测 二.java版本 1.Math.random() ...

  3. 如何实现JavaScript猜数字小游戏

    本篇文章给大家详细介绍一下搞定JavaScript猜数字小游戏的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. JavaScript 猜数字小游戏 在1~10中随机抽取一个数字 ...

  4. switch结构语句,for循环,while循环,死循环实现猜数字小游戏,方法实现nn乘法表,数组,逆序,冒泡排序

    switch选择结构语句 格式: switch 语句格式: switch ( 表达式 ) {case 值 1 : 语句体 1 ; break ; case 值 2 : 语句体 2 ; break ; ...

  5. 用python做C语言的猜数字游戏,[Python3 练习] 007 简单的猜数字小游戏

    题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...

  6. C语言详解系列——综合练习,猜数字小游戏

    文章目录 题目需求 思路分析 rand()库函数随机数的生成 游戏的试玩 题目需求 今天与大家分享一个简单的猜数字小游戏,当作我们前面学习的一个综合练习,我们的需求是: 1.可以自动生成一个1-100 ...

  7. 【JAVA】超简单的1-100猜数字小游戏

    目录 前言:先捋一捋思路: 步骤一:生成随机数字 步骤二:获取键盘输入"猜测"的数字 步骤三:加上判断 JDK_API_1_6_zh_CN 下载 简介:首先会从1-100之间会有一 ...

  8. 1.12 实例:猜数字小游戏

    猜数字是一个经典的小游戏,程序先产生一个随机数,然后用户输入数字,程序将输入的数字与随机数进行对比,给出用户相应的提示信息. 本节实现了一个基于 IO 流的猜数字游戏,游戏中限制玩家游戏次数,游戏试玩 ...

  9. 第三次学JAVA再学不好就吃翔(part28)--猜数字小游戏

    学习笔记,仅供参考 面向对象 猜数字小游戏 随机生成一个1 ~ 100之间的数,我来猜是几: import java.util.Scanner;class GuessNumTest {public s ...

最新文章

  1. Java堆内存溢出代码示例
  2. JavaScript将成为浏览器战争的主战场
  3. matlab求kcf算法响应图_Kernelized Correlation Filters(KCF)算法
  4. qq消息连发代码_我们用的QQ是怎样实现通讯的
  5. windows 开启mysql日志记录_Windows下MySQL开启历史记录
  6. 用C#实现MD5算法
  7. 开幕倒计时3天 | 2019中国大数据技术大会(BDTC)邀您一同共赴大数据+AI盛宴!...
  8. 实战:自定义脚本启动mysql-mysql 5.6.19
  9. Tricks(三十九)—— 使用 list comprehension 构造笛卡尔积
  10. app测试--性能测试DDMS
  11. POST 方式上传图片
  12. visual studio 2008试用版的评估期29天后结束 解决办法
  13. Java之美[从菜鸟到高手演变]之设计模式二
  14. PHP自动加载(上)——spl_autoload_register
  15. Flutter Key的原理和使用(五) 需要key的实例:可拖动改变顺序的Listview
  16. 计算机系统基础 大作业
  17. 第11章 枚举与泛型
  18. 龙宫旅游策划方案:5A景区的突破性发展!
  19. python宿舍管理系统!
  20. 例 6.5 有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

热门文章

  1. simulink永磁同步机PMSG和电化学电池储能一次调频。
  2. 双馈风机虚拟惯性控制参与系统一次调频的Matlab Simulink模型
  3. WPS中公式标注与公式居中对齐
  4. 对于HIPAA合规来说,安全差距分析重要吗?
  5. 字节青训前端笔记 | 理解CSS
  6. ganymede版本_使用Eclipse Ganymede为台式机,Web和移动设备开发,第1部分,为Rich Client Platform开发,采用Ganymede方法
  7. 复习JavaWeb的小项目书籍信息的增删改查分页功能实现Java面试题Session和Cookie的基础概念生活【记录一个咸鱼大学生三个月的奋进生活】034
  8. firebase分析_为什么我在下一个项目中不使用Firebase分析
  9. paraview 画截面流线图
  10. 美国6岁病童圆梦做一天海豹突击队员