基于C语言的猜数小游戏(附源码)_*往事随风的博客*
2021/4/14 20:31:14
本文主要是介绍基于C语言的猜数小游戏(附源码)_*往事随风的博客*,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、游戏规则
- 二、基本思路
- 三、代码分析
- 1.打印游戏菜单
- 2.实现功能交互
- 3.产生游戏数据
- 4.运行游戏
- 四、运行结果
- 五、整体代码
- 六、总结
前言
基于C语言实现的一个简易的猜数小游戏,目的在于熟悉一下C语言中的随机数函数、方法的调用以及模块化代码的应用。
一、游戏规则
提示用户输入一个整数(这里以1-100为例),如果用户输入的数比系统随机产生的数大,则提示用户输入的数值太大,重新输入,反之则提示用户输入的数值太小,重新输入,直到用户输入的数值和系统产生的数值一样,游戏结束。
二、基本思路
首先通过随机数函数来随机产生一个整数(这里以1-100之间的整数为例),然后将产生的随机数与用户输入的数进行比对,进而来判断用户输入的是否符合游戏的规则。
三、代码分析
1.打印游戏菜单
这一步就是单纯的printf,没有什么难度,注意一下排版就行。
示例代码如下:
/*游戏菜单*/ void menu() { printf("\t\t\t\t【趣味猜数游戏】\n"); printf("\t\t\t1.开始游戏\t\t2.退出游戏\n"); printf("------------------------------------------------------------------------------\n"); }
2.实现功能交互
这一块的话主要是对switch的应用。
示例代码如下:
/*功能交互*/ void interactive() { printf("请输入您的选择:"); scanf("%d",&choice); switch(choice){ case 1: game();break; case 2: out();break; default:printf("请在1-2中选择\n");break; } }
3.产生游戏数据
这里的游戏数据对应的是系统随机产生的随机数,用来和用户输入的数进行比较,保证游戏的正常进行。此处主要应用到了随机数函数。
示例代码如下:
/*产生游戏数据*/ void date() { srand((time(NULL)));//随机数种子 num_s = rand()%101;//随机产生100以内的随机数 }
4.运行游戏
前期工作准备好以后,我们就可以开始运行游戏,
这一块主要是对游戏规则的逻辑化理解的应用,相对来说比较简单,注意好逻辑关系就可以了。
示例代码如下:
/*开始游戏*/ void game() { date(); printf("请输入一个数:"); scanf("%d",&num); num= juge(num);//将判断后的num重新赋值给num while(1){ if(num==num_s){ printf("恭喜,猜中了!\n"); system("pause"); system("cls");break; }else if(num-num_s>0){ printf("输入的数字太大了!\n"); printf("再试一次吧:"); scanf("%d",&num); }else if(num-num_s<0){ printf("输入的数字太小了!\n"); printf("再试一次吧:"); scanf("%d",&num); } } }
四、运行结果
五、整体代码
#include<stdio.h> #include<windows.h> #include<time.h> #include<stdlib.h> /*定义全局变量*/ int choice = 0;//存储功能选择数据 int num = 0;//存储用户输入数据 int num_s = 0;//存储游戏随机产生的数据 /*函数声明*/ void menu();//游戏菜单 void interactive();//功能交互 void date();//产生游戏数据 void game();//开始游戏 void out();//退出游戏 int juge(int num);//判断用户输入是否合法 /*测试函数*/ int main() { system("title 趣味猜数游戏"); system("color f5"); while(1){ menu(); interactive(); } return 0; } /*游戏菜单*/ void menu() { printf("\t\t\t\t【趣味猜数游戏】\n"); printf("\t\t\t1.开始游戏\t\t2.退出游戏\n"); printf("------------------------------------------------------------------------------\n"); } /*功能交互*/ void interactive() { printf("请输入您的选择:"); scanf("%d",&choice); switch(choice){ case 1: game();break; case 2: out();break; default:printf("请在1-2中选择\n");break; } } /*产生游戏数据*/ void date() { srand((time(NULL)));//随机数种子 num_s = rand()%101;//随机产生100以内的随机数 } /*判断用户输入的数据是否合法*/ int juge(int num) { while(1){ if(num>0&&num<=100){ return num;break; }else if(num>100||num<=0){ printf("(请在1-100以内的数字进行选择)\n"); printf("请重新输入:"); scanf("%d",&num); }else{ printf("你的输入不合法,请重新输入:"); scanf("%d",&num); } } } /*开始游戏*/ void game() { date(); printf("请输入一个数:"); scanf("%d",&num); num= juge(num);//将判断后的num重新赋值给num while(1){ if(num==num_s){ printf("恭喜,猜中了!\n"); system("pause"); system("cls");break; }else if(num-num_s>0){ printf("输入的数字太大了!\n"); printf("再试一次吧:"); scanf("%d",&num); }else if(num-num_s<0){ printf("输入的数字太小了!\n"); printf("再试一次吧:"); scanf("%d",&num); } } } /*退出游戏*/ void out() { int i; printf("三秒后将退出游戏:"); for(i=0;i<3;i++){ printf("·"); Sleep(1000); } printf("\n"); printf("欢迎下次再来玩!\n"); exit(0); }
六、总结
本篇主要是对c语言的基础知识的练习,主要回顾了C语言中的随机数函数,以及函数的调用。对于新手,掌握代码中的逻辑至关重要。
这篇关于基于C语言的猜数小游戏(附源码)_*往事随风的博客*的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验