走了很多弯路……

为了提高效率,碰见书上的示例,都没有阅读过.都是看这个实例的要求,之后按照自己的思路去实现的.不能实现的时候再参考书上的,实现了就直接跳过书上这部分~

今天无意翻到以前跳过的示例,和自己写的代码对比一下~发现自己好笨~本来很容易实现的东西被我搞得很复杂才实现.看两个例子:

1.一段将52张扑克装进扑克集合中的代码

按我的子路写的代码:
程序代码 程序代码

        private Cards myCards=new Cards();

        public Pai()
        {
            for (int i = 0; i < 52; i++)
            {
                int tempnum = i + 1;
                if (tempnum % 4 == 0)
                {
                    myCards.Add(new Card((HuaSe)(tempnum % 4 + 1), (DaXiao)(tempnum / 4)));
                }
                else
                {
                    myCards.Add(new Card((HuaSe)(tempnum % 4 + 1), (DaXiao)(tempnum / 4 + 1)));
                }
            }
        }  


按照书上的思路写的代码:
程序代码 程序代码
        Cards Mycards = new Cards();
        public Pai()
        {
            for (int ihuase = 1; ihuase < 5; ihuase++)
            {
                for (int idaxiao = 1; idaxiao < 14; idaxiao++)
                {
                    Mycards.Add(new Card((Huase)ihuase, (Daxiao)idaxiao));
                }
            }
        }



2.一段比较两张牌大小的运算符重载的代码:

按我的思路写出来的:
程序代码 程序代码
        public static bool operator >(Card card1, Card card2)
        {
            if (card1 == card2)
            {
                return true;
            }
            else if (Azuida)
            {
                if (Zhu)
                {
                    if (card1.huase == Zhuse)
                    {
                        if (card2.huase == Zhuse)
                        {
                            if (card1.daxiao == (Daxiao)1)
                            {
                                return true;
                            }
                            else
                            {
                                return card1.daxiao > card2.daxiao;
                            }
                        }
                        else
                        {
                            return true;
                        }

                    }
                    else if (card2.huase == Zhuse)
                    {
                        return false;
                    }
                    else
                    {
                        if (card2.huase == card1.huase)
                        {
                            if (card1.daxiao == (Daxiao)1)
                            {
                                return true;
                            }
                            else
                            {
                                return card1.daxiao > card2.daxiao;
                            }
                        }
                        else
                        {
                            return true;
                        }
                    }
                }
                else
                {
                    if (card2.huase == card1.huase)
                    {
                        if (card1.daxiao == (Daxiao)1)
                        {
                            return true;
                        }
                        else
                        {
                            return card1.daxiao > card2.daxiao;
                        }
                    }
                    else
                    {
                        return true;
                    }
                }
            }
            else
            {
                if (Zhu)
                {
                    if (card1.huase == Zhuse)
                    {
                        if (card2.huase == Zhuse)
                        {
                            return card1.daxiao > card2.daxiao;
                        }
                        else
                        {
                            return true;
                        }

                    }
                    else if (card2.huase == Zhuse)
                    {
                        return false;
                    }
                    else
                    {
                        if (card2.huase == card1.huase)
                        {
                            return card1.daxiao > card2.daxiao;
                        }
                        else
                        {
                            return true;
                        }
                    }
                }
                else
                {
                    if (card2.huase == card1.huase)
                    {
                        return card1.daxiao > card2.daxiao;
                    }
                    else
                    {
                        return true;
                    }
                }
            }
        }


按照书上的思路写出来是这样的:
程序代码 程序代码

        public static bool operator >(Card card1, Card card2)
        {
            if (card1.huase == card2.huase)
            {
                if (card1.daxiao == card2.daxiao)
                {
                    return true;
                }
                else
                {
                    if (Azuida)
                    {
                        if (card1.daxiao == (Daxiao)1)
                        {
                            return true;
                        }
                        else
                        {
                            return card1.daxiao > card2.daxiao;
                        }
                    }
                    else
                    {
                        return card1.daxiao > card2.daxiao;
                    }
                }
            }
            else
            {
                if ((Zhu) && (card2.huase == Zhuse))
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
        }


虽然都能实现同样的效果达到同样的目的~但明显,我走了太多弯路

[本日志由 一想千开 于 2008-06-30 11:36 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 2 | 引用: 0 | 查看次数: 324
  • 1
一想千开 [2008-07-24 10:54 PM]
引用来自 你是谁啊 引用来自 你是谁啊
你是谁啊!为什么要破我的网站后台 在我的网站上发了一个代码你是谁啊!为什么要破我的网站后台 我会黑你

你是不是搞错了? 我从来都没有兴趣去破谁的网站,更没有兴趣再谁的网站上发什么代码
你是谁啊 [2008-07-24 10:06 PM]
你是谁啊!为什么要破我的网站后台 在我的网站上发了一个代码你是谁啊!为什么要破我的网站后台 我会黑你
  • 1
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭