首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用循环打印数组的每一行,以便将图形映射到板上

如何使用循环打印数组的每一行,以便将图形映射到板上
EN

Stack Overflow用户
提问于 2015-08-30 03:35:37
回答 1查看 784关注 0票数 0

我正在尝试使用c#和visual studio制作一个棋盘,它可以根据输入进行移动,类似于国际象棋。我不确定这是否是最好的方法,但我正在尝试使用一个4x42d数组来绘制一个带有可以修改的位值的网格。我的问题的焦点是如何使用4x4图形构建后的循环打印出完整的网格,其中不仅行"a“和列"1”的占位符显示数组值。同样,使用二维数组来绘制具有每个空间上的值的电路板是明智的,还是更容易手动制作电路板并使用手动绘制的电路板为每个数组赋值。这是一个控制台项目,我现在只是在寻找代码的基础,我的总体目标是类似于棋盘游戏的风险。我应该补充一点,我对编程是个新手,任何关于我应该使用什么和不应该使用什么的建议都是有帮助的。我已经标出了我计划使用的原始代码,其中x和y将使用循环来生成"[]“来显示图形,因为我意识到它不会标记4x4图形的每个占位符。

代码语言:javascript
复制
 class game
{
    int[,] board;
    string y;
    int x;

    static void Main(string[] args)
    {

        //for (int y = 0; y < 6; y++)
        {
         //   Console.Write("[]");
        }

        //for (int x = 0; x < 6; x++)
        {
          //  Console.WriteLine("[]");
        }


        int[,,] map = new int[,,]{
            {
            {0,0}, {1,0}, {2,0}, {3,0},
            {0,1}, {1,1}, {2,1}, {3,1}
            }
        };


        foreach (var item in map)
        {
            Console.Write("[" + item.ToString() + "]");
        }

        Console.ReadKey();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-08-30 03:46:12

在写这篇文章的时候,我试图让它变得尽可能高效。所以就像这样:

代码语言:javascript
复制
    int[,,] map = new int[,,]{
        {
        {0,1,2,3},
        {0,1,2,3},
        {0,1,2,3},
        {0,1,2,3}
        }
    };


int width = map.GetLength(0);
int height = map.GetLength(1);
    for(int i=0;i < width;i++)
    {
       for(int j=0;j < height;j++)
       {

                Console.Write("[" + map[i,j] + "]");
       }
     Console.Write("\n");
    }

\n表示C#中的新行。每次你在一个维度中删除一个finish数组,它都会打印一个新的行。

我更喜欢使用for而不是foreach,因为对于这种情况,它更快。Foreach用于对象,for用于更多的数学问题。

当然,你可以按你认为合适的方式改变它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32289989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档