Я пытаюсь изменить свой код, чтобы функцию переключения можно было поместить в другой метод, но использовать ее в первом методе.
Вот код контекста: р>
static void Main(string[] args)
{
int FP = 20;
int CHA = 8;
int STR = 8;
int AGI = 8;
int PERC = 8;
int END = 8;
int HP = AGI * 3;
int thug = 10;
int TD = 2;
while (FP > 0)
{
Console.WriteLine("Your Current Stats: " + "\nCHA: " + CHA + "\nSTR: " + STR + "\nAGI: " + AGI + "\nPERC: " + PERC + "\nEND: " + END + "\nHP: " + HP);
Console.WriteLine("You have " + FP + " free points left.");
Console.WriteLine("");
Console.WriteLine("Allows for adding up to in 1, 5, and 10's. Add the number after the stat. Examples: CHA1, CHA5 CHA10");
Console.WriteLine("");
Console.WriteLine("Where would you like to apply your Free Points: |CHA|:Charisma, |STR| Strength, |AGI|:Aglility, |PERC|:Perception, |END|:Endurance");
string points = Console.ReadLine();
points = points.ToUpper();
switch (points)
{
case "CHA1":
CHA++;
FP--;
break;
case "CHA5":
CHA = CHA + 5;
FP = FP - 5;
break;
case "CHA10":
CHA = CHA + 10;
FP = FP - 10;
break;
case "STR1":
STR++;
FP--;
break;
case "STR5":
STR = STR + 5;
FP = FP - 5;
break;
case "STR10":
STR = STR + 10;
FP = FP - 10;
break;
case "AGI1":
AGI++;
FP--;
break;
case "AGI5":
AGI = AGI + 5;
FP = FP - 5;
break;
case "AG10":
AGI = AGI + 10;
FP = FP - 10;
break;
case "PERC1":
PERC++;
FP--;
break;
case "PERC5":
PERC = PERC + 5;
FP = FP - 5;
break;
case "PERC10":
PERC = PERC + 10;
FP = FP - 10;
break;
case "END1":
END++;
HP = HP + 8;
FP--;
break;
case "END5":
END = END + 5;
HP = HP + 40;
FP = FP - 5;
break;
case "END10":
END = END + 10;
HP = HP + 80;
FP = FP - 10;
break;
default:
Console.WriteLine("That is not a stat.");
break;
}
}
Я записал следующее:
static string response(int CHA, int STR, int AGI, int PERC, int END, int HP, int FP, string points)
{
while (FP > 0)
{
switch (points)
{
case "CHA1":
CHA++;
FP--;
break;
case "CHA5":
CHA = CHA + 5;
FP = FP - 5;
break;
case "CHA10":
CHA = CHA + 10;
FP = FP - 10;
break;
case "STR1":
STR++;
FP--;
break;
case "STR5":
STR = STR + 5;
FP = FP - 5;
break;
case "STR10":
STR = STR + 10;
FP = FP - 10;
break;
case "AGI1":
AGI++;
FP--;
break;
case "AGI5":
AGI = AGI + 5;
FP = FP - 5;
break;
case "AG10":
AGI = AGI + 10;
FP = FP - 10;
break;
case "PERC1":
PERC++;
FP--;
break;
case "PERC5":
PERC = PERC + 5;
FP = FP - 5;
break;
case "PERC10":
PERC = PERC + 10;
FP = FP - 10;
break;
case "END1":
END++;
HP = HP + 8;
FP--;
break;
case "END5":
END = END + 5;
HP = HP + 40;
FP = FP - 5;
break;
case "END10":
END = END + 10;
HP = HP + 80;
FP = FP - 10;
break;
default:
Console.WriteLine("That is not a stat.");
break;
}
}
return points;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... ent-method