条件分岐
練習課題
C#の処理を完成してみましょう
1. 以下のC#のプログラムを完成してください
// ゲームでダメージを受け、残機を確認し、ゲームオーバーかどかう判定する
int hp = 50; // 体力
int lives = 1; // 残機
int damage = 100; // ダメージ
// ダメージを受け、体力を減らす
________________________________________
// もし、体力が0以下だったら...
________________________________________
{
// 残機を一つ減らす
______________________________________
}
// もし、残機がゼロだったら
________________________________________
{
Debug.Log("ゲームオーバー");
}
このプログラムはコンソールで何を表示するか?その出力を書いてください:
2. 以下のC#のプログラムを完成してください
// レースゲームで、チェックポイントを通過することにより、時間切れを延期する
float timeLeft = 8.51; // 残りの時間(秒数)
float raceDistance = 5843.43; //走行距離
float checkPoint01 = 2300; // スタート → チェックポイント1の距離
float checkPoint02 = 1500; // チェックポイント1 → チェックポイント2距離
float goalPoint = 2500; // チェックポイント2 → ゴールまでの距離
// もし、ゴールを超えていたら...
_____________________________________________________
{
Debug.Log("レース終了!");
}
// 一方、もし走行距離がチェックポイント2を超えたら...
_____________________________________________________
{
Debug.Log("チェックポイント2通過!");
timeLeft += 80;
}
// 一方、もし走行距離がチェックポイント1を超えたら...
_____________________________________________________
{
Debug.Log("チェックポイント1通過!");
timeLeft += 60;
}
// 残りの時間を表示
Debug.Log($"残りの時間:{timeLeft}");
このプログラムはコンソールで何を表示するか?その出力を書いてください:
Unityで練習
体重と身長でBMIを計算し、画面で適切な出力を表示しよう(参考:BMIと適正体重 )
![]() |
式:BMI = 体重kg ÷ (身長m)2 |
ヒント:
- 体重と慎重の変数を作成し、適当な数値を代入
- BMIを計算
- if分でBMIの判定し、コンソールで表示
比較の改良
同じ変数をなんども「==」で比較する「switch-case」
次の問題について考えてみてください
サイコロの数値は1から6までの間にして、その値を漢字で表示したい。つまり「1」の場合は「一」、「2」の場合は「二」など。if-elseで作成するとしたら、以下のようなプログラムになる:
// サイコロの値
int dice = 5;
if (dice == 1)
{
Debug.Log("一");
}
else if (dice == 2)
{
Debug.Log("二");
}
else if (dice == 3)
{
Debug.Log("三");
}
else if (dice == 4)
{
Debug.Log("四");
}
else if (dice == 5)
{
Debug.Log("五");
}
else if (dice == 6)
{
Debug.Log("六");
}
else
{
Debug.Log("無効な数値");
}
このプログラムは、カスケードのように「1じゃなければ、2を確認する、2じゃなければ、3を確認する」、次々に「==」で比較するパターンは時々に現れる。この場合は「switch-case」が便利。上のプログラムは以下のようになる:
// サイコロの値
int dice = 5;
switch(dice)
{
case 1: // dice == 1 と同じ
Debug.Log("一");
break;
case 2: // dice == 2 と同じ
Debug.Log("二");
break;
case 3: // dice == 3 と同じ
Debug.Log("三");
break;
case 4: // dice == 4 と同じ
Debug.Log("四");
break;
case 5: // dice == 5 と同じ
Debug.Log("五");
break;
case 6: // dice == 6 と同じ
Debug.Log("六");
break;
default: // elseと同じ
Debug.Log("無効な数値");
break;
}
