带登录程序的猜数小游戏(C语言编写)
程序员文章站
2022-03-15 11:35:23
带登录程序的猜数小游戏(C语言编写)猜数小游戏1.整体流程图2.主要程序2.1 主程序2.2 菜单界面2.3 登录界面2.4 倒计时2.5 猜数比较3 演示效果3.1 登录演示3.2 猜数演示猜数小游戏按照一般游戏规则在游戏开始之前首先进行游戏登录,一开始会有3次登录机会,如果在这三次中输入账号密码正确则进入游戏,猜数游戏开始;但是3次登录都错误后,必须等10S后才能在次登录,并且 以后每次登录失败都会有10S延时时间,直到进入游戏。https://download.csdn.net/downloa...
带登录程序的猜数小游戏(C语言编写)
猜数小游戏
按照一般游戏规则在游戏开始之前首先进行游戏登录,一开始会有3次登录机会,如果在这三次中输入账号密码正确则进入游戏,猜数游戏开始;但是3次登录都错误后,必须等10S后才能在次登录,并且 以后每次登录失败都会有10S延时时间,直到进入游戏。
1.整体流程图
本次游戏主要由以下部分组成:
- main() ,进行各个函数的调用;
- Menu() ,进行菜单界面的打印;
- LogIn() ,登录函数;
- Time() ,登录失败时的倒计时;
- Game() ,猜数游戏函数;
2.主要程序
2.1 主程序
#include"game.h"
//main.c
int main()
{
LogIn();//登录程序
while (1)
{
Menu();
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
Game();//猜数程序
printf("再来一次!!!!\n");
break;
case 2:
printf("886\n");
goto exit;//跳出while(a)循环:a=0 ; break;
default:
printf("输入有误!重新输入\n");
break;
}
}
exit:
system("pause");
return 0;
}
2.2 菜单界面
void Menu()
{ /*菜单界面*/
printf("**************************\n");
printf("**** 1.play 2.exit ****\n");
printf("**************************\n");
printf("请选择:");
}
2.3 登录界面
void LogIn()
{//game.c
/*登录界面*/
char name[64];
char passwd[64];
for (int times = 0; times < 3; times++)//3次登录机会
{
the: printf("请输入账号:");
scanf("%s", name);//数组在scanf输入时,降维成指针;所以不带&
printf("请输入密码:");
scanf("%s", passwd);
if (strcmp(NAME, name) == 0 && strcmp(PASSWD, passwd) == 0)
{ //strcmp(str1,str2) string compare(字符串比较)的缩写
//若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。
printf("登录成功!%c\n",3);
break;//退出循环
}
else
{
printf("登录失败!%c\n",2);
times == 2;
}
if (times == 2)
{
printf("Please wait %dS!\r", MyTime);
Time();
goto the;//跳转到登录,登录失败1次就延时!
}
}
}
2.4 倒计时
void Time()
{//game.c
/*倒计时登录*/
//const char *str = "hello world,hello china!"; //待定
char content[] = "9876543210";
char lable[] = "Please wait #S!";
int len = strlen(content);
int start = 0;
printf("%s\r", lable);
for (start = 0; start < len; start++)
{
lable[12] = content[start];//给lable数组13号元素传数
int t = 1000 ;
Sleep(t);
printf("%s\r", lable);
if (start == len-1)//数传完毕
{
printf("\bPlease log in again! %c",3);// \b 退格符
}
}
printf("\n");
}
2.5 猜数比较
void Game() //game.c
{ /*猜数比较*/
srand((unsigned long)time(NULL));
int r = rand() % RANGE + 1;//产生一个100以内的随机数
printf("准备好了!\n");
while (1)
{
printf("来猜猜看:");
int num = 0;
scanf("%d", &num);
if (r > num)
{
printf("猜小了!\n");
}
else if (r < num)
{
printf("猜大了!\n");
}
else
{
printf("恭喜你!\n");
break;
}
}
}
3 演示效果
3.1 登录演示
注册的原始账号:Sunfann
注册的原始密码:000000
一开始会有3次登录机会,如果在这三次中输入账号密码正确则进入游戏菜单界面,可以选择开始
或退出
猜数游戏;
成功登陆界面:
但是3次登录都错误后,必须等10S后才能在次登录,并且 以后每次登录失败都会有10S延时时间,直到进入游戏菜单界面。
登陆失败等待10S界面:
3.2 猜数演示
在菜单界面选择1进入游戏开始进行猜数,当猜数正确时一局游戏结束自动进入菜单界面,选择1可以开始重新进入游戏开始新的一局猜数游戏;当然也可以选择2退出游戏。
进入猜数界面:
本文地址:https://blog.csdn.net/qq_38364548/article/details/110143407
上一篇: Java实现石头剪刀布小游戏
下一篇: Python实现石头剪刀布游戏