論理演算子 パート3
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 24/92。
1つの式で複数の条件を組み合わせることができます。数値が正の数で偶数かどうかを確認するには:
var number := 6
var is_positive := number > 0
var is_even := number % 2 == 0
var result := is_positive and is_even # true追加の変数を使わずに、条件を直接書くこともできます。
var result := number > 0 and number % 2 == 0orでは、条件のうち1つが真であれば十分です。-4は負の数なので、-4が奇数ではないにもかかわらず、これはtrueになります。
var number := -4
var negative_or_odd := number < 0 or number % 2 != 0 # trueGDScriptでは、まずnot、次にand、その次にorが評価されます。括弧を使うと順序が変わります:
var level := 3
var has_key := false
var has_map := true
print(level >= 5 and (has_key or has_map)) # false
print(level >= 5 and has_key or has_map) # true値が範囲内にあることを確認するには、andで結んだ2つの比較を書きます: level >= 1 and level <= 10。GDScriptでは、数学的な形式の1 <= level <= 10はエラーとして報告されます。
チャレンジ
簡単プレイヤーはダンジョンを探索しようとしています。変数 level、has_key、has_map はすでに宣言されています。さらに3つ宣言してください。
can_enter:levelが5以上かつプレイヤーが鍵または地図を持っているcan_find_treasure: プレイヤーが鍵かつ地図を持っていてかつ、levelが10以上is_lost: プレイヤーが鍵も地図も持っていない、またはlevelが3未満
and、or、not を使ってください。与えられた値での出力は次のとおりです。
Can enter: true
Can find treasure: false
Is lost: false自分で試してみよう
extends Node
func _ready():
var level := 7
var has_key := true
var has_map := false
# 以下で can_enter、can_find_treasure、is_lost を宣言してください
# 以下の行は変更しないでください
print("Can enter: ", can_enter)
print("Can find treasure: ", can_find_treasure)
print("Is lost: ", is_lost)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ