OR条件

投稿者:ヘイホーの叫び
投稿日:2024/7/30
ジャンル:アルゴリズム
環境:通常
情報番号:4

説明

通常、コマンドにおける条件検索は論理積 (AND、かつ)*1しか使えません
しかし、「ド・モルガンの法則」を利用すれば、論理和 (OR、または)*2を使える場合があります
場合は以下の二つ
一:元の条件の否定 (NOT、~でない) が可能である場合
二:元の条件の否定 (NOT、~でない) が不可能または困難である場合
このページでは一について解説しています
二についてはtag式反転機構をご覧ください

原理

一の条件(例)

1:tag=a
2:scores={b=..10}
3:type=player

ド・モルガンの法則


(1) について両辺を否定すると、以下のような等式が成り立ちます

このことから、AND条件を用いたOR条件が可能であることが分かります

一の各条件の否定は
1:tag=!a
2:scores={b=11..}
3:type=!player

となるので、構文は以下のようになります

/execute
as <object>
unless entity @s[tag=!a,scores={b=11..},type=!player]
run

元の式との対応は以下の通りです


補足
  • 実行者が増え負荷が増える可能性があります
最終更新:2024年12月22日 14:14
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|

*1 すべての条件を満たしていなければならない

*2 一つでも条件を満たしていればよい