目次
概要
特定の条件を満たすかどうかを判断する。
得られる値はBool値(満たしている場合は「True:真」、満たしていない場合は「False:偽」)。
そして、論理演算をする時は以下の二つを頭に入れておく必要がある。
- 比較演算子
- 論理和・論理積・否定
ソースコード
/********************* 比較演算子 *********************/
Console.WriteLine("/********************* 比較演算子 *********************/");
String playerName = "";
bool isInputtedName = playerName.Length == 0;
Console.WriteLine("名前が空欄になっていますか?(名前の文字数が0ですか?)" + isInputtedName);
bool isReleasedQuest = true;
Console.WriteLine("クエストが解放されてないかチェック" + !isReleasedQuest);
int hp = 30;
Console.WriteLine("HPは残っていますか?(HPは0より大きいですか?)" + (hp > 0));
int maxItemCount = 10; // アイテム最大所持数
int itemCount = 10; // アイテム所持数
Console.WriteLine("アイテム欄に空きはありますか?(アイテム所持数はアイテム最大所持数よりも小さいですか?)" + (itemCount < maxItemCount));
int mp = 30;
Console.WriteLine("MPは30ありますか?(MPは30より大きいですか?)" + (mp >= 0));
int attack = 80; // 攻撃力
int defence = 120; // 防御力
Console.WriteLine("ダメージは0にできますか?(攻撃力以上の戊漁猟はありますか?)" + (defence >= attack));
/********************* 論理和・論理積・否定 *********************/
Console.WriteLine("/********************* 論理和・論理積・否定 *********************/");
Console.WriteLine("攻撃力か防御力、どちらか100を超えていますか?)" + (attack > 100 || defence > 100) );
Console.WriteLine("攻撃力か防御力、どちらも100を超えていますか?)" + (attack > 100 && defence > 100) );
String forbiddenName = "DQN"; //属性
Console.WriteLine("不適切な名前が入力されていませんか?" + (forbiddenName != "DQN"));
実行結果
/********************* 比較演算子 *********************/
名前が空欄になっていますか?(名前の文字数が0ですか?)True
クエストが解放されてないかチェックFalse
HPは残っていますか?(HPは0より大きいですか?)True
アイテム欄に空きはありますか?(アイテム所持数はアイテム最大所持数よりも小さいですか?)False
MPは30ありますか?(MPは30より大きいですか?)True
ダメージは0にできますか?(攻撃力以上の戊漁猟はありますか?)True
/********************* 論理和・論理積・否定 *********************/
攻撃力か防御力、どちらか100を超えていますか?)True
攻撃力か防御力、どちらも100を超えていますか?)False
不適切な名前が入力されていませんか?:False
詳細
論理演算は以下の論理演算子を使う。
論理演算子(比較) | 意味 |
A == B | AとBが等しい |
A != B | AとBが等しくない |
A > B | AがBよりも大きい |
A < B | AがBよりも小さい |
A >= B | AはB以上である |
A <= B | AはB以下である |
論理演算子 | 意味 |
A || B | AまたはB(AとBどちらかを満たす) |
A && B | AかつB(AとBの両方を満たす) |
!A | Aではない |
これらを使って、現在の状況に応じて処理を分岐させていくことに役立つ。