static int CountMinesLeft(string[,] board, string[,] visibilityArray, int count)
{
if (visibilityArray.Length == 81)
{
count = 10;
}
else if (visibilityArray.Length == 256)
{
count = 40;
}
else if (visibilityArray.Length == 480)
{
count = 99;
}
for (int i = 0; i < board.GetLength(0); i++)
{
for (int p = 0; p < board.GetLength(1); p++)
{
if (visibilityArray[i, p] == "2")
{
count--;
}
}
}
return count;
}
static void PrintMinesLeft(string[,] board, string[,] visibilityArray)
{
Console.SetCursorPosition(11, 0);
Console.WriteLine(CountMinesLeft(board, visibilityArray, 0));
}
Это часть игры «Сапер».Метод возвращает два значения (друг на друга)
В этом методе я должен сделать минный счетчик. Если трудность равна 1 (81), 2 (256), 3 (480), счет мины должен быть 10, 40, 99. Проблема здесь в том, что она возвращает два значения (10 и count--, 40 и count - , 99 и count--), и мне нужен только вычитаемый из цикла.
Редактировать: по нескольким значениям я имею в виду, что на выходе есть, например, 10
, а сверху 10
вычитается. Вот картина http://s22.postimg.org/3vp1ujo71/8shit.png
Ваш метод возвращает одно значение 'int', а не два. Сначала вы устанавливаете значение счетчика, затем уменьшаете значение в несколько раз, а затем возвращаете окончательный результат. Неясно, что вы подразумеваете под «возвращает два значения». –
Ну на выходе есть счет, и на том же месте поверх него есть уменьшающийся счет. –