游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1014|回复: 0

用1维数组判断XO或者五子棋胜负

[复制链接]

3

主题

14

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 2005-1-5 16:56:00 | 显示全部楼层 |阅读模式
int DoWin(int Step)
{
               char xbox[8];               

        int i, j, k, l, x, y;

        for(i=1; i<=4; i++)
        {
                l = 0;
                x = 1;
                y = 1;

                for(j=1; j<=2; j++)
                {
                        k = Step+i*j;
               
                        if(        k <= 8 && x &&
                                (((Step/3 == k/3) && (Step%3 <  k%3) && (i==1)) ||
                                 ((Step/3 <  k/3) && (Step%3 >  k%3) && (i==2)) ||
                                 ((Step/3 <  k/3) && (Step%3 == k%3) && (i==3)) ||
                                 ((Step/3 <  k/3) && (Step%3 <  k%3) && (i==4)) ))
                        {
                                if(xbox[k] == xbox[Step])
                                        l++;
                                else
                                        x = 0;
                        }

                        k = Step-i*j;

                        if(        k >= 0 && y &&
                                (((Step/3 == k/3) && (Step%3 >  k%3) && (i==1)) ||
                                 ((Step/3 >  k/3) && (Step%3 <  k%3) && (i==2)) ||
                                 ((Step/3 >  k/3) && (Step%3 == k%3) && (i==3)) ||
                                 ((Step/3 >  k/3) && (Step%3 >  k%3) && (i==4)) ))
                        {
                                if(xbox[k] == xbox[Step])
                                        l++;
                                else
                                        y = 0;
                        }
                }

                if(l>=2)
                        return 1;
        }

        return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-24 00:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表