游戏开发论坛

 找回密码
 立即注册
搜索
楼主: FlyMagic

老子纵横程序界无数年,第一次看到这么变态的语法

[复制链接]

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2006-12-30 16:58:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

单就这段代码来说是没有道理,但不要轻易嘲笑这种结构。
也许那老弟考虑得反倒更远一些呢,比如想到了将来可能需要在
dr = ......;
break;
两句之间加上某些不同的控制语句......

2

主题

48

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2006-12-30 17:25:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

同意楼上
他可能考虑了用字段名来访问,但情况变化了,一时没有改过来而已

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-12-30 18:21:00 | 显示全部楼层

Re: Re:老子纵横程序界无数年,第一次看到这么变态的语法

我反对!
系统崩溃:
dr = ......;
break;
可能要在两句之间加上某些不同的控制语句......


那也完全一样啊。
如果 for 每次都只执行一个,
那跟直接写上去是《完完全全》一样的啊

两句之间加任何控制语句,也都是一样吧?

2

主题

52

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2006-12-30 18:46:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

搂主的程序的确强

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2006-12-31 09:06:00 | 显示全部楼层

Re: Re: Re:老子纵横程序界无数年,第一次看到这么变态的

snhun: Re: Re:老子纵横程序界无数年,第一次看到这么变态的语法

我反对!


那也完全一样啊。
如果 for 每次都只执行一个,
那跟直接写上去是《完完全全》一样的啊

两句之间加任何控制语句,也都是一样吧?


唉!好吧!那就算他此外还要在输入字段时有一个共同的控制语句吧!

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2006-12-31 18:46:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

难道就没有人想到过,这种写法,如果前面是select出来的结果,可以动态支持0-6个字段的结果集喔~~~~

41

主题

305

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
QQ
发表于 2006-12-31 21:00:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

。。。。

20

主题

465

帖子

472

积分

中级会员

Rank: 3Rank: 3

积分
472
QQ
 楼主| 发表于 2007-1-1 11:48:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

我曾经用过类似的。

  for (int i = 0; i < g_card_num; ++i)
  {
    // 一样的赤铁卡在游戏中会出现4张,青铜的会出现3次,白银2次,黄金卡是唯一的,只出现一次
    switch (g_cards.level)
    {
    case LEVEL_IRON:
      g_card_list_num += 4;
      break;
    case LEVEL_BRONZE:
      g_card_list_num += 3;
      break;
    case LEVEL_SILVER:
      g_card_list_num += 2;
      break;
    case LEVEL_GOLDEN:
      g_card_list_num += 1;
      break;
    }
  }
  // 给卡片队列分配空间并安排卡片
  g_card_list = new int[g_card_list_num];
  int count = 0;
       
  for (int i = 0; i < g_card_num; ++i)
  {
    switch (g_cards.level)
    {
    case LEVEL_IRON: // fall through
      g_card_list[count++] = i;
    case LEVEL_BRONZE: // fall through
      g_card_list[count++] = i;
    case LEVEL_SILVER: // fall through
      g_card_list[count++] = i;
    case LEVEL_GOLDEN:
      g_card_list[count++] = i;
      break;
    }
  }

1

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2007-1-3 23:13:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

到了20楼才看清楚他写的代码是干嘛的,真是寒啊!

拜一下能够敢写这样代码给公司的人

0

主题

10

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2007-2-13 15:33:00 | 显示全部楼层

Re:老子纵横程序界无数年,第一次看到这么变态的语法

这位朋友真是牛人啊,受其启发,本人也尝试仿作了一段代码,欢迎大家指正。

DataRow dr = dt_CityResource.NewRow();
        for (int i = 0; i < 6; i++)
        {
            if( i== 0)
            {
                    dr = res.name;
            }
            else if ( i == 1)
            {
                    dr = rb.name;
            }
            else if ( i == 2)
            {
                    dr = level;
            }
            else if ( i == 3)
            {
                    dr = level * rb.number;
            }
            else if ( i == 4)
            {
                    dr = rb.product;
            }
            else if ( i == 5)
            {
                    dr = process;
            }
        }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-12 15:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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