Skip to main content

メソッド

練習問題

C#を読みましょう

int Sum(int a, int b)
{
    return a + b;
}

説明:

2つの整数(aとb)を足して、その結果を整数として返す
int Max(int a, int b)
{
    if (a > b)
        return a;
    else
        return b;
}
答え

2つの整数(aとb)の最も大きい数値(最大値)を返す

bool CheckHasItem(string[] itemList, string item)
{
    for (int i = 0; i < itemList.Length; i++)
    {
        if (itemList[i] == item)
            return true;
    }
    return false;
}
答え

「itemList」配列の中に、「item」という文字列が入っているかどうかを確認し、あったら「true」を返し、なければ、「false」を返す。つまり、アイテム存在しているかどうかを確認。

 

Unityで練習

1.配列で作った「最も長いフルーツ」のスクリプトを更新し、「FindLongString」というメソッドにしよう。配列を引数として渡し、最も長い文字列を返すようにてください。

使い方の例:

void Start()
{
    string [] fruits = ["lemon", "mikan", "orange", "grapefruit", "kiwi"];

    // このメソッドを作ってください
    string maxFruit = FindLongString(fruits);   

    // grapefruitを表示されるはず
    Debug.Log($"最も長いフルーツ名は: {maxFruit}");
}

// ここからメソッドを作る...
答え
// 最も長い文字列を探索
string FindLongString (string [] fruits)
{
   // 最も長い文字列
    string maxFruit = "";
    
    // フルーツ1個ずつ確認
    foreach(string f in fruits)
    {
        // もし、今回のフルーツ名の方が長ければ
        if (f.Length > maxFruit.Length)
        {
            // 最も長いフルーツを更新
            maxFruit = f;
        }
    }

   // 結果を返す
    return maxFruit;
}

 


2.「じゃんけん」ゲーム結果の判定メソッド「CheckJanken」を作成してみてください。

 前提条件:

    グーは「0」、チョキは「1」、パーは「2」として表現する グー、チョキ、パー(0, 1, 2)以外の数値入れたら、エラーを返す プレーヤーは2人(AとB) 判定の結果は:Aの勝ち:1、Bの勝ち:2、ひきわけ:0、エラー:-1 メソッド名:CheckJanken
      引数:各プレーヤーの選択肢 戻り値:判定の結果

      使い方の例1(Aの勝ち)

      void Start()
      {
        int playerA = 1; // チョキ
        int playerB = 2; // パー
        int result = CheckJanken(playerA, playerB); // 1を返す(Aの勝ち)
        Debug.Log (result)
      }

      使い方の例2(Bの勝ち)

      void Start()
      {
        int playerA = 0; // グー
        int playerB = 2; // パー
        int result = CheckJanken(playerA, playerB); // 2を返す(Bの勝ち)
        Debug.Log(result);
      }

      使い方の例3(あいこ)

      void Start()
      {
        int playerA = 2; // パー
        int playerB = 2; // パー
        int result = CheckJanken(playerA, playerB); // 0を返す(あいこ)
        Debug.Log(result);
      }

      使い方の例4(エラー)

      void Start()
      {
        int playerA = 4; // ???
        int playerB = 2; // パー
        int result = CheckJanken(playerA, playerB); // -1を返す(エラー)
        Debug.Log(result);
      }
      答え
      // じゃんけんの結果の判定を求める
      // playerA: プレーヤーAの選択肢(0:グ, 1:チョキ, 2:パー)
      // playerB: プレーヤーBの選択肢(0:グ, 1:チョキ, 2:パー)
      // 戻り値:
      //  -1:エラー(無効な選択肢)
      //   0:あいこ
      //   1:プレーヤーAの勝ち
      //   2:プレーヤーAの勝ち
      int CheckJanken (int playerA, int playerB)
      {
          // エラーを確認(プレーヤーA)
          if (playerA < 0 || playerA > 2)
          {
              return -1;
          }
         // エラーを確認(プレーヤーB)
          if (playerB < 0 || playerB > 2)
          {
              return -1;
          }
          
          // あいこ
          if (playerA == playerB)
          {
              return 0;
          }
          
          // プレーヤーAの勝ち
          if ((playerA == 0 && playerB == 1) || (playerA == 1 && playerB == 2) || (playerA == 2 && playerB == 0))
          {
              return 1;
          }
          
          // プレーヤーBの勝ちしかのこらない!
          return 2;
      }