旧解説 > 基礎 > その6

その6 ~エクスプレッション~

こんにちは。今回はExpressionです。

エクスプレッションとは

expression
【名】
1.〔特定の〕言い回し、言い方、語句
4.〔言葉・動作・芸術などによる〕表現(行為)
6.《数学》式

だそうです。
つまり(?)、その3で出した'player'などの事です。
特定の語句を入れる事で、それにあった値が代入されます。
説明じゃ分かりにくいので実際に例を見てみましょう。

「プレイヤー名」

set {hensuu} to player

「hensuu」になにやら「player」なるものを代入しています。
これは「トリガーを起動させたプレイヤーの名前が入る」というExpressionです。
詳しくはその3を見てください。

「プレイヤーのUUID」

set {hensuu} to uuid of player

「hensuu」に今度は「uuid of player」を代入しています。
これは「トリガーを起動させたプレイヤーのUUIDが入る」というExpressionです。

「UUID」という単語に聞き覚えのない方のために説明すると、
UUIDとは、Minecraftアカウントひとつに一個割り当てられているIDです。
そして、プレイヤー名を変更してもUUIDは変わりません。

例えば、プレイヤー名に紐付けて所持金などのデータを管理しているとします。
その場合、もしそのプレイヤーがプレイヤー名を変えてもデータは前の名前に残ってしまいます。
UUIDならその心配は要りません。
(但し'uuid of player'って一々書くのは結構しんどいです)

「攻撃者」「被害者」

on damage:
 message "%attacker%さんに攻撃されました!" to victim
 

'on damage''on death'イベントでのみ使えます。
「attacker」が攻撃者のプレイヤー名、「victim」が被害者のプレイヤー名になります。
例えばこの場合、攻撃者(attacker)が「steve」さん、被害者(victim)が「alex」さんだとすると、
alexさんのチャット欄に「steveさんに攻撃されました!」と表示されます。

「全てのプレイヤー」

message "test" to all players

「all players」で「全てのプレイヤー」になります。
全員にメッセージを飛ばすという事で、この場合broadcastと同じになります。

「プレイヤーのレベル」

set {level} to level of player

「level of player」で「プレイヤーのレベル」です。
エンチャントに使うやつの方のレベルです。

「ランダムな数値」

set {random1} to random integer from 1 to 100
set {random2} to random number from -10 to 10

指定した範囲の中からランダムな数値を代入します。
random「integer」の場合は整数のみ、
random「number」の場合は小数を含みます。
ちゃんとマイナス指定もできます。


さて、この辺で一旦Expressionの紹介は終わりにしたいと思います。

パーセント記号の意味

もしかしたら気になってる方も居たかもしれませんが、
「%」が付いてるときと付いてないときがありましたね。

例えば、'attacker''victim'の説明のとき、
on damage:
 message "%attacker%さんに攻撃されました!" to victim
 
この例文を使いましたが、
「attacker」にはパーセントが付いているのに、victimには付いていません。

このパーセント記号は、文字列か変数の中でExpressionを使う時にのみ前後に付けます。
ただの文字列なのかExpressionなのかを区別するためですね。

ちなみに、変数の中でというのは、
set {coin.%player%} to 100

みたいな使い方もできるということです。
誰のコインなのかの区別がつけられます。
(変数のなかにある「.」はただの区切りなので気にしないでください)

おわりに

Expressionうまく説明できてたでしょうか。
とりあえず「player」は覚えておいてください。

では、次回は「条件文」です。
お疲れ様でした、ばいばい。

次回→【その6】
最終更新:2019年07月21日 23:01