其他分享
首页 > 其他分享> > C语言——数字炸弹

C语言——数字炸弹

作者:互联网

哇,激动,初学C语言一个月左右,做了第一个简单小游戏——数字炸弹

还融合了登录系统,密码:85915206

#include<string.h>
#include<stdio.h>
#include<Windows.h>
#include<stdlib.h>
#include<time.h>

void menu()//建立菜单样板
{
    printf("######       数字炸弹     #########\n");
    printf("###   1.开始游戏    0.退出     ####\n");
    printf("###################################\n");

}
void game()
{
    int a=0;//用于接收随机数的变量
    int b=0;
    a=rand()%100+1;//%100+1后,生成的数字为1到100之间的数
    while(1)
    {
    printf("请输入1到100之间的数字:");
    scanf("%d",&b);
    if(b>a)
    {    printf("猜大啦\n");    }
    else if(b<a)
    {    printf("猜小啦\n");    }
    else if(b=a)
    {    printf("bong~炸弹爆炸,游戏结束\n");   break;}
    }

}


int main()
{
    int a=0;
    int i=0;
    char password[20]={0};
    int input=0;

    while(strcmp(password,"85915206")!=0)
    {
    a=3;
    for(i=0;i<3;i++)
    {    
    a--;
    printf("请输入密码:");
    scanf("%s",password);
    if(strcmp(password,"85915206")==0)
    {       printf("登入成功,系统正在载入...\n") ;         break;      }
    else
    {       printf("密码错误(还剩下:%d次机会)\n",a) ;               }
    }

    if(i==3)
    {       
        printf("密码错误超过三次,已锁机,等待10秒后可重新输入\n") ; 
        Sleep(10000);
        i=0;
        continue;
    }
    }
    
    Sleep(3000);
    
    srand((unsigned int)time(NULL));//这个不能放在循环里面
    do//由于我们需要先进入菜单并执行一次游戏,再进入循环,所以我们选择do...while
    {
        menu();//菜单
        printf("请选择:");
        scanf("%d",&input);
        switch(input)//分支,玩/不玩/乱选都会跳出来判断是否循环,这里只有让不玩也就是input为0时跳出循环
        {
            case 1:
                game();//game就是游戏内容,另写游戏内容用void game(){...}
                break;
            case 0:
                printf("正在退出游戏,请稍等...");
                Sleep(1500);
                break;
            default:
                printf("输入错误,请重新选择\n");
                Sleep(1500);
                break;
        }

    }while(input);//所以这里直接把条件设置为input,如果不玩,input就为0,则退出游戏
    return 0;
}

标签:数字,int,C语言,break,炸弹,printf,input,include,游戏
来源: https://blog.csdn.net/china_chk/article/details/121961125