C语言编写的算数小游戏(附源码)
- 本人博客:https://bsheepcoder.github.io/
#include <stdlib.h>
#include<stdio.h>
#include<time.h>
#define N 20 //定义一个时间以s为单位,要求时间至少够做5题/*程序名:算数游戏 时间:2020.12.24 制作人:Bsheepcoder 内容: 用户需在规定时间内尽可能多的做题,题目内容是完成两个10以内数相加和相减。
*/
struct tm * GetTime( time_t *t) //声明一个获取时间的结构指针
{struct tm * loctm;time (t); //获取Unix时间戳。loctm = localtime (t); //转为时间结构。
}void NewNumber(int *p1, int *p2); //生成两个10以内随机数
int Sum(int a , int b); //两数和
int Minus(int a , int b); //两数差的绝对值
void Judge(int sum,int a,int minus,int b,int *k); //判断用户输入的结果是否正确
int TimeCnt( struct tm *localtime,struct tm begintime); //返回剩余答题时间
int InTime(struct tm *lt1 ,time_t t , int *pn, int *pk); //答题时间内的操作,输入两个数。
int AwardLangurage(int *cnt,int *k);int main(void)
{time_t T; int cnt = 0, k = 0 ; //printf(">> %ds时间,准备开始了吗?\n",N);printf(">> 按enter 开始 || 输任意值退出\n",N);if(getchar() == '\n'){//定义一个时间变量 struct tm *lt1; //定义一个时间结构体指针 struct tm begin;int time; //定义一个时间差 lt1 = GetTime(&T); //指针指向此时时间 begin = * lt1; //记录开始的时间指针的时间 while(1){time = TimeCnt(lt1,begin); //传入开始时间 ,返回剩余时间 printf(">—————剩余 %ds——————<\t\n",time);if(time >= 0){InTime(lt1,T,&cnt,&k); }else{printf(">> 停!时间到!\t\n");printf(">> 共 %d 题, 答对 %d 题\t\n",cnt,k);switch (AwardLangurage(&cnt,&k)){case 0: printf("完全正确!你太厉害了!");break;case 1: printf("优秀!我看好你!");break;case 2: printf("良好!你很有潜力!");break;case 3: printf("一般,你需要多练习!");break;case 4: printf("加油,不要放弃!");break;case 5: printf("你完美的躲过了正确答案!");break;case 6: break;default:break;};printf(">> 按任意键退出\t\n",N);break; }} getchar();getchar(); //防止程序闪退 }return 0;
}void NewNumber(int *p1, int *p2)
{int born ;srand((unsigned)time(NULL));*p1 = (rand()+2 * rand())%10; //取一个随机数 p1 *p2 = (rand() * rand()+rand())%10; // 取一个随机数 p2
}
int Sum(int a , int b) //两数和
{int sum;sum = a + b;return sum;
}int Minus(int a , int b) //两数差的绝对值
{int minus;if(a < b){minus = b - a;}else{minus = a - b;}return minus;
}void Judge(int sum,int a,int minus,int b,int *k)
{if(a == sum && b == minus){printf(" 正确!\n");*k = *k + 1;}else{printf(" 错误!\n");}
}
/*功能:判断时间差,以此为依据退出循环参数:时间结构指针、开始时间
*/
int TimeCnt( struct tm *localtime,struct tm begintime) //传入
{int minus;if(localtime->tm_min > begintime.tm_min){minus = localtime->tm_sec + 60 - begintime.tm_sec ;}else{minus = localtime->tm_sec - begintime.tm_sec ;}return (N - minus) ;
}
/*功能:规定时间内的动作参数:时间结构指针、时间变量、计题数、计答对题数
*/
int InTime(struct tm *lt1 ,time_t t , int *pn, int *pk)
{int new1, new2, answer1, answer2;int i,sum, begin , minus;NewNumber(&new1,&new2);sum = Sum(new1,new2);minus = Minus(new1,new2);printf(" >> %d +/- %d = ?\t\n",new1 ,new2);*pn = *pn + 1;scanf("%d %d",&answer1, &answer2);Judge(sum,answer1,minus,answer2,pk);lt1 = GetTime(&t);return 0;
}
/*功能:用答错的题数来判断评价参数:题数、答对的题数
*/
int AwardLangurage(int *cnt,int *k) {int LangurageStand;int error = *cnt - *k ; // 错误的题数if(*cnt > 10){if (error == 0 ) //0%以内{ LangurageStand = 0;}else if(error < (*cnt)/5) //20%{LangurageStand = 1;}else if(error < 2*(*cnt)/5) //40%{LangurageStand = 2;}else if(error < 4*(*cnt)/5) //80%{LangurageStand = 3;}else if(error < *cnt) //100%{LangurageStand = 4;}else{LangurageStand = 5;}}else // 5个题以内{if (error == 0 ) { printf("完全正确!你太厉害了!");}else if(error < *cnt){printf("还需努力!");}else{printf("你需要更多练习!");}LangurageStand = 6;}return LangurageStand;
}
不是很难,不过很适合小盆友来学习算数
还可以写成乘法算数类型
哈哈
C语言编写的算数小游戏(附源码)相关推荐
- html实现扫雷小游戏(附源码)
文章目录 实现功能 1.扫雷设计 1.1 主界面 1.2 扫雷难度 1.3 附带功能 2.效果和源码 2.1 动态效果 2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blo ...
- 【Python游戏】用Python 和 Pyglet 编写一个我的世界小游戏 | 附源码
相关文件 想学Python的小伙伴可以关注小编的公众号[Python日志] 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复我的世界 Pytho ...
- 用C语言easyx库来写一个简单的翻翻乐小游戏(附源码素材)
简明目录 写在前面 easyx库 准备工作 新建项目文件 分析 素材分析 上代码吧 地图表示 开始界面 地图初始化(打乱) 游戏过程实现 主函数的实现 测试 优化 1.游戏分数 2.游戏时间 3.nu ...
- C语言实现三子棋小游戏(源码+教程)
我猜中了开头,却猜不到这结局.--<大话西游> 目录 1.设计框架 2.设计流程 2.1菜单 2.2初始化棋子 2.3初始化棋盘 2.4玩家输入落子的坐标 2.5电脑随机生成棋子 2.6判 ...
- 【Python游戏】Python基于pygame实现的人机大战的斗兽棋小游戏 | 附源码
前言 有粉丝说要我出一期Python版本的斗兽棋,今天宠粉狂魔的我不就来啦!! 虽然是一个简单的小游戏,但是对于新手小伙伴来说还是有一定的小难度的哟!要是不理解都可以找到小编的哈!! 相关文件 关注小 ...
- 整理了30款Python小游戏附源码,五一有的玩了
快到五一了,整理了 30 款 Python 小游戏源码分享给大家,具体内容可以点击下方视频号查看: 点击上方视频后,源码获取方式:①关注上方视频号.②点赞当前视频.③在当前视频评论区扣1 友情提示:获 ...
- 【Python游戏】基于化学方程式的基础上,用Python实现一个消灭泡泡小游戏 | 附源码
前言 halo,包子们下午好 今天实现的这个小游戏呀,说实话化学不太好的小伙伴可能看起来会有点懵逼 不过不用担心,咱们今天不是来学化学的,我们是来学习Python的 所以呀,不要太担心啦,大家先好好看 ...
- 【博主推荐】html好看的拼图小游戏(附源码)
拼图目录 html好看的拼图小游戏 1.拼图效果示意图 1.1 第一级 九宫格拼图 1.2 第二级 十六宫格拼图 1.3 第三级 三十二宫格拼图 14 第三级 八十一宫格拼图 2.图片切图说明 3.实 ...
- 一口气用Python写了13个小游戏 (附源码)
大家好,今天给大家分享13个游戏源码,可以自己复现玩玩,研究下里面的编程逻辑,对学习编程(特别是初学者)应该会有很大帮助. 由于文章较长,大家记得滑到文末点个赞哈- 1.吃金币 源码分享: impor ...
- 【Python游戏】基于pygame实现的一个Dino Rush 恐龙宝贝冲冲冲的小游戏 | 附源码
前言 halo,包子们晚上好 很久没有更新啦,主要是小编这边最近有点小忙 今天给大家整一个Dino Rush 恐龙宝贝冲冲冲的小游戏 还是一个比较记经典的小游戏,还记这可谷歌浏览器上没有网也能打发时间 ...
最新文章
- 继承有几种方式,分别是什么,想要实现继承可以使用哪些方法
- oracle-sqlloader的简单使用
- 机器学习中常见的损失函数
- axios-引入-常用语法-源码
- 苹果失策?新iPhone捆绑Apple TV+或会致硬件利润率下滑
- 电脑怎么彻底删除软件_电脑强力卸载工具,删除电脑无用软件,让电脑更加快捷顺畅...
- Xshell中用./startup.sh启动时候提示权限不够
- 去除右键菜单中图形属性、图形选项
- 从菜鸟到资深工程师的进阶之路-任玉刚专访
- 批量将 xlsx 文件 转换 为 csv文件
- 简单二叉树的模型和解法(C++)
- quartus利用锁相环产生时钟_一种快速位同步时钟提取方案及实现
- ios 系统状态栏样式修改_iOS_状态栏字体颜色修改(完美解决)
- 经管资源库项目总结----在线预览office文件的实现与总结
- 二元函数对xy同时求导_关于反三角函数及其导数
- SqlServer存储过程触发HTTP请求
- 将idea设置为中文
- 工业产品类计算机绘图师,全国计算机绘图师考试试题汇总.pdf
- 携手用友低代码开发,德鑫物联将RFID融入企业服务大生态
- Maven 集成 Wagon
热门文章
- vbs整人代码蓝屏_求大量VBS整人代码.
- 安装mysql2005出错_SQL Server 2005 安装遇到的错误提示和解决方法
- 极智AI | 量化实现分享一:详解 min-max 对称量化算法实现
- 整理了两天!B站最全Java学习视频和学习路线
- 晨风机器人回复词库_qq机器人词库大全下载
- IDEA快捷键的使用
- 服装商品销售数据分析
- 河北省应用计算机模拟考试,河北省职称计算机考试模拟系统
- android 模拟gps坐标,android中模拟器中实现GPS坐标改变
- 计算机的3d软件家庭版,3DOne家庭版 64位