失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)

C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)

时间:2024-05-19 10:55:36

相关推荐

C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)

hello uu们,我们本期的小游戏是在1-100里面猜数字,无聊摸鱼必备小游戏哦~~

闲话少谈,整活走起

首先我们可以简单的把这个程序主题分成两大块

1、游戏界面

2、猜数字过程主体

下面开始分步详细介绍。。。。。。

1、游戏界面

好的我们首先来完成第一块,在第一块内容中,窝们得让使用者清楚明确的选择是进入游戏or退出游戏,同时为了美观我们可以再上下分别再加上一行**来作为修饰

//游戏目录函数void menu(){printf("************************\n");printf("********1.play**********\n");printf("********0.exit**********\n");printf("************************\n");}

这样我们的游戏进入界面就完成了,上效果图:

2、猜数字过程主体

在这一块我们可以分成几个小模块来分布实现~

1、生成随机数

在这块呢我们肯定选择用rand()来生成我们随机数,但是在这里又存在一个问题

每次生成的随机数都一模一样,这样的话我们只要记住了这个数字顺序那么这个游戏玩几次后就变得索然无味了

所以在这里我们引用一个时间戳来生成来作为随机数产生的max:

srand((unsigned int)time(NULL))

然后由于这个如果放在循环体里面,每次都会调用一次也会造成产生的随机数每次都十分接近,这样游戏体验也是极其不好的,因此我们把这个放在main主函数里面,每次开启游戏调用一次即可这样的话,游戏体验good;

2、猜数字循环体

玩家不可能每次都一下猜中吧(欧皇附体当我没说)

对于博主这种非皇来说,肯定得很多次才可以猜中,此时不免就得用一个循环体,来一遍遍进入猜数字。不仅如此,我们还得每次提示一下猜大了猜小了这样才可以方便玩家不断逼近准确值:

while (1){printf("请猜数字>:");scanf("%d", &guess);if (random_num < guess)printf("猜大了\n");else if (random_num > guess)printf("猜小了\n");else{printf("恭喜你,猜对了\n");break;}}

这块代码写的过程一定要小心,一定要小心,一定要小心,重要的事情说三遍

千万不要把猜大了猜小了写错,不然玩家将离正确答案越来越远(别问我为什么会知道这个错误)

是不是以为这就结束了?

错,少了最重要一环:进入游戏一环,这环没有后面全部百搭

这里我们应用switch case语句,来实现选择进入游戏还是退出游戏,同时也是玩完一遍后是退出还是继续的环节~

do{//先完成一个游戏初始目录menu();printf("请选择:\n");scanf("%d", &n);switch (n){case 1://进入游戏game();break;case 0: //退出游戏break;defult:printf("输入错误请重新输入");break;}}while (n);

好了,现在我们的代码就算分布完成了,上最终代码:

#include<stdio.h>#include<stdlib.h>#include<time.h>//游戏目录函数void menu(){printf("************************\n");printf("********1.play**********\n");printf("********0.exit**********\n");printf("************************\n");}//游戏主体函数void game(){int random_num = rand() % 100 + 1;int guess = 0;while (1){printf("请猜数字>:");scanf("%d", &guess);if (random_num < guess)printf("猜大了\n");else if (random_num > guess)printf("猜小了\n");else{printf("恭喜你,猜对了\n");break;}}}int main(){int n = 0;srand((unsigned int)time(NULL));do{//先完成一个游戏初始目录menu();printf("请选择:\n");scanf("%d", &n);switch (n){case 1://进入游戏game();break;case 0: //退出游戏break;defult:printf("输入错误请重新输入");break;}}while (n);return 0;}

各位客官,冒着热气小游戏出炉了

博主在这里运行一遍给各位尝个鲜

好了,本期分享到这里结束了我们下期见

博主在线祈求小伙伴们的三连~~~

如果觉得《C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。