游戏蛮牛学习群(纯技术交流,不闲聊):959392658
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:565

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 1081|回复: 12

[脚本] 请教下大佬们~~数组如何实现下面形状....

[复制链接]  [移动端链接]
5熟悉之中
802/1000
排名
5371
昨日变化
3

3

主题

129

帖子

802

积分

Rank: 5Rank: 5

UID
60869
好友
2
蛮牛币
458
威望
0
注册时间
2014-12-12
在线时间
414 小时
最后登录
2018-12-2
QQ
发表于 2018-4-10 11:02:30 | 显示全部楼层 |阅读模式
20蛮牛币
本帖最后由 Mayu 于 2018-4-10 13:10 编辑

122.png

回复

使用道具 举报

6蛮牛粉丝
1016/1500
排名
3836
昨日变化
11

5

主题

283

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
234410
好友
2
蛮牛币
934
威望
0
注册时间
2017-7-26
在线时间
338 小时
最后登录
2018-12-11
发表于 2018-4-10 11:02:31 | 显示全部楼层
按照你的思路 我改了

[C#] 纯文本查看 复制代码
 static int count = 21;
        static int count_c = 10;
        static void Main(string[] args)
        {
            for (var x = 0; x < count; x++)
            {
                Console.WriteLine();
                for (var y = 0; y < count; y++)
                {
                    //右上 左上 左下 右下
                    if (
                        (count_c < x + y && count_c < y - x)
                        || (count_c < x + y && count_c < x - y)
                        || (count_c < x && y > count_c && (x + y >= count + count_c))
                        || (count_c > x + y)
                        )
                    {
                        Console.Write("1");
                    }
                    else
                    {
                        Console.Write("0");
                    }
                }
            }
            Console.ReadKey();

       


        }

回复

使用道具 举报

6蛮牛粉丝
1016/1500
排名
3836
昨日变化
11

5

主题

283

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
234410
好友
2
蛮牛币
934
威望
0
注册时间
2017-7-26
在线时间
338 小时
最后登录
2018-12-11
发表于 2018-4-10 12:15:29 | 显示全部楼层
0 0 1 0 0
0 1 1 1 0
1 1 1 1 1
0 1 1 1 0
0 0 1 0 0

回复

使用道具 举报

5熟悉之中
802/1000
排名
5371
昨日变化
3

3

主题

129

帖子

802

积分

Rank: 5Rank: 5

UID
60869
好友
2
蛮牛币
458
威望
0
注册时间
2014-12-12
在线时间
414 小时
最后登录
2018-12-2
QQ
 楼主| 发表于 2018-4-10 12:24:08 | 显示全部楼层
随幻Kaller 发表于 2018-4-10 12:15
0 0 1 0 0
0 1 1 1 0
1 1 1 1 1

-。-我试着写了下,,但是右下无法处理。。

        static int count = 21;
        static int count_c = 10;
        static void Main(string[] args)
        {
            for (var x = 0; x < count; x++)
            {
                Console.WriteLine();
                for (var y = 0; y < count; y++)
                {
                    //左下、右上、左上、右下
                    if ((count_c < x - y && count_c < y + x)
                        || (count_c <  x + y && count_c < y - x)
                        || (count_c < x + y && count_c < y - x)
                        //  || (count_c > x + y && count_c > y - x)
                        )
                    {
                        Console.Write("1");
                    }
                    else
                    {
                        Console.Write("0");
                    }
                }
            }
            Console.ReadKey();
        }

回复

使用道具 举报

7日久生情
2000/5000
排名
1992
昨日变化
1

8

主题

787

帖子

2000

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
83438
好友
2
蛮牛币
2111
威望
0
注册时间
2015-3-23
在线时间
540 小时
最后登录
2018-12-10
发表于 2018-4-10 17:08:58 | 显示全部楼层
表示不懂

回复

使用道具 举报

5熟悉之中
802/1000
排名
5371
昨日变化
3

3

主题

129

帖子

802

积分

Rank: 5Rank: 5

UID
60869
好友
2
蛮牛币
458
威望
0
注册时间
2014-12-12
在线时间
414 小时
最后登录
2018-12-2
QQ
 楼主| 发表于 2018-4-10 17:22:26 | 显示全部楼层
随幻Kaller 发表于 2018-4-10 13:53
按照你的思路 我改了

[mw_shl_code=csharp,true] static int count = 21;

6666,谢谢~

回复

使用道具 举报

3偶尔光临
223/300
排名
10666
昨日变化
3

0

主题

39

帖子

223

积分

Rank: 3Rank: 3Rank: 3

UID
192579
好友
0
蛮牛币
399
威望
0
注册时间
2016-12-15
在线时间
94 小时
最后登录
2018-6-26
发表于 2018-4-11 17:13:36 | 显示全部楼层
杨辉三角?

回复

使用道具 举报

5熟悉之中
888/1000
排名
14345
昨日变化
5

70

主题

356

帖子

888

积分

Rank: 5Rank: 5

UID
15706
好友
3
蛮牛币
1266
威望
0
注册时间
2014-2-26
在线时间
404 小时
最后登录
2018-12-10
发表于 2018-4-12 09:42:46 | 显示全部楼层
随幻Kaller 发表于 2018-4-10 11:02
按照你的思路 我改了

[mw_shl_code=csharp,true] static int count = 21;

C#控制台程序?unity里跑没效果。
[发帖际遇]: 594915947 被钱袋砸中进医院,看病花了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

6蛮牛粉丝
1016/1500
排名
3836
昨日变化
11

5

主题

283

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
234410
好友
2
蛮牛币
934
威望
0
注册时间
2017-7-26
在线时间
338 小时
最后登录
2018-12-11
发表于 2018-4-12 10:17:29 | 显示全部楼层
594915947 发表于 2018-4-12 09:42
C#控制台程序?unity里跑没效果。

恩 控制台
unity的话一样 弄很多个 Image 摆上 然后原先的控制台输出 变成改变 sprite 即可
[发帖际遇]: 随幻Kaller 在网吧通宵,花了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
1917/5000
排名
817
昨日变化

7

主题

120

帖子

1917

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
106862
好友
1
蛮牛币
6993
威望
0
注册时间
2015-6-9
在线时间
636 小时
最后登录
2018-12-4
发表于 2018-4-16 10:25:07 | 显示全部楼层
            for (int i = -2; i < 3; i++)
            {
                for (int j = -2; j < 3; j++)
                {
                    Console.Write(Math.Abs(i) + Math.Abs(j) < 3 ? "1" : "0");
                }
                Console.WriteLine();
            }
            Console.Read();

回复

使用道具 举报

7日久生情
1917/5000
排名
817
昨日变化

7

主题

120

帖子

1917

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
106862
好友
1
蛮牛币
6993
威望
0
注册时间
2015-6-9
在线时间
636 小时
最后登录
2018-12-4
发表于 2018-4-16 10:27:31 | 显示全部楼层
随幻Kaller 发表于 2018-4-10 11:02
按照你的思路 我改了

[mw_shl_code=csharp,true] static int count = 21;

条件太多了
            for (int i = -2; i < 3; i++)
            {
                for (int j = -2; j < 3; j++)
                {
                    Console.Write(Math.Abs(i) + Math.Abs(j) < 3 ? "1" : "0");
                }
                Console.WriteLine();
            }
            Console.Read();

回复

使用道具 举报

6蛮牛粉丝
1016/1500
排名
3836
昨日变化
11

5

主题

283

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
234410
好友
2
蛮牛币
934
威望
0
注册时间
2017-7-26
在线时间
338 小时
最后登录
2018-12-11
发表于 2018-4-16 13:21:40 | 显示全部楼层
yhx8224 发表于 2018-4-16 10:27
条件太多了
            for (int i = -2; i < 3; i++)
            {

老兄 楼主的意思貌似不是找一个另外一个方法 而是他的代码怎么改 更何况您这个代码也没必要为了减少代码量而“放弃例如初始 i = 0 这种难拓展的方法”而更改

回复

使用道具 举报

排名
63184
昨日变化
192

0

主题

1

帖子

11

积分

Rank: 1

UID
283546
好友
0
蛮牛币
20
威望
0
注册时间
2018-5-31
在线时间
8 小时
最后登录
2018-7-4
发表于 2018-6-21 12:00:24 | 显示全部楼层
[C#] 纯文本查看 复制代码
for (var x = 0; x < count; x++)
        {

            for (var y = 0; y < count; y++)
            {
                //右上 左上 左下 右下
                if (
                    y >= System.Math.Abs(count_c - x) && System.Math.Abs(count_c + (x < count_c ? x : (count_c-(x - count_c)))) >= y
                    )
                {
                    str += "1";
                }
                else
                {
                    str += "0";
                }
                yield return null;
            }
            str += "\n";
            Debug.LogError(str);
        }

有兴趣的话可以看一下,我觉得判断中间的可能要简单一些

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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