一、游戏要求
游戏项目:猜数字
游戏规则:
电脑会在0~100之间随机选择一个数字,由玩家进行猜。
当玩家输入的数字大于电脑选择的数字时,会弹出提醒,表示输入的数字过大。
当玩家输入的数字小于电脑选择的数字时,会弹出提醒,表示输入的数字过小。
当玩家输入的数字等于电脑选择的数字时,会弹出“恭喜你猜到了”,表示游戏结束。
项目要求:
要求使用if语句,switch语句,和srand()函数、rand()函数以及time()函数完成该项目。
二、项目分析:
1、我们可以采用srand()、rand()%100+1、以及time(NULL) 进行随机生成0~100范围内的数字。
2、对于数字过大或者数字过小以及数字相等,我们可以采取if语句进行判断。
3、猜数字游戏是只有猜到数字才能结束,所以在猜不到数字之前是需要一直进行循环直到猜到为止。
4、在数字相等的同时,也等同于游戏的结束,所以需要break函数进行跳出循环。
三、代码演示:
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
void mune()
{
printf("****************1.0 play***************\n");
printf("***************************************\n");
printf("****************0.0 exit***************\n");
}
void game()
{
int guess;
int r = rand() % 100 + 1;
while (1)
{
printf("接下来开始进行游戏!>:");
scanf("%d", &guess);
if (r > guess)
{
printf("猜小了!\n");
}
if (r < guess)
{
printf("猜大了!\n");
}
if (r == guess)
{
printf("恭喜你猜到了!\n");
break;
}
}
}
int main()
{
int input;
srand((unsigned int)time(NULL));
do
{
mune();
printf("请输入数字,准备开始游戏:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
case 2:
printf("游戏结束!\n");
break;
default:
printf("游戏出错,请重来!\n");
break;
}
} while (input);
return 0;
}