1
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であり、間違いを見つけることができません。これは、作業を行うための方法です。ヘルプが必要です。

4

2 に答える 2

2

private static long CalculateScorelong型の戻り値を期待していますが、メソッドは何も返しません。

メソッドの最後に以下を追加します。

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;
于 2012-05-27T13:01:33.910 に答える
0

関数がタイプの値を返すように指定しましたがlong、関数の最後に値を返すreturnステートメントがありません

追加する必要があります

return score;

score計算の結果として

于 2012-05-27T13:02:58.093 に答える