一个简单的记忆测试游戏!
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语言实现简单的记忆力测试游戏相关推荐

  1. c语言实现简单的多子棋游戏

    c语言实现简单的多子棋游戏# 系列文章目录 c语言实现简单的多子棋游戏 前言 *大家好呀!今天我们要探究怎么用c语言实现以三子棋为基础的五子棋.十子棋等等多子棋游戏.游戏对代码的要求不高,只需要学习c ...

  2. c语言大作业走迷宫,基于C语言实现简单的走迷宫游戏

    本文实例讲述了C语言实现简单的走迷宫游戏的方法,代码完整,便于读者理解. 学数据结构时用"栈"写的一个走迷宫程序,实际上用到双向队列,方便在运行完毕后输出经过的点. #includ ...

  3. 用c语言写简单的回合制游戏

    用c语言写简单的回合制游戏 #include <stdio.h> #include <stdlib.h> #include <time.h> #include &l ...

  4. C语言实现简单的猜数字游戏【快来看看你会吗~~】

    猜数字游戏 前言 游戏描述 思路 第一步,生成菜单 第二步,编写外部循环--反复玩 第三步,编写游戏代码 综上,整个游戏的代码如下: 前言 相信许多同学和我一样,刚接触c语言一段时间后,觉得c语言特别 ...

  5. c语言实现简单的猜数字游戏(1~100)

    猜数范围为1~100,猜大输出猜大了,猜小输出猜小了,游戏可以无限玩. 首先先做一个简单的菜单界面,只需要利用do--while循环就能实现,输入1开始游戏,输入0 退出游戏. int main() ...

  6. c语言实现简单的24点游戏

    题目叙述:24点游戏是经典的纸牌益智游戏. 常见游戏规则: 从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢.(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点 ...

  7. c语言射击类打飞机小游戏感悟

    c语言:简单飞机射击小游戏 使用c语言编写一个打飞机小游戏,使用键盘按键来进行游戏,操作方法是"a""d""w"或者"←" ...

  8. python实现简单的猜数字游戏

    用优雅的python语言实现简单的猜数字游戏,并给出一定的提示,附加一些小亮点,增加游戏体验. 代码如下: import random import time #时间模块 #在命令行中输入:time. ...

  9. c语言算24点答案,C语言-纸牌计算24点小游戏

    C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...

最新文章

  1. 一些非常酷的GAN的应用
  2. 使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据
  3. NIO详解(四):NIO编程
  4. Java中使用Jedis连接Redis服务端时提示:JedisConnectionException: Failed connecting
  5. 求指定范围内的所有素数C++代码实现
  6. 获得分辨率_变分辨率宽幅面光固化3D打印,
  7. qt中 accept()和ignore()函数
  8. 我就是互联网的老不死
  9. vue+vuex初入门
  10. 发放2013年迅雷vip账号了~!
  11. dskinlite(uieasy mfc界面库)使用记录4:绘制动态元素(listbox)
  12. (Web前端)十分优秀的后台管理框架收集
  13. 安利几个可以搜大学网课答案的平台
  14. 流媒体视频播放代码总结。
  15. python机器学习实战|机器学习入门笔记1-机器学习流程+matplotlib简单应用
  16. STM32系统定时器闪烁LED灯
  17. 十余款新品惊艳亮相,华为春季旗舰新品发布会看点满满
  18. C语言——字符串连接
  19. mysql去重分组_mysql 分组 去重
  20. 下载 axios.js 文件到本地

热门文章

  1. 关于C语言scanf的问题(输入字符串的时候)
  2. python输出true false_True*False的输出结果是
  3. linux apache默认带宽限制,Apache设定访问数量及下载速度限制
  4. Apple M1 与 M1 Pro 与 M1 Max,如何选购?性价比?
  5. 网络传输--集线器,交换机,路由器(局域网/广域网传输)
  6. 前端战五渣学JavaScript——void 运算符
  7. 设置LD_LIBRARY_PATH不起作用(失效)
  8. 《吃货联盟定餐系统》
  9. 急求windows驱动大师
  10. GridView 样式心得