Menu
CoddyTech

論理演算子 パート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 == 0

orでは、条件のうち1つが真であれば十分です。-4は負の数なので、-4が奇数ではないにもかかわらず、これはtrueになります。

var number := -4
var negative_or_odd := number < 0 or number % 2 != 0 # true

GDScriptでは、まず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はエラーとして報告されます。

challenge icon

チャレンジ

簡単

プレイヤーはダンジョンを探索しようとしています。変数 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)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ