【发布时间】:2015-11-23 11:59:20
【问题描述】:
这是我们在控制台应用程序中构建魔术盒游戏的示例,它应该从用户那里获取大小,然后生成用户输入的大小的矩阵,填充以 1 开头的数字适合这个角色的大小:
- 第一个数字(1)应该写在第一行的中间列
- 然后我们将检查最近输入的 num % size 是否不等于 0;然后我们将最小化行、列并放入第二个数字
- if (num% size ==0) row++
大小为 3 的输出屏幕示例:
Console.Clear();
int number;
do
{
Console.Write("Please Enter Odd Number :");
number=int.Parse(Console.ReadLine());
} while (number % 2 == 0);
Console.Clear();
Console.SetCursorPosition(25, 3);
int col = 0;
int row = 1;
double x = (number / 2) + 1;
col = (int)x;
Console.SetCursorPosition(col*3 + 25, row + 3);
Console.Write(1);
for (int i = 1; i < number*number; i++)
{
if (i % number != 0)
{
if (col==1)
{
col = number;
}
else
{
col--;
}
if (row == 1)
{
row = number;
}
else
{
row--;
}
Console.SetCursorPosition(col*3 + 25, row+3);
Console.Write(i+1);
}
else if (i % number == 0)
{
if (row == number)
{
row = 1;
}
else
{
row++;
}
Console.SetCursorPosition(col *3+ 25, row + 3);
Console.Write(i+1);
}
}
Console.SetCursorPosition(27, 27);
我真正不明白的是,当我们设置位置时,为什么它是多次 col 乘以 3+ 25?!
【问题讨论】:
-
很难理解您的要求,也很难理解您的实际问题是什么
-
可能是因为
col*3 + 25在整个代码中多次出现。这是别人的代码吗?你问为什么要这样写?我也很难理解这个问题。 -
是的,这是别人的代码,我想知道格式化代码是如何在图片中的这个位置运行输出的?
-
整个代码中的位置有 25...所以我猜 25 是矩阵表在屏幕上绘制的“开始”位置。
-
我认为是这样,但我不明白为什么它在 col 集合位置使用多个,以及为什么在行中求和