签到

06月21日
尚未签到

共有回帖数 0

    顾我心安

    等级:
    本人菜鸟,没有看别的代码,都是自己写的,所以效率可能很差,没用到指针,因为还没学到

    #include stdafx.h

    #define N 10

    int shu(char qipan[][N]);
    int hen(char qipan[][N]);
    int xie_1(char qipan[][N]);
    int xie_2(char qipan[][N]);

    void main(void)
    {
        char qipan[N][N]={};
        int i,x,y;
        for(y=0;yN;y++)
        {
            for(x=0;xN;x++)
                qipan[y][x]='*';
        }
        for(y=0;yN;y++)
        {
            for(x=0;xN;x++)
                printf("%2c",qipan[y][x]);
            printf("n");
        }
        printf("----------------------------------------n");
        while(1)
        {
            printf("1P下子:");
            scanf("%d,%d",&y,&x);
            while(qipan[y][x]=='+'||qipan[y][x]=='-')
            {
                for(y=0;yN;y++)
                {
                    for(x=0;xN;x++)
                        printf("%2c",qipan[y][x]);
                    printf("n");
                }
                printf("%d,%d上已有旗子,请重新下子:",y,x);
            printf("----------------------------------------n");
                scanf("%d,%d",&y,&x);
            }
            qipan[y][x]='+';
            for(y=0;yN;y++)
            {
                for(x=0;xN;x++)
                    printf("%2c",qipan[y][x]);
                printf("n");
            }
            printf("----------------------------------------n");
     if(shu(qipan)==1)
            {
                printf("1P胜利n");
                break;
            }
            if(hen(qipan)==1)
            {
                printf("1P胜利n");
                break;
            }
            if(xie_1(qipan)==1)
            {
                printf("1P胜利n");
                break;
            }
            if(xie_2(qipan)==1)
            {
                printf("1P胜利n");
                break;
            }
            printf("2P下子:");
            scanf("%d,%d",&y,&x);
            while(qipan[y][x]=='+'||qipan[y][x]=='-')
            {
                for(y=0;yN;y++)
                {
                    for(x=0;xN;x++)
                        printf("%2c",qipan[y][x]);
                    printf("n");
                }
                printf("%d,%d上已有旗子,请重新下子:",y,x);
                scanf("%d,%d",&y,&x);
            }
            qipan[y][x]='-';
            for(y=0;yN;y++)
            {
                for(x=0;xN;x++)
                    printf("%2c",qipan[y][x]);
                printf("n");

      }
            printf("----------------------------------------n");
            if(shu(qipan)==1)
            {
                printf("2P胜利n");
                break;
            }
            if(hen(qipan)==1)
            {
                printf("2P胜利n");
                break;
            }
            if(xie_1(qipan)==1)
            {
                printf("2P胜利n");
                break;
            }
            if(xie_2(qipan)==1)
            {
                printf("2P胜利n");
                break;
            }
        }
    }

    int shu(char qipan[][N])
    {
        int y,x,w,i,j;
        for(y=0;yN-1;y++)
        {
            for(x=0;xN;x++)
            {
                w=0;
                i=y;
                j=x;
                while(qipan[x]=='+')
                {
                    w++;
                    i++;
                    if(w==5)
                        return 1;
                }
                w=0;
                while(qipan[x]=='-')
                {



                 w++;
                    i++;
                    if(w==5)
                        return 1;
                }
            }
        }
        return 0;
    }

    int hen(char qipan[][N])
    {
        int y,x,w,i,j;
        for(y=0;yN;y++)
        {
            for(x=0;xN-1;x++)
            {
                w=0;
                i=y;
                j=x;
                while(qipan[y]=='+')
                {
                    w++;
                    i++;
                    if(w==5)
                        return 1;
                }
                w=0;
                while(qipan[y]=='-')
                {
                    w++;
                    i++;
                    if(w==5)
                        return 1;
                }
            }
        }
        return 0;
    }

    int xie_1(char qipan[][N])
    {
        int y,x,w,i,j;
        for(y=0;yN-1;y++)
        {
            for(x=0;xN-1;x++)
            {


        w=0;
                i=y;
                j=x;
                while(qipan[j]=='+')
                {
                    w++;
                    i++;
                    j++;
                    if(w==5)
                        return 1;
                }
                w=0;
                while(qipan[j]=='+')
                {
                    w++;
                    i++;
                    j++;
                    if(w==5)
                        return 1;
                }
            }
        }
        return 0;
    }

    int xie_2(char qipan[][N])
    {
        int y,x,w,i,j;
        for(y=1;yN;y++)
        {
            for(x=0;xN-1;x++)
            {
                w=0;
                i=y;
                j=x;
                while(qipan[j]=='+')
                {
                    w++;
                    i++;
                    j--;
                    if(w==5)
                        return 1;
                }
                w=0;
                while(qipan[j]=='+')
                {
                    w++;
                    i++;
                    j--;
                    if(w==5)
                        return 1;
                }
            }
        }
        return 0;
    }

    楼主 2015-12-17 16:35 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知