private static long CalculateScore(byte chances, long millisec) { int score; byte num1 = chances++; byte num2 = (byte)10; byte num3 = (byte)10; switch (Program.currLevelIndex) { case (byte)7: num2 = (byte)10; break; case (byte)11: num2 = (byte)20; break; case (byte)15: num2 = (byte)40; break; }
if ((int)chances >= 1 && (int)chances <= 3)
num1 = (byte)40;
else if ((int)chances >= 4 && (int)chances <= 6)
num1 = (byte)20;
else if ((int)chances > 7)
num1 = (byte)10;
if (millisec > 480000L)
num3 = (byte)10;
else if (millisec >= 240000L && millisec <= 480000L)
num3 = (byte)20;
else if (millisec < 240000L)
num3 = (byte)40;
try
{
score = Convert.ToInt32((int)num2 * (int)num1 * (int)num3);
}
catch
{
score=0;
}
Console.SetCursorPosition(Program.x, Program.y);
Console.Write("Your Score was: " + score);
}`
错误是CalculateScore&amp;我找不到错误。这是一种方法是工作ou帮助是nedeed。
答案 0 :(得分:2)
private static long CalculateScore
期望返回值为long类型,但您的方法不会返回任何内容。
将以下内容添加到方法的末尾。
return score;
您可能希望将返回类型更改为int
或将分数变量更改为long
private static int CalculateScore(byte chances, long millisec)
{
int score;
byte num1;
或者
private static long CalculateScore(byte chances, long millisec)
{
long score;
byte num1;
答案 1 :(得分:0)
您指定该函数将返回类型long
的值,但没有返回语句在函数末尾返回值
您需要添加
return score;
因为score
是计算的结果