にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

Unityで学ぶプログラミング 夏休みC#の基礎(7)条件分岐

さてさて、前回の続きですよ。

条件分岐

IFをつかって条件分岐させてみましょう。

条件分岐とは、条件によって処理を分けることを言
います。こういう場合は、こうして。ああいう場合
は、アレして。

という形です。

(公式)
if( 条件 ){
真の場合の処理
}else{
偽の場合の処理
}


書く場合、中括弧を落としがちですので、注意しま
しょう。また、プログラミングでは条件の「==」と
「=」では意味が違います。

皆さんの知ってる=は==で表現します。


こんなプログラムを書いてみましょう。

int a;

//数字を代入し

a=Random.Range(1,3);

//条件分岐
if(a==1){
Debug.Log ("ラッキー");
}else{
Debug.Log ("ドンマイ");
}


1から3までの乱数を発生させて、1になった時だけ
「ラッキー」が出てきます。何度も繰り返し再生と停
止を押して、コンソールの表示内容が変わることを確
認してください。

複雑に条件分岐させる

ちょっと難しくなります。あまりにも分岐が多いと面
倒くさいです。

int a;

//英語の点数は
a=Random.Range(0,100);

//条件分岐
if(a>=80){
Debug.Log ("成績は5");
}else if(a>=70){
Debug.Log ("成績は4");
}else if(a>=50){
Debug.Log ("成績は3");
}else if(a>=30){
Debug.Log ("成績は2");
}else{
Debug.Log ("やばいよやばいよ~!");
}


※条件を a>=80ではなく、a>=30から始めるとう
まくいきません。

「数値の大きい方から先に条件を設定する」と、
覚えてください。

スイッチ

同じことを書くのにswitchという構文があります。
これは、結果がわかりやすい(一定数に決まって
いる)ものであれば有効な書き方です。

int a;

a=Ramdom.Range(1,4);

//条件分岐
switch(a){

case 1:
Debug.Log ("大吉");
break;

case 2:
Debug.Log ("中吉");
break;

case 3:
Debug.Log ("大凶");
break;


//それ以外の処理
default:
break;
}

※なお、switch文ではdefault breakがないと、
エラーの処理ができずプログラムが停止する
原因になります。

f:id:koharuwest:20190701223246p:plain


それでは、この続きは次回に!