游戏玩法
系统生成一个随机数,你有五次机会去猜,
每次猜错了会提示你猜大了了还是猜小了
设计思路
1.进入主函数
2.生成随机数
3.打印游戏介绍内容
4.设计按回车健进入游戏
5.进入游戏6打印菜单
6.输入数字 1 开始游戏
7.开始游戏
开始设计实现游戏
1.引入库函数
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<time.h> #include<stdlib.h> #include<ctype.h>
2.生成随机数
srand(time(NULL)); //初始化随机数发生器 int num = rand()%100+1; //获得一个1~100的随机数
3.打印游戏价绍
void Game_introduction() { printf("*********************\n"); printf("******猜数字游戏*****\n"); printf("******范围1~100******\n"); printf("*********************\n"); }
4.按回车进入游戏菜单
void Enter() { char scan; printf("按回车键开始游戏"); while(1) { scanf("%c", &scan); if (isspace(scan) != 0) { break; } } } //检测输入空白字符(回车)执行下一步
5.清屏,并进入游戏菜单
void cls() { system("cls"); } //每次调用函数清屏 void menu() { printf("请输入数字\n"); printf("*********************\n"); printf("******* 1 play ******\n"); printf("******* 2 exit ******\n"); printf("*********************\n"); } //打印游戏菜单
6.此时main函数设计主体为
int main() { srand((unsigned int)time(NULL)); Game_introduction(); Enter(); cls();
7.main函数开始执行游戏逻辑
利用循环与菜单函数的互动,使得游戏可以多次游玩
int main() { srand((unsigned int)time(NULL)); Game_introduction(); Enter(); cls(); int input = 0; do { menu(); printf("请输入:"); scanf("%d", &input); switch (input) { case 1: printf("游戏开始\n"); cls(); game(); break; case 0: printf("游戏结束\n"); break; default: printf("选择错误,请重新选择\n"); break; } } while (input); return 0; }
8.游戏执行函数
void game() { int r = rand() % 100 + 1; int guess = 0; int count = 5; while (count) { printf("\n你还有%d次机会\n", count); printf("请输入你想猜的数字:>"); scanf("%d", &guess); if (guess < r) { printf("你猜小了\n"); } else if (guess > r) { printf("你猜大了\n"); } else { printf("恭喜你,猜对了\n"); break; } count--; } if (count == 0) { printf("次数用尽,正确答案为%d\n", r); } }
游戏整体
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<time.h> #include<stdlib.h> #include<ctype.h> void cls() { system("cls"); } void Game_introduction() { printf("*********************\n"); printf("******猜数字游戏*****\n"); printf("******范围1~100******\n"); printf("*********************\n"); } void Enter() { char scan; printf("按回车键开始游戏"); while(1) { scanf("%c", &scan); if (isspace(scan) != 0) { break; } } } void game() { int r = rand() % 100 + 1; int guess = 0; int count = 5; while (count) { printf("\n你还有%d次机会\n", count); printf("请输入你想猜的数字:>"); scanf("%d", &guess); if (guess < r) { printf("你猜小了\n"); } else if (guess > r) { printf("你猜大了\n"); } else { printf("恭喜你,猜对了\n"); break; } count--; } if (count == 0) { printf("次数用尽,正确答案为%d\n", r); } } void menu() { printf("请输入数字\n"); printf("*********************\n"); printf("******* 1 play ******\n"); printf("******* 2 exit ******\n"); printf("*********************\n"); } int main() { srand((unsigned int)time(NULL)); Game_introduction(); Enter(); cls(); int input = 0; do { menu(); printf("请输入:"); scanf("%d", &input); switch (input) { case 1: printf("游戏开始\n"); cls(); game(); break; case 0: printf("游戏结束\n"); break; default: //printf("选择错误,请重新选择\n"); printf("你个人机,都能输错\n"); break; } } while (input); return 0; }