| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 970 人关注过本帖
标题:猜数字小游戏//试着写,不怎么漂亮
只看楼主 加入收藏
Tendy
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-9-19
结帖率:100%
收藏
 问题点数:0 回复次数:3 
猜数字小游戏//试着写,不怎么漂亮
[之前看到论坛上有发过猜数字的小游戏,感兴趣就自己写了下,因为是新人,花了好久,写的也不怎么漂亮,不过至少跑得起来
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define X 0
#define Y 9
#define MAX 7

void main()
{
    int n,m;
    int Num_source[4],Num_purpose[4];
    int a,b,life,i_source,i_purpose;

    printf("游戏初始化...\n");
    //随机函数
    for(i_source=0;i_source<4;i_source++)
    {
re:        srand((unsigned)time(NULL));
        n=rand()%(Y-X+1)+X;
        for(m=0;m<i_source;m++)
        {
            if(n==Num_source[m])
                goto re;
            else continue;
        }
        Num_source[i_source]=n;
    }
    printf("初始化成功!\n");
    printf("请输入一个四位数,如1234:\n");
    //printf("%d%d%d%d\n",Num_source[0],Num_source[1],Num_source[2],Num_source[3]);


    //数据对比
    for(life=0;life<MAX;life++)
    {
        a=0,b=0;
        
        //键盘输入
        for(i_purpose=0;i_purpose<4;i_purpose++)
            Num_purpose[i_purpose]=((int)getchar()-48);
        fflush(stdin);

        for(i_purpose=0;i_purpose<4;i_purpose++)
            if(Num_purpose[i_purpose]>9||Num_purpose[i_purpose]<0)
            {
                if(life<MAX-1)
                {
                    printf("输入错误,请重新输入:\n");
                    fflush(stdin);
                    goto lp2;
                }
                else    goto lp2;
            }

        for(i_source=0;i_source<4;i_source++)
            for(i_purpose=0;i_purpose<4;i_purpose++)
                if(Num_purpose[i_purpose]==Num_source[i_source])
                {
                    if(i_purpose==i_source)
                        a++;
                    else b++;
                }
        if(a==4)
        {
            printf("恭喜你答对了!\n");
            break;
        }
        else 
        {
            if(life<MAX-1)
            {
                printf("%dA%dB\n",a,b);
                printf("回答错误,请重新输入:\n");
            }
            else printf("%dA%dB\n",a,b);
        }
        if(0)
lp2:        continue;
    }
    if(a!=4)
        printf("GAME OVER !\n");
}



学会了个新函数,fflush(stdin);用于缓存清空的
搜索更多相关主题的帖子: 小游戏 漂亮 color 
2011-09-30 00:32
Tendy
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-9-19
收藏
得分:0 
专家路过求指导,求精简,求规范,求私MMMMMMMMMMMMMMM
2011-09-30 00:34
thlgood
Rank: 5Rank: 5
等 级:职业侠客
帖 子:281
专家分:381
注 册:2010-9-24
收藏
得分:0 
居然在用goto语句。。。。

o(∩∩)Linux & Python 群:187367181
2011-09-30 00:49
Tendy
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-9-19
收藏
得分:0 
回复 3楼 thlgood
要不然那个怎么跳?
2011-10-01 12:38
快速回复:猜数字小游戏//试着写,不怎么漂亮
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020707 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved