C语言实现简单的记忆力测试游戏
一个简单的记忆测试游戏!
printf("\n记住屏幕上出现的一串数.请仔细看,数字只出现一定时间.");
printf("\n之后数字会消失,你要输入相同的数字.\n");
printf("\n祝你好运!\n\n是否要开始游戏(是-Y,否-N)
猜数成功后,难度会上升~~~
#include <stdio.h>
#include <ctype.h> //使用toupper()函数
#include <time.h> //time()函数
#include <stdlib.h> //生成随机数,rand()和srand()函数
#include <math.h> //pow()函数int main(void)
{char continue_game = 'Y'; //下一个游戏long int show_time = 1L; //数字串显示时间(s)int correct = 1; //判断用户输入的数字是否正确,1-正确,0-错误unsigned int tries = 0; //用户成功次数unsigned int digits = 0; //系统生成的数字串长度time_t seed = 0; //种子值time_t wait_time = 0; //存储当前时间unsigned int score = 0; //游戏分数clock_t game_start_time = 0; //游戏开始时的时间unsigned int input_time = 0; //用户输入数字所用的时间unsigned int game_end_time = 0; //游戏结束时的时间long int number = 0L; //用户输入的数字unsigned int i = 0; //迭代器 /*描述如何游戏*/printf("\n玩一个简单的记忆测试游戏!");printf("\n记住屏幕上出现的一串数.请仔细看,数字只出现一定时间.");printf("\n之后数字会消失,你要输入相同的数字.\n");printf("\n祝你好运!\n\n是否要开始游戏(是-Y,否-N):");scanf("%c",&continue_game);/*一次循环即是一次完整的游戏*/while(toupper(continue_game) == 'Y'){//初始化游戏digits = 2; //数字串最初长度correct = 1;tries = 0; //成功次数game_start_time = clock(); //记录游戏开始时的时间printf("\n游戏开始!\n");while(correct){tries++;wait_time = clock(); //记录数字串产生的时间srand(time(&seed)); //产生数字串for(i = 1; i <= digits; i++)printf("%u ", rand() % 10); //显示随机数字串for( ;clock() - wait_time < show_time * CLOCKS_PER_SEC;); //让数字串显示一定时间printf("\r");for(i = 1; i <= digits; i++)printf(" "); //删除产生的数字串if(1 == tries)printf("\n现在输入数字(不要忘记空格)\n");elseprintf("\r"); //返回到当前行行首srand(seed); //再次产生上次的数字串for(i = 1; i <= digits; i++){scanf(" %ld",&number); //用户输入数字if(number != rand() % 10){correct = 0;break; //输入错误,结束游戏}getchar();}if(correct && ((tries % 3) == 0)) //成功且满三次,随机数字串长度增加一位{digits++;if(0 == (digits % 5)) //数字串是5的倍数时,显示时间加一秒show_time++;}printf("%s\n",correct == 1 ? "正确!" : "错误!");}/*百分制计分并显示分数*/score = 10 * (digits - (1 == (tries % 3)));input_time = digits * ((0 == (tries % 3)) ? 3 : tries % 3);if(digits > 2)input_time += 3 * ((digits - 1) * (digits - 2) / 2 -1);game_end_time = (clock() - game_start_time) / CLOCKS_PER_SEC - tries * show_time;if(input_time > game_end_time)score += 10 * (game_end_time - input_time);printf("\n\n游戏时间是%u秒.你的分数是%u",game_end_time,score);fflush(stdin); //清空键盘输入缓冲区/*是否继续游戏*/printf("\n你想要继续进行游戏吗?(Y/N)?\n请输入: ");scanf("%c",&continue_game);}printf("\n谢谢使用!\n");return 0;
}
运行后如图所示:
C语言实现简单的记忆力测试游戏相关推荐
- c语言实现简单的多子棋游戏
c语言实现简单的多子棋游戏# 系列文章目录 c语言实现简单的多子棋游戏 前言 *大家好呀!今天我们要探究怎么用c语言实现以三子棋为基础的五子棋.十子棋等等多子棋游戏.游戏对代码的要求不高,只需要学习c ...
- c语言大作业走迷宫,基于C语言实现简单的走迷宫游戏
本文实例讲述了C语言实现简单的走迷宫游戏的方法,代码完整,便于读者理解. 学数据结构时用"栈"写的一个走迷宫程序,实际上用到双向队列,方便在运行完毕后输出经过的点. #includ ...
- 用c语言写简单的回合制游戏
用c语言写简单的回合制游戏 #include <stdio.h> #include <stdlib.h> #include <time.h> #include &l ...
- C语言实现简单的猜数字游戏【快来看看你会吗~~】
猜数字游戏 前言 游戏描述 思路 第一步,生成菜单 第二步,编写外部循环--反复玩 第三步,编写游戏代码 综上,整个游戏的代码如下: 前言 相信许多同学和我一样,刚接触c语言一段时间后,觉得c语言特别 ...
- c语言实现简单的猜数字游戏(1~100)
猜数范围为1~100,猜大输出猜大了,猜小输出猜小了,游戏可以无限玩. 首先先做一个简单的菜单界面,只需要利用do--while循环就能实现,输入1开始游戏,输入0 退出游戏. int main() ...
- c语言实现简单的24点游戏
题目叙述:24点游戏是经典的纸牌益智游戏. 常见游戏规则: 从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢.(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点 ...
- c语言射击类打飞机小游戏感悟
c语言:简单飞机射击小游戏 使用c语言编写一个打飞机小游戏,使用键盘按键来进行游戏,操作方法是"a""d""w"或者"←" ...
- python实现简单的猜数字游戏
用优雅的python语言实现简单的猜数字游戏,并给出一定的提示,附加一些小亮点,增加游戏体验. 代码如下: import random import time #时间模块 #在命令行中输入:time. ...
- c语言算24点答案,C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
最新文章
- 一些非常酷的GAN的应用
- 使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据
- NIO详解(四):NIO编程
- Java中使用Jedis连接Redis服务端时提示:JedisConnectionException: Failed connecting
- 求指定范围内的所有素数C++代码实现
- 获得分辨率_变分辨率宽幅面光固化3D打印,
- qt中 accept()和ignore()函数
- 我就是互联网的老不死
- vue+vuex初入门
- 发放2013年迅雷vip账号了~!
- dskinlite(uieasy mfc界面库)使用记录4:绘制动态元素(listbox)
- (Web前端)十分优秀的后台管理框架收集
- 安利几个可以搜大学网课答案的平台
- 流媒体视频播放代码总结。
- python机器学习实战|机器学习入门笔记1-机器学习流程+matplotlib简单应用
- STM32系统定时器闪烁LED灯
- 十余款新品惊艳亮相,华为春季旗舰新品发布会看点满满
- C语言——字符串连接
- mysql去重分组_mysql 分组 去重
- 下载 axios.js 文件到本地
热门文章
- 关于C语言scanf的问题(输入字符串的时候)
- python输出true false_True*False的输出结果是
- linux apache默认带宽限制,Apache设定访问数量及下载速度限制
- Apple M1 与 M1 Pro 与 M1 Max,如何选购?性价比?
- 网络传输--集线器,交换机,路由器(局域网/广域网传输)
- 前端战五渣学JavaScript——void 运算符
- 设置LD_LIBRARY_PATH不起作用(失效)
- 《吃货联盟定餐系统》
- 急求windows驱动大师
- GridView 样式心得