ゲームプログラマーの悟です
この記事では
・分岐処理って何?
・分岐処理の基本的な動きについて知りたい
という人の為に、プログラマーとして実際に現場で仕事し教育担当もしていた悟が
・分岐処理の考え方
・分岐処理の使い方
を紹介します
分岐処理やほかの処理についてもまとめた記事がありますので
ぜひ下記の記事も参考にしてみてください
では実際に詳細を説明していきます
分岐処理とは?
if文
正否によって処理が変わるものを分岐処理といいます
プログラムではこの分岐処理をif文で表します
では、書き方を見てみましょう
if(条件){
// 正しかった時の処理
}
これが分岐処理の書き方になります
順次処理の時とは違いif文と呼ばれる構文を用いて書いていきます
この条件式の中にはtrueかfalseを入れることによって、
処理を実行するかどうかを判断しています
trueとfalseはすでにC#だと要約語として存在しているので、
実際にif文に入れて動きを確かめてみましょう
if(true){
Console.WriteLine(“trueになりました”);
}
if(false){
Console.WriteLine(“falseになりました”);
}
これを実際に実行してみると、”trueになりました”は表示されますが、
”falseになりました”は表示されません
if文はtrueの時にしか実行されないことを確認しましょう!
条件式について
trueとfalseを入れることとによってif文{}”中かっこ”の中身が処理されますが、
今のままではどちらかしか選べません
なので、このTrueかFalseかを比較演算子を使用して判断します
比較演算子 | どうなったらtrueを返すか | trueの例 | falseの時 |
< | 左辺が右辺より小さい時 | 2<10 | 3<2, 3<3 |
> | 左辺が右辺より大きい時 | 8>2 | 5>9,5>5 |
<= | 左辺が右辺以下の時 | 3<=5, 3<=3 | 8<=5 |
>= | 左辺が右辺以下の時 | 5>=3, 5>=5 | 3>=5 |
== | 左辺と右辺が等しい時 | 3==3, “あ”==”あ” | 3==2, “あ”==”い” |
!= | 左辺と右辺が異なる時 | 3!=2, “あ”!=”い” | 3!=3, “あ”!=”あ” |
比較演算子がどれがどの意味だったか初心者の頃は迷いますが、
イメージを持てばすぐ思い出せると思います
狭い方 → < ← 広い方
狭い方の値が広い方の値より小さければ正しい
広い方 → > ← 狭い方
広い方の値が狭い方の値より大きければ正しい
左側 → == ← 右側
左側の値と右側の値が等しければ正しい
狭い方 →<= ← 広い方
狭い方の値が広い方の値より小さければ正しい
または
狭い方の値と広い方の値が等しいければ正しい
広い方 →>= ← 狭い方
広い方の値が狭い方の値より小さければ正しい
または
広い方の値と狭い方の値が等しいければ正しい
!側 → != ← イコール側
!がついていたら”=”ではない時に正しい
実際に比較演算子が正否のどちらを返しているのかはログで確認することが出来ます
Console.WriteLine( 10 > 5 ); // 出力結果 true
Console.WriteLine( 4 == 4 ); // 出力結果 true
私もゲームを作っている時、条件式が間違っていないか
ログで確認することがありますので覚えておきましょう!
もちろん、変数を含めても可能です
変数について知りたい場合は
下記の記事も参考にしてみてください▼
実際に変数を使って条件式に加えてみましょう
int sample = 10;
Console.WriteLine(sample > 5); // 出力結果 true
実際は変数同士で比較することが大半ですのでこちらも見てみましょう
// プレイヤーキャラクターのヒットポイント
int hp;// 現在体力
int maxHp;// 最大体力
hp = 50;
maxHp = 50;
Console.WriteLine(hp >= maxHP);// 出力結果 true
このように、変数を用いても正否が変わりますのでいろいろ試してみてください
条件式を含めたif文
条件式についても学んできましたので、実際にif文を書いてみましょう
int age = 20;
if(age >= 20){
Console.WriteLine(”20歳以上なので飲酒が出来ます”);
}
なんで、飲酒を元にしたのかはさておいて、
このように条件式を設定すると、条件式に入れられた”age=>20″が比較され
trueが発生しif文の中身が実行されます
比較対象別によく使う比較演算子
私がよく使う比較演算子のパターンを紹介します
文字列の比較 → ==
値の比較 → >= 又は <=
文字列は確実にその文字列しか許さないことが大半なので”==”を使います
逆に、”==”か”!=”以外は使ったことがないです
値の場合はピッタリその数字になると確証は持てないので”>=”や”<=”を使います
逆に、”==”は予期せぬエラーが発生することがあるのであまり使いません
また、比較演算子については
下記の記事も参考にしてみてください▼
終わりに
if文は条件式によって正否を判定して処理をしています
条件が正しく機能しているかどうかは条件式をログで確認するようにしましょう
今回は、分岐処理の基礎の”き”を紹介しました
分岐処理は説明することが多いので、複数回に分けていきたいと思っております
コメント