C语言实战开发(5)——猜数小游戏2.0版

本节内容

写一个猜数小demo。游戏规则:系统会随机产生四个互不相同且已经从小到大排好序的数字。首先玩家输入,如果数字和位置都正确的话,系统就会提示A,如果只有数字正确但位置不正确的话,系统就会提示B。玩家可以根据A和B的个数来推测正确答案,直到游戏结束。
  • 下面让我们愉快地把代码敲起来吧!
首先我们需要产生四个不同的随机数,这个我们在前面的文章已经做过详细的介绍,这里就不再过多的解释啦。
#include 
#include
#include
int main(){
int org[4]={};
    srand(time(NULL));
    for(int i=0;i<4;i++){
        int temp=rand()%9+1;
        if(i==0){
        org[i]=temp;
        }else{
            int j=0;
        for(;j
产生了四个随机数以后,我们需要让它们从小到大排好序。我们可以选用上一篇文章介绍的三种排序方式中的一种。在这我们就用冒泡排序好了。
for(int i=0;i<3;i++){
        for(int j=0;j<3-i;j++){
            if(org[j]>org[j+1]){
                int temp=org[j];
                org[j]=org[j+1];
                org[j+1]=temp;
            }
        }
    }
在提示玩家输入前,我们需要定义一个数组来接收玩家的输入。同时还需要定义两个变量来接收A和B的个数;
int input[4]={};
    int acount;
    int bcount;
接收了玩家的输入后,我们就要和标答进行判断。首先我们先判断数值是否正确,再判断位置是否正确。在每次判断结束后我们就要立即将结果告知玩家,如果acount=4,我们就得结束游戏,break一下。否则就得把acount和bcount清零。
while(1){
        printf("请输入猜测的数字:");
        for(int i=0;i<4;i++){
            scanf("%d",&input[i]);
        }
        for(int i=0;i<4;i++){
            for(int j=0;j<4;j++){
                if(org[i]==input[j]){
                    if(i==j){//判断位置 
                        acount++;
                    }else{
                        bcount++;
                    }
                }
            }
        }
        printf("%dA%dB\n",acount,bcount);
        if(acount==4){
            printf("全对!!!!\n");
            break;
        }else{
            acount=0;
            bcount=0;
        }
    }
    
    return 0;
}
以上就是我们今天全部的代码量啦,看完之后有没有手痒痒想要立刻在电脑上把这段代码敲起来呢?那还等什么,赶紧行动起来吧!

你可能感兴趣的:(C语言实战开发(5)——猜数小游戏2.0版)