1.游戏简介
计算机随机生成一个1-100的数字,并提示用户输入一个数字,若一致,则成功,若用户输入的数字比产生的数字大,则计算机提示用户输入的数字过大,重新输入,反之,若用户输入的数字比产生的数字小就,则计算机提示用户输入的数字过小,请重新输入,直到猜对为止
2.代码实现
#include <stdio.h>
#include <windows.h>
#include <time.h>
#pragma warning(disable:4996)
#define USER "tom"//账户名
#define PSD "123456"//密码
void Menu()//菜单模块
{
printf("#################################\n");
printf("## 1. Play 2. Exit ##\n");
printf("#################################\n");
printf("Please Select> ");
}
void Play()//游戏模块
{
int n = rand() % 100 + 1;//计算机随机生成一个1-100的整数
int x = 0;
do {
printf("guess# ");
scanf("%d", &x);
if (x > n) {
printf("guess big!\n");
}
else if (x < n) {
printf("guess small!\n");
}
else {
printf("you are right! : %d\n", x);
break;
}
} while (1);
}
int main()
{
char name[32];
char passwd[32];
int count = 3;//有三次登陆机会
while (count > 0) {
count--;
printf("Please Enter Your name# ");
scanf("%s", name);
printf("Please Enter Your Passwd# ");
scanf("%s", passwd);
if (strcmp(USER, name) == 0 && strcmp(PSD, passwd) == 0) {
break;
}
else {
printf("name or passwd error, try agagin! you have %d times\n", count);
}
}
if (count > 0) {
printf("login success!\n");
int i = 5;
while (i > 0) {
printf("loading ... %d\r", i);
Sleep(1000);//引入Sleep接口,以实现登录倒计时动态化
i--;
}
printf("loading ... done!\n");
srand((unsigned long)time(NULL)); //随机数种子
int quit = 0;
while (!quit) {
Menu();
int select = 0;
scanf("%d", &select);
switch (select) {
case 1:
Play();
break;
case 2:
printf("ByeBye!\n");
quit = 1;
break;
default:
printf("Enter Error!\n");
break;
}
}
}
else {
printf("login failed!\n");
}
system("pause");
return 0;
}
3.运行结果