资源简介
猜数字游戏 c语言实现 猜4位随机生成的数 每次给猜测提示直到猜对 包含程序流程图

代码片段和文件信息
#include
#include
#include
int getRand(); // 获取随机数
void putRule(); // 输出游戏规则
void getUserInput(); // 获取用户输入
void getUserAgainInput(); // 再次获取用户输入
void initSystemNum(); // 初始化系统随机数
void detection(); // 判定胜利条件
void initGame(); // 初始化游戏
bool detectionWin(); // 判断是否胜利
void gameStart(); // 游戏开始
void putResult(); // 输出结果
void putSystemNum(); // 测试类 输出随机结果
int systemNum[4] = {};
int userNum[4];
char result[5];
int totalTimes = 0; // 猜测次数
int main()
{
gameStart();
printf(“你太厉害了,恭喜你全部猜对 总共猜了%d次\n“ totalTimes);
printf(“按enter键退出游戏\n“);
getchar();
system(“pause“);
}
void gameStart()
{
initGame(); // 输出游戏规则 获取系统随机值 获取游戏玩家输入值
detection(); // 判断输入的值;
int flag = 1;
while(flag) //如果胜利则跳出
{
if(detectionWin()) break;
putResult(); // 失败以后 输出结果
getUserAgainInput(); // 再次获取输入
detection(); // 再次判断
}
}
void initGame()
{
putRule();
initSystemNum();// 成功找出四个数
//putSystemNum();
getUserInput();
}// 初始化游戏 初始化游戏
int getRand()// 生成systemNum数组
{
int x ;
srand(time(NULL));
x=rand()%10;
return x;
}
void initSystemNum()
{
int randNum; //保存随机数;
bool flag=1;
systemNum[0]=getRand();// 获取第一个数;
for(int i = 0 ; i<3 ; i++)// S[0]已知则需要三个随机数;
{
flag = 1;
while(flag){
randNum = getRand();
for(int g = 0 ;g <= i ; g++ )
{
if(systemNum[g]==randNum) break; // 如果有一样的就重新随机并对比;
if(g==i) { flag=0 ; break ;} // 比较完成后跳出;
}
}
systemNum[i+1]=randNum; // 找到以后就赋值给systemNum;
}
}
void getUserInput()
{
totalTimes++;
printf(“游戏开始,请输入4个数:“);
for(int i = 0 ; i<4 ; i++)
{
scanf(“%d“&userNum[i]);
} // 输入四个数;
// 获取用户键入值
}
void getUserAgainInput()
{
totalTimes++;
printf(“未能通过!请再次输入四个数:“);
for(int i = 0 ; i<4 ; i++)
{
scanf(“%d“&userNum[i]);
} // 输入四个数;
// 获取用户键入值
}
void putRule()
{
printf(“============================================================\n“);
printf(“ 欢迎来到猜数字游戏 \n“);
printf(“============================================================\n“);
printf(“游戏规则:\n系统给出随机的四个数字“);
printf(“用户通过输入四个数字去猜系统的四个数\n\n“);
printf(“判定结果:\n如果结果正确且位置正确则输出A\n如果结果正确但位置不正确系统给出B提示\n如果位置和数字不正确则输出C\n\n“);
printf(“例:系统给出 1 2 3 4 用户给出4 2 3 1 , 则系统将提示 B A A B \n“);
printf(“============================================================\n\n“);
}
void detection(){
for(int x = 0 ; x < 4 ; x++){
for(int y = 0 ; y < 4 ; y++ )
{
if(userNum[x]==systemNum[y])
{
if(x==y)
{ result[x] = ‘A‘;
break;
}// 位置和大小都一样
else
{
result[x] =‘B‘;
break;
}// 大小一样 位置不同
}// 如果有相同 判断位置关系
else
{
if(y==3) result[x] = ‘C‘; // 如果查询完成后没有匹配
continue;
}
// 位置和大小都不同填入C
}
}
}
bool detectionWin()
{
for(int x = 0 ; x < 4 ; x++)
{
if(result[x] ==‘B‘||result[x]==‘C‘) break;
if(x==3) return 1;// 全部判断完成 且没有return
}
return 0;
}
void putResult()
{
for(int a = 0 ; a < 4 ; a++)
{
printf(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3597 2018-12-11 09:59 Guess\GuessNumber.cpp
文件 38235 2018-12-21 15:32 Guess\猜字游戏程序流程图.docx
目录 0 2018-12-21 15:33 Guess
----------- --------- ---------- ----- ----
41832 3
- 上一篇:秘钥管理系统 c语言实现的RSA
- 下一篇:非抢占式短作业优先进程调度C语言
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论