简单的猜字游戏

一直很好奇游戏是怎么用计算机语言写出来的,毫无疑问游戏每一步的执行都是由程序在控制。初学c语言不久,也想尝试用语言去编写程序,下面是一个简单的猜数字游戏,以此为例,了解游戏的大概设计过程。
游戏概述分析:
首先提供给用户一个界面,供用户选择是玩游戏还是不玩了,把它写成一个函数,每次循环调用就会出现选择界面。第二个函数是游戏的主体过程,使用rand函数随机生成一个数,(rand函数在c语言中实际产生的数是伪随机数,通过srand函数可以让产生的随机数更真一些,它的原理是设置一个随机数种子,然后后续随机数依赖于种子值。格式为srand((unsigned int)time(NULL));)。while(1)恒为真,用户不断的去猜。此程序的入口从main开始,用switch语句提供了三种可能,为1的时候就调用game函数,为2退出,其他显示输入错误。
具体代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
    printf("***************\n");
    printf("***1、玩游戏***\n");
    printf("***2、不玩了***\n");
    printf("***************\n");
}
void game()
{
    int ret=0,guess=0;
    ret=rand()%100+1;
    while(1)
    {
        printf("请按数字->:");
        scanf("%d",&guess);
        if(guess>ret)
        {
            printf("猜大了\n");
        }
        else if(guess<ret)
        {
            printf("猜小了\n");
        }
        else
        {
            printf("恭喜你,猜对了!\n");
            break;
        }
    }
}
int main()
{
    int input=0;
    srand((unsigned int)time(NULL));
    do
    {
        menu();
        printf("请选择->:\n");
        scanf("%d",&input);
        switch(input)
        {
            case 1:
                game();
                break;
            case 2:
                printf("退出游戏\n");
                break;
            default:
                printf("选择错误,请重新选择!\n");
                break;    
        }
    }
     while(input);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/chris__x/article/details/88846560
今日推荐