在基于文字的游戏中,我正在制作菜单,例如库存和玩家统计数据,如下所示:
| |====================================| |
| | | |
| | | |
| |====================================| |
我想知道是否有可能让它成为一个阵列,在这种情况下,库存可以在这个盒子里打印而不重叠。
基本上,我想要做的就是缩进数组的打印,使其适合这个盒子而不会出现任何问题。
Console.WriteLine("| | Your inventory contains: | |");
for (Arraycount = 0; Arraycount < 20; Arraycount++)
{
int inventory_position = Arraycount + 1;
Console.WriteLine("{0}", Inventory[Arraycount]);
}
答案 0 :(得分:2)
您可以使用具有指定宽度和左对齐的格式字符串:
var items1 = new string[]
{
"Item 1",
"Hello World",
"Here comes trouble aaaaaaaaaaaaaaaaa bbbbbbbbbbbbbb cccccccccccccc dddddddd"
};
Console.WriteLine("| | {0,-60} | |", "Your inventory contains:");
for (int i = 0; i < items1.Length; i++)
{
Console.WriteLine("| | {0,-60} | |", items1[i]);
}
"{0,-60}"
占位符告诉格式化第一个参数(0
),其最小宽度为60
,左对齐(-
60
之前)。
万一你可能厌倦了计算正确数量的边框字符:你可以使用Console.WriteLine("| |{0}| |", new string('=', 62));
作为上边框和下边框,与宽度为60(+2格)的内容很好地对齐。