首先,我想创建一个" oldschool"使用控制台在c#中使用桌面游戏。
我已经创建了一个2维数组,其中包含我希望控制台显示为控制台的字段,您可以在其中移动您的英雄"。
Feld[,] result = new Feld[,] {
{null,null,null,null,null,null,null,null,new Feld(Richtungen.UNTEN),null,null,null,null,null,null,null,null },
{new Feld(Richtungen.UNTEN|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.OBEN|Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.UNTEN|Richtungen.LINKS) },
{new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN) },
{new Feld(Richtungen.OBEN|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.UNTEN|Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.OBEN|Richtungen.LINKS) },
{null,null,null,null,null,null,null,null,new Feld(Richtungen.UNTEN|Richtungen.OBEN),null,null,null,null,null,null,null,null },
{null,null,null,null,null,null,new Feld(Richtungen.RECHTS|Richtungen.UNTEN),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.LINKS|Richtungen.OBEN|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.LINKS|Richtungen.UNTEN),null,null,null,null,null,null },
{null,null,null,null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,null,null,null },
{null,null,null,null,new Feld(Richtungen.UNTEN|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.UNTEN),null,null,null,null },
{null,null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,null,null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,null },
{null,null,new Feld(Richtungen.UNTEN|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.LINKS|Richtungen.OBEN|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS|Richtungen.UNTEN),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS|Richtungen.UNTEN),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.RECHTS|Richtungen.LINKS|Richtungen.OBEN),new Feld(Richtungen.RECHTS|Richtungen.LINKS),new Feld(Richtungen.LINKS|Richtungen.UNTEN),null,null },
{null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null,null,new Feld(Richtungen.OBEN|Richtungen.UNTEN),null,null },
{new Feld(Richtungen.UNTEN|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.OBEN),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.UNTEN),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.OBEN),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.UNTEN|Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.OBEN),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.UNTEN),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.OBEN),new Feld(Richtungen.LINKS|Richtungen.RECHTS),new Feld(Richtungen.LINKS|Richtungen.UNTEN) },
{new Feld(Richtungen.UNTEN|Richtungen.OBEN),null,null,null,new Feld(Richtungen.UNTEN|Richtungen.OBEN),null,null,null,new Feld(Richtungen.UNTEN|Richtungen.OBEN),null,null,null,new Feld(Richtungen.UNTEN|Richtungen.OBEN),null,null,null,new Feld(Richtungen.UNTEN|Richtungen.OBEN) },
{new Feld(Richtungen.OBEN|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.UNTEN,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.OBEN,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.UNTEN,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.OBEN|Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.UNTEN,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.OBEN,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS|Richtungen.UNTEN,false),new Feld(Richtungen.LINKS|Richtungen.RECHTS,false),new Feld(Richtungen.LINKS|Richtungen.OBEN,false) }
};
Null是空格,Feld(Richtungen.XYZ)表示在方向中写入连接的字段。 (Richtungen.Oben = Direction.Up中的连接)。
现在我遇到了一个问题 - 我不知道如何将我的数组放入控制台。
答案 0 :(得分:1)
您需要使用两个For
循环来运行数组并使用Console.Write()
绘制Board。
class Program
{
static void Main(string[] args)
{
Feld[,] result = new Feld[,] { } ;
for (int x = 0; x < 100; x++)
{
for (int y = 0; y < 100; y++)
{
if (result[x, y].IsFilled)
{
Console.Write("x");
}
else
{
Console.Write("O");
}
}
Console.Write(Environment.NewLine);
}
Console.Read();
}
}
public class Feld
{
public bool IsFilled { get; set; }
public Feld(bool isFill)
{
IsFilled = isFill;
}
}
使用Properties
和if
语句来决定需要打印的内容。将100
值更改为数组的X和Y长度。
答案 1 :(得分:1)
尝试这样的事情:
for (int y = 0 y < result.GetLength(1); y++)
{
for (int x = 0 x < result.GetLength(0); x++)
{
Console.Write(result[x,y]?.ToString())
}
Console.WriteLine();
}