C# 我需要做一个棋盘游戏,20乘20网格上的每一块棋盘都应该是';我们有自己的瓷砖类。这是目前的控制台

C# 我需要做一个棋盘游戏,20乘20网格上的每一块棋盘都应该是';我们有自己的瓷砖类。这是目前的控制台,c#,arrays,list,for-loop,C#,Arrays,List,For Loop,我正在努力使我的板由我的tile类的许多单独实例组成。这就是我到目前为止所尝试的 我最终也希望动物能在黑板上移动,但那是以后的事了 class Tile { public int xAxis = 0; public int yAxis = 0; public string type = "blank"; public Tile(int xAxis, int yAxis, string type) { this.xAxis = xAxis;

我正在努力使我的板由我的tile类的许多单独实例组成。这就是我到目前为止所尝试的

我最终也希望动物能在黑板上移动,但那是以后的事了

class Tile
{
    public int xAxis = 0;
    public int yAxis = 0;
    public string type = "blank";

    public Tile(int xAxis, int yAxis, string type)
    {
        this.xAxis = xAxis;
        this.yAxis = yAxis;
        this.type = type;
    }
}

class Program
{
    static void Main(string[] args)
    {
        int width = 20;
        int height = 20;

        int[,] grid = new int[20, 20];

        grid[2, 3] = 3;
        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < height; y++)
            {
                Console.Write(grid[x, y] + "");
            }
            Console.WriteLine();
        }
        Console.ReadLine();
    }
}
类平铺
{
公共int xAxis=0;
公共int yAxis=0;
公共字符串type=“blank”;
公共磁贴(int-xAxis、int-yAxis、字符串类型)
{
this.xAxis=xAxis;
this.yAxis=yAxis;
this.type=type;
}
}
班级计划
{
静态void Main(字符串[]参数)
{
整数宽度=20;
整数高度=20;
整数[,]网格=新整数[20,20];
网格[2,3]=3;
对于(int x=0;x
我建议您基于设计模式状态来完成项目

因为我知道你是一个初学者,所以我给你做了一个完全有效的例子,你可以根据你的项目,理解它,继续你的工作,添加你想要添加的动物行为

这是一个游戏,其中瓷砖根据其邻居和初始状态而变化。 你也可以在我给你留下的评论中看到良好的实践

C#中简单棋盘游戏的GitHub链接如下:

玩得开心,我希望我能帮上忙


干杯

您永远不会调用
Tile
类的构造函数。也许您希望网格的类型为Tile[20,20]而不是int[20,20]?Corentin的评论是正确的,但我们可以走得更远。您制作了一个类
Tile
来表示Tile,但从未制作过一个类
Board
来表示Board。人们认为“关注点分离”之类的想法对初学者来说太复杂了,但这是错误的;对于初学者来说,代码更容易,因为代码的每一部分都专门用来做一件事。制作一个班级
,问问自己什么东西组成了一个板;如果是“瓷砖集合”,则在
类内制作瓷砖集合。等等