本文内容为利用循环与分支语句来实现一个简单的猜数字游戏:
游戏规则为:系统随机生成一个[1,100]内的整数,玩家需要在六次之内猜出这个数字。每猜一次,如果猜对,则提示恭喜并公布数字,否则会提示玩家猜大了或者猜小了,剩余尝试次数随之减一,次数用完,游戏结束!
(次数限制可以根据个人喜好随意修改,也可以直接去掉count计数器,即直到猜对为止。)
具体代码实现如下:
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#pragma warning(disable:4996)
#define TRY_COUNT 6//宏定义猜数字限制次数
void Meun()//菜单函数
{
printf("****************************************************************************\n");
printf("********1.Game! 2.Quit!**********\n");
printf("****************************************************************************\n");
printf("Please selest 1 or 2 : ");//让玩家选择进行游戏或者退出
}
void Game()//游戏函数
{
printf("*********************************游戏开始!*********************************\n");
printf("游戏规则:系统已随机生成一个[1,100]内的整数,玩家需要在六次之内猜出这个数字,\n");
printf("每猜一次,如果猜对,则提示恭喜,否则系统会提示玩家猜大了或者猜小了,剩余次数\n");
printf("随之减一,次数用完,游戏结束!\n");//游戏规则部分
srand((unsigned int)time(NULL));//随机生成一个整形数据
int data = rand() % 100 + 1;//使数据控制在[1,100]
int count = 0;
count = TRY_COUNT;
while (count > 0){
int x = 0;
printf("Please guess: ");
scanf("%d", &x);
if (x < data){
count--;
printf("猜小了!再试试(你还有%d次机会!):\n",count);
}
else if (x>data){
count--;
printf("猜大了!再试试(你还有%d次机会!):\n",count);
}
else{
printf("恭喜你,猜对了!这个数字就是%d!\n", data);
break;
}
}
if (0 == count){
printf("非常遗憾,次数已使用完毕,您还未能猜出,再来一把试试吧!\n");
}
printf("*********************************游戏结束!*********************************\n");
printf("\n");
}
int main()
{
int quit = 0;//定义quit用来跳出while循环
while (!quit){
Meun();
int select = 0;
scanf("%d", &select);
switch (select){
case 1:
Game();
printf("游戏时间总是短暂的,再来一把吗?\n");
break;
case 2:
quit = 1;//跳出while循环
printf("Game End!");
break;
default:
printf("输入有误,请重新输入:\n");
break;
}
}
system("pause");
return 0;
}
运行结果及游戏测试:
运气比较好六次之内猜对了:
运气较差没有在限制次数之内猜对数字:
不论最终猜对与否都可以选择再来一把或者退出。
总结:
这是利用C语言中的循环与分支语句来实现的一个小游戏,没有复杂的语法,即使初学者也很容易看懂和实现。