提供: Japanese Scratch-Wiki

(音ブロック)
(演算ブロック)
21行目: 21行目:
  
 
==[[演算ブロック]]==
 
==[[演算ブロック]]==
{| border="1" style="text-align:center">
+
[[演算ブロックの代用ブロック]]
|-
 
! width="100px"|ブロック
 
! 回避策
 
|-
 
||[[() + () (ブロック)|<sb>((a) + (b))</sb>]]
 
|<scratchblocks>((a) - ((b) * (-1)))</scratchblocks>
 
または
 
<scratchblocks>((a) - ((0) - (b)))</scratchblocks>
 
または
 
<scratchblocks>
 
[答え v] を (a) にする
 
[答え v] を (b) ずつ変える
 
</scratchblocks>
 
|-
 
||[[() - () (ブロック)|<sb>((a) - (b))</sb>]]
 
|<scratchblocks>((a) + ((b) * (-1)))</scratchblocks>
 
または
 
<scratchblocks>((a) + ((b) / (-1)))</scratchblocks>
 
または
 
<scratchblocks>((a) + ([-] と (b)))</scratchblocks>
 
または
 
<scratchblocks>((a) + ((0) - (b)))</scratchblocks>
 
または
 
<scratchblocks>
 
[答え v] を () にする
 
[答え v] を ((-1) * ()) ずつ変える
 
</scratchblocks>
 
3番目の回避策はbの値が正の場合のみ機能します。たとえば、 「--3」はScratchによって0と評価されます。
 
|-
 
||[[() * () (ブロック)|<sb>(() * ())</sb>]]
 
|<div style="width:570px"><scratchblocks>(すべて v) 番目を [num1 numbers v] から削除する //セットアップ
 
(すべて v) 番目を [num2 numbers v] から削除する
 
(すべて v) 番目を [積数字 v] から削除する
 
[積 v] を [0] にする
 
[dec pos 1 v] を [0] にする
 
[dec pos 2 v] を [0] にする
 
もし <(答え) < [0]> なら
 
[カウント v] を [1] にする
 
[no 1 negative v] を [y] にする
 
でなければ
 
[カウント v] を [0] にする
 
[no 1 negative v] を [n] にする
 
end
 
([] の長さ) 回繰り返す
 
[カウント v] を (1) ずつ変える
 
もし <<((カウント) 番目\( [] \)の文字) = [.]> ではない> なら
 
((カウント) 番目\( [] \)の文字) を [num1 numbers v] に追加する
 
でなければ
 
[dec pos 1 v] を (((答え) - (カウント)) の長さ) にする
 
end
 
end
 
もし <[] < [0]> なら
 
[カウント v] を [1] にする
 
[no 2 negative v] を [y] にする
 
でなければ
 
[カウント v] を [0] にする
 
[no 2 negative v] を [n] にする
 
end
 
([] の長さ) 回繰り返す
 
[カウント v] を (1) ずつ変える
 
もし <<((カウント) 番目\( [] \)の文字) = [.]> ではない> なら
 
((カウント) 番目\( [] \)の文字) を [num2 numbers v] に追加する
 
でなければ
 
[dec pos 2 v] を (((答え) - (カウント)) の長さ) にする
 
end
 
end
 
[num1 v] を (num1 numbers) にする
 
[num2 v] を (num2 numbers) にする
 
(num1) 回繰り返す //スタート
 
[積 v] を (num2) ずつ変える
 
end
 
[小数点位置 v] を ((dec pos 1) + (dec pos 2)) にする
 
[カウント v] を [0] にする
 
((積) の長さ) 回繰り返す
 
[カウント v] を (1) ずつ変える
 
((カウント) 番目\( (積) \)の文字) を [積数字 v] に追加する
 
end
 
もし <<(小数点位置) = [0]> ではない> なら
 
[.] を (([積数字 v] の長さ) - ((小数点位置) - (1))) 番目に挿入する( [積数字 v] )
 
end
 
もし <<<(no 1 negative) = [y]> または <(no 2 negative) = [y]>> かつ <<<(no 1 negative) = [y]> かつ <(no 2 negative) = [y]>> ではない>> なら
 
[-] を (1 v) 番目に挿入する( [積数字 v] )
 
end
 
[積 v] を (積数字) にする</scratchblocks></div>
 
または
 
<scratchblocks>((a) / ((1) / (b))) //"a"と"b"の積</scratchblocks>
 
または
 
<scratchblocks>
 
もし <(a) < [0]> なら
 
([絶対値 v] \( (a) \) ::operators) 回繰り返す
 
[積 v] を ((0) - (b)) ずつ変える
 
end
 
でなければ
 
[積 v] を [0] にする
 
(a) 回繰り返す
 
[積 v] を (b) ずつ変える
 
end
 
end
 
</scratchblocks>
 
|-
 
||[[() / () (ブロック)|<sb>(() / ())</sb>]]
 
|<div style="width:570px"><scratchblocks>
 
(すべて v) 番目を [被除数数字 v] から削除する
 
(すべて v) 番目を [商 v] から削除する
 
[被除数 v] を [] にする
 
[除数 v] を ([絶対値 v] \( () \) ::operators) にする
 
[no2 neg v] を <[] < [0] > にする
 
もし <(被除数) < [0] > なら
 
[カウント v] を [1] にする
 
でなければ
 
[カウント v] を [0] にする
 
end
 
[no1 neg v] を <(被除数) < [0] > にする
 
((被除数) の長さ) 回繰り返す
 
[カウント v] を (1) ずつ変える
 
もし <((カウント) 番目\((被除数)\)の文字) = [.]> なら
 
[被除数 dec v] を (((被除数) - (カウント)) の長さ) にする
 
でなければ
 
((カウント) 番目\((被除数)\)の文字) を [被除数数字 v] に追加する
 
end
 
end
 
((10) - (被除数 dec)) 回繰り返す
 
[0] を [被除数数字 v] に追加する
 
end
 
もし <((除数) を四捨五入) = (除数)> なら
 
[dec pos v] を [0] にする
 
でなければ
 
[カウント v] を [0] にする
 
<((カウント) 番目\((被除数)\)の文字) = [.]> まで繰り返す
 
[カウント v] を (1) ずつ変える
 
end
 
[dec pos v] を (((除数) - (カウント)) の長さ) にする
 
[被除数 v] を ((被除数) * ([10 ^ v]\((dec pos)\))) にする
 
[除数 v] を (((除数) * ([10 ^ v]\((dec pos)\))) を四捨五入) にする
 
end
 
[カウント v] を [0] にする
 
[現在処理中 v] を [] にする //これはスペースではなく、空です。
 
([被除数数字 v] の長さ) 回繰り返す
 
[カウント v] を (1) ずつ変える
 
[現在処理中 v] を ((現在処理中) と ((カウント) 番目( [被除数数字 v] ))) にする
 
[回 v] を [9] にする
 
<((除数) * (回)) < ((現在処理中) + (1))> まで繰り返す
 
[回 v] を (-1) ずつ変える
 
(回) を [商 v] に追加する
 
[現在処理中 v] を ((現在処理中) - ((除数) * (回))) にする
 
end
 
[.] を (([商 v] の長さ) - (8)) 番目に挿入する( [商 v] )
 
<<<((最後 v) 番目(  [商 v] )) = [.]> または <<<((最後 v) 番目( [商 v] )) = [0]> かつ <((商) を四捨五入) = (商)>> かつ <[商 v] に [.] が含まれる>>> ではない> まで繰り返す
 
(最後 v) 番目を [商 v] から削除する
 
<<<((1 v) 番目( [商 v] )) = [0]> ではない> または <((2 v) 番目( [商 v] )) = [.]>> まで繰り返す
 
(1 v) 番目を [商 v] から削除する
 
end
 
end
 
end
 
</scratchblocks></div>
 
または
 
<scratchblocks>
 
もし <(b) < [0]> なら
 
  [商 v] を (((a) * ([e ^ v]\(((-1) * ([ln v]\(((-1) * (b))\)))\))) * (-1)) にする
 
でなければ
 
  [商 v] を ((a) * ([e ^ v]\(((-1) * ([ln v]\((b)\)))\))) にする
 
end
 
</scratchblocks>
 
|-
 
||[[() < () (ブロック)|<sb>((a) < (b))</sb>]]
 
|<scratchblocks>
 
<<<(a) > (b)> または <(a) = (b)>> ではない>
 
</scratchblocks>
 
|-
 
||[[() = () (ブロック)|<sb>((a) = (b))</sb>]]
 
|<scratchblocks>
 
<<<(a) < (b)> または <(a) > (b)>> ではない>
 
</scratchblocks>
 
または
 
<scratchblocks>
 
(すべて v) 番目を [リスト v] から削除する //大文字と小文字を区別
 
(a) を [リスト v] に追加する
 
もし <[リスト v] に (b) が含まれる> なら
 
...
 
end
 
</scratchblocks>
 
|-
 
||[[() > () (ブロック)|<sb>((a) > (b))</sb>]]
 
|<scratchblocks>
 
<<<(a) < (b)> または <(a) = (b)>> ではない>
 
</scratchblocks>
 
 
 
|-
 
||[[() かつ () (ブロック)|<sb><<. . .> かつ <. . .>></sb>]]
 
|<scratchblocks>
 
もし <. . .> なら
 
もし <. . .> なら
 
. . .
 
end
 
end
 
</scratchblocks>
 
または
 
<scratchblocks>
 
<<<<. . .> ではない> または <<. . .> ではない>> ではない>
 
</scratchblocks>
 
または
 
<scratchblocks>
 
[var v] を [0] にする
 
<(var) = [1]> まで繰り返す
 
. . . //ブロックは、c型ブロックの中に入れてください。
 
もし <> なら
 
[var v] を [1] にする
 
end //this works for all current boolean-accepting block
 
</scratchblocks>
 
または
 
<scratchblocks>
 
もし <. . .> なら
 
もし <. . .> なら
 
[return v] を [true] にする
 
でなければ
 
[return v] を [false] にする
 
end
 
でなければ
 
[return v] を [false] にする
 
</scratchblocks>
 
|-
 
||[[() または () (ブロック)|<sb><<. . .> または <. . .>></sb>]]
 
|<scratchblocks>
 
もし <. . .> なら
 
. . .
 
でなければ
 
もし <. . .> なら
 
. . .
 
end
 
end
 
</scratchblocks>
 
または
 
<scratchblocks>
 
<<<<. . .> ではない> かつ <<. . .> ではない>> ではない>
 
</scratchblocks>
 
または
 
<scratchblocks>
 
もし <. . .> なら
 
[return v] を [true] にする
 
でなければ
 
もし <. . .> なら
 
[return v] を [true] にする
 
でなければ
 
[return v] を [false] にする
 
</scratchblocks>
 
|-
 
||[[() ではない (ブロック)|<sb><<. . .> ではない></sb>]]
 
|<scratchblocks><(. . .) = [false]></scratchblocks>
 
または
 
<scratchblocks>
 
もし <. . .> なら
 
(ここにブロックを入れないでください。)
 
でなければ
 
. . .
 
</scratchblocks>
 
|-
 
||[[() と () (ブロック)|<sb>((. . .) と (. . .)</sb>]]
 
| <scratchblocks>[カウント v] を [0] にする
 
[final v] を [] にする
 
((a) の長さ) 回繰り返す // aは最初の入力です
 
[カウント v] を (1) ずつ変える
 
((カウント) 番目\( (a) \)の文字)を[final v]に追加する
 
end
 
[カウント v] を (0) にする
 
((b) の長さ) 回繰り返す // bは2番目の入力です
 
[カウント v] を (1) ずつ変える
 
((カウント) 番目\( (b) \)の文字) を [final v] に追加する
 
end
 
[final v] を (final)  にする //これが最終的な文字列です
 
</scratchblocks>
 
または
 
<scratchblocks>
 
//これは両方が整数でbが正の場合にのみ動作します。
 
[return v] を [] にする
 
([] の長さ) 回繰り返す
 
[return v] を ((return) * (10)) にする
 
end
 
[return v] を () ずつ変える
 
</scratchblocks>
 
|-
 
||[[() 番目( () )の文字 (ブロック)|<sb>((1) 番目\( [] \)の文字)</sb>]]
 
|<scratchblocks>//Only works for whole numbers and the letter you're looking for must be 1.
 
もし <[] > [0]> なら
 
[return v] を [] にする
 
((() - (1)) の長さ) 回繰り返す
 
[return v] を ([切り下げ v] \( ((return) / (10)) \) ::operators) にする
 
end
 
でなければ
 
[return v] を [-] にする
 
end
 
//
 
</scratchblocks>
 
|-
 
||[[() の長さ (演算ブロック)|<sb>[] の長さ</sb>]]
 
|<scratchblocks>[return v] を [1] にする
 
<(((return) + (1)) 番目\( [] \)の文字) = []> まで繰り返す
 
[return v] を (1) ずつ変える
 
end</scratchblocks>
 
|-
 
||[[() を () で割った余り (ブロック)|<sb>(() を () で割った余り)</sb>]]
 
|<scratchblocks>
 
もし <(((a) / (b)) を四捨五入) > ((a) / (b))> なら
 
[余り v] を ((a) - (((((a) / (b)) - (0.5))を四捨五入) * (b))) にする
 
でなければ
 
[余り v] を ((a) - ((((a) / (b)) を四捨五入) * (b))) にする
 
end
 
</scratchblocks>
 
|-
 
||[[() を四捨五入 (ブロック)|<sb>(() を四捨五入)</sb>]]
 
| <scratchblocks>
 
[report v] を [] にする
 
[カウント v] を [1] にする
 
<<((カウント) 番目\( (num) \)の文字) = [.]> または <(カウント) = ((num) の長さ)>> まで繰り返す
 
[report v] を ((report) と ((カウント) 番目\( (num) \)の文字)) にする
 
[カウント v] を (1) ずつ変える
 
end
 
もし <<((カウント)番目\( (num) \)の文字) = [.]> かつ <(((カウント) + (1)) 番目\( (num) \)の文字) > [4]>> なら
 
[report v] を (1) ずつ変える
 
end
 
</scratchblocks>
 
または
 
<scratchblocks>
 
[return v] を [0] にする
 
[b v] を [] にする
 
<([絶対値 v] \( (b) \) ::operators)<[1]>まで繰り返す{
 
もし <[] < [0]> なら
 
[return v] を (1) ずつ変える
 
[b v] を (-1) ずつ変える
 
でなければ
 
[return v] を (-1) ずつ変える
 
[b v] を (1) ずつ変える
 
}::control
 
</scratchblocks>
 
または
 
<scratchblocks>
 
定義 (#) を四捨五入
 
[カウント v] を [1] にする
 
<((カウント) 番目\( (#) \)の文字) = [.] > まで繰り返す
 
[カウント v] を[1] ずつ変える
 
end
 
[カウント v] を [1] ずつ変える
 
もし <((カウント) 番目\( (#) \)の文字) = [5]> なら
 
[round v] を ([切り上げ v] \( (#) \) ::operators) にする
 
でなければ
 
もし <((カウント) 番目\( (#) \)の文字) > [5]> なら
 
[round v] を ([切り上げ v] \( (#) \) ::operators) にする
 
でなければ
 
もし <((カウント) 番目\( (#) \)の文字) < [5]> なら
 
[round v] を ([切り下げ v] \( (#) \) ::operators) にする
 
end
 
end
 
end
 
</scratchblocks>
 
|-
 
||[[数学関数_(演算ブロック)|<sb>([10 ^ v] \( () \) )</sb>]]
 
|
 
絶対値:
 
<scratchblocks>
 
[出力 v] を (入力) にする
 
もし<(出力) < [0]> なら
 
[出力 v] を ((-1) * (出力)) にする
 
end
 
</scratchblocks>
 
または
 
<scratchblocks>
 
[出力 v] を (([平方根 v] \( ((入力) * (入力)) \) ::operators) + (0)) にする
 
</scratchblocks>
 
平方根:
 
<scratchblocks>
 
[出力 v] を (入力) にする
 
<(出力) = (入力)> まで繰り返す
 
[出力 v] を ((((出力) * (出力)) + (入力)) / ((2) * (出力))) にする
 
end
 
</scratchblocks>
 
または
 
<scratchblocks>
 
[出力 v] を ([e ^ v] \( ((0.5) * ([ln v] \( (入力) \))) \)) にする
 
</scratchblocks>
 
ln (自然対数):
 
<scratchblocks>
 
[出力 v] を (([log v] \( (入力) \)) / ([log v] \( ([e ^ v] \( (1) \)) \))) にする
 
</scratchblocks>
 
e ^:
 
<scratchblocks>
 
[出力 v] を ([10 ^ v] \( ((入力) * (2.718281828459)) \)) にする
 
</scratchblocks>
 
log (base 10):
 
<scratchblocks>
 
[出力 v] を (([ln v] \( (入力) \)) / ([ln v] \( (10) \))) にする
 
</scratchblocks>
 
10 ^:
 
<scratchblocks>
 
[出力 v] を ([e ^ v] \( ((入力) * ([ln v] \( (10) \))) \)) にする
 
</scratchblocks>
 
切り下げ:
 
<scratchblocks>
 
[出力 v] を (((入力) - (.5)) を四捨五入) にする
 
</scratchblocks>
 
ceil:
 
<scratchblocks>
 
[出力 v] を (((入力) + (.49999999)) を四捨五入) にする
 
</scratchblocks>
 
sin:
 
<scratchblocks>
 
[出力 v] を ([cos v]  \( ((90) - (入力)) \)) にする
 
</scratchblocks>
 
cos:
 
<scratchblocks>
 
[出力 v] を ([sin v]  \( ((90) - (入力)) \)) にする
 
</scratchblocks>
 
tan:
 
<scratchblocks>
 
[出力 v] を (([sin v] \( (入力) \)) / ([cos v] \( (入力) \))) にする
 
</scratchblocks>
 
|}
 
  
 
==[[ペンブロック]]==
 
==[[ペンブロック]]==

2018年3月11日 (日) 05:08時点における版

この記事は、ブロックを使わずにその機能を再現するスクリプト代用ブロック一覧である。 これらは、どのようにブロックが動作するかを理解し、別のプログラミング言語でブロックを再作成するために使用することができる。


イベントブロック

イベントブロックの代用ブロック

制御ブロック

制御ブロックの代用ブロック

動きブロック

動きブロックの代用ブロック

モーターブロック

モーターブロックの代用ブロック

見た目ブロック

見た目ブロックの代用ブロック

音ブロック

音ブロックの代用ブロック

演算ブロック

演算ブロックの代用ブロック

ペンブロック

ブロック 回避策

スタンプ

[スタンプ? v] を [true] にする
[自分自身 v] のクローンを作る
[スタンプ? v] を [false] にする

クローンされたとき //and any other hat block
もし <(スタンプ?) = [true]> なら
	[このスクリプト v] を止める
end
Warning メモ: 300個のクローン数制限に達した場合、「このクローンを削除する」ブロックで削除されます。

調べるブロック

ブロック 回避策
[] と聞いて待つ
(質問) と言う
(すべて v) 番目を [答え v] から削除する
[カウント v] を [0] にする
<<[マウスのポインター v] に触れた> かつ <マウスが押された>> まで繰り返す
もし <[a v] キーが押された> なら
[カウント v] を (1) ずつ変える
[A] を (カウント) 番目に挿入する( [答え v] )
end
もし <[b v] キーが押された> なら
[カウント v] を (1) ずつ変える
[B] を (カウント) 番目に挿入する( [答え v] )
end
もし <[c v] キーが押された> なら
[カウント v] を (1) ずつ変える
[C] を (カウント) 番目に挿入する( [答え v] )
end
もし <[d v] キーが押された> なら
[カウント v] を (1) ずつ変える
[D] を (カウント) 番目に挿入する( [答え v] )
end
もし <[e v] キーが押された> なら
[カウント v] を (1) ずつ変える
[E] を (カウント) 番目に挿入する( [答え v] )
end
もし <[f v] キーが押された> なら
[カウント v] を (1) ずつ変える
[F] を (カウント) 番目に挿入する( [答え v] )
end
もし <[g v] キーが押された> なら
[カウント v] を (1) ずつ変える
[G] を (カウント) 番目に挿入する( [答え v] )
end
もし <[h v] キーが押された> なら
[カウント v] を (1) ずつ変える
[H] を (カウント) 番目に挿入する( [答え v] )
end
もし <[i v] キーが押された> なら
[カウント v] を (1) ずつ変える
[I] を (カウント) 番目に挿入する( [答え v] )
end
もし <[j v] キーが押された> なら
[カウント v] を (1) ずつ変える
[J] を (カウント) 番目に挿入する( [答え v] )
end
もし <[k v] キーが押された> なら
[カウント v] を (1) ずつ変える
[K] を (カウント) 番目に挿入する( [答え v] )
end
もし <[l v] キーが押された> なら
[カウント v] を (1) ずつ変える
[L] を (カウント) 番目に挿入する( [答え v] )
end
もし <[m v] キーが押された> なら
[カウント v] を (1) ずつ変える
[M] を (カウント) 番目に挿入する( [答え v] )
end
もし <[n v] キーが押された> なら
[カウント v] を (1) ずつ変える
[N] を (カウント) 番目に挿入する( [答え v] )
end
もし <[o v] キーが押された> なら
[カウント v] を (1) ずつ変える
[O] を (カウント) 番目に挿入する( [答え v] )
end
もし <[p v] キーが押された> なら
[カウント v] を (1) ずつ変える
[P] を (カウント) 番目に挿入する( [答え v] )
end
もし <[q v] キーが押された> なら
[カウント v] を (1) ずつ変える
[Q] を (カウント) 番目に挿入する( [答え v] )
end
もし <[r v] キーが押された> なら
[カウント v] を (1) ずつ変える
[R] を (カウント) 番目に挿入する( [答え v] )
end
もし <[s v] キーが押された> なら
[カウント v] を (1) ずつ変える
[S] を (カウント) 番目に挿入する( [答え v] )
end
もし <[t v] キーが押された> なら
[カウント v] を (1) ずつ変える
[T] を (カウント) 番目に挿入する( [答え v] )
end
もし <[u v] キーが押された> なら
[カウント v] を (1) ずつ変える
[U] を (カウント) 番目に挿入する( [答え v] )
end
もし <[v v] キーが押された> なら
[カウント v] を (1) ずつ変える
[V] を (カウント) 番目に挿入する( [答え v] )
end
もし <[w v] キーが押された> なら
[カウント v] を (1) ずつ変える
[W] を (カウント) 番目に挿入する( [答え v] )
end
もし <[x v] キーが押された> なら
[カウント v] を (1) ずつ変える
[X] を (カウント) 番目に挿入する( [答え v] )
end
もし <[y v] キーが押された> なら
[カウント v] を (1) ずつ変える
[Y] を (カウント) 番目に挿入する( [答え v] )
end
もし <[z v] キーが押された> なら
[カウント v] を (1) ずつ変える
[Z] を (カウント) 番目に挿入する( [答え v] )
end
もし <[0 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[0] を (カウント) 番目に挿入する( [答え v] )
end
もし <[1 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[1] を (カウント) 番目に挿入する( [答え v] )
end
もし <[2 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[2] を (カウント) 番目に挿入する( [答え v] )
end
もし <[3 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[3] を (カウント) 番目に挿入する( [答え v] )
end
もし <[4 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[4] を (カウント) 番目に挿入する( [答え v] )
end
もし <[5 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[5] を (カウント) 番目に挿入する( [答え v] )
end
もし <[6 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[6] を (カウント) 番目に挿入する( [答え v] )
end
もし <[7 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[7] を (カウント) 番目に挿入する( [答え v] )
end
もし <[8 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[8] を (カウント) 番目に挿入する( [答え v] )
end
もし <[9 v] キーが押された> なら
[カウント v] を (1) ずつ変える
[9] を (カウント) 番目に挿入する( [答え v] )
end
もし <[右向き矢印 v] キーが押された> なら
[カウント v] を (1) ずつ変える
end
もし <[左向き矢印 v] キーが押された> なら
[カウント v] を (-1) ずつ変える
end
もし <[スペース v] キーが押された> なら
[カウント v] を (1) ずつ変える
[] を (カウント) 番目に挿入する( [答え v] )
end
(0.001) 秒待つ
end
Warning メモ: この方法だと、アルファベットや数字しか使えない。
([スプライト v] までの距離)
([平方根 v] \( (((([x座標 v] \( [任意のスプライト v] \)) - (x座標)) * (([x座標 v] \( [任意のスプライト v] \)) - (x座標))) + ((([y座標 v] \( [任意のスプライト v] \)) - (y座標)) * (([y座標 v] \( [任意のスプライト v] \)) - (y座標))))  \)::operators)
(マウスのx座標)
ずっと
 [マウスのポインター v] へ行く
 [マウスの位置 v] を (x座標) にする
(マウスのy座標)
ずっと
 [マウスのポインター v] へ行く
 [マウスの位置 v] を (y座標) にする
(2000年からの日数)

ここでは、d = 2000年からの日数とする:

[d v] を ((((367) * (年)) - ([切り下げ v] \( (((7) * ((年) + ([切り下げ v] \( (((月) + (9)) / (12)) \)::operators))) / (4)) \)::operators)) + ((([切り下げ v] \( (((275) * (月)) / (9)) \)::operators) + (日)) - (730530))) にする
[d v] を ((<(d) < [-36435]> + <(d) < [-72990]>) - <(d) > [36585]>) ずつ変える
1800年-2199年までは正しい。

PicoBoardブロック

ブロック 回避策
<[Aがつながれた v]::extension>
<([抵抗-A v] センサーの値) < [10]>//抵抗A〜D

データブロック

変数ブロック

ブロック 回避策
(変数)
([全てのスプライトの変数 v] \( [ステージ v] \))
([このスプライトの変数 v] \( [スプライト1 v] \))
[ v] を [] にする
[変数 v] を (((変数) * (-1)) + (量)) ずつ変える
Warning メモ: 数字以外では動作しない。
[ v] を () ずつ変える
[変数 v] を ((変数) + (量)) にする

リストブロック

ブロック 回避策
(リスト::list)
[カウント v] を [0] にする
[all are 1 v] を [true] にする
<<(all are 1) = [false]> または <(カウント) > ([リスト v] の長さ::list)>> まで繰り返す
[カウント v] を (1) ずつ変える
もし <(((カウント) 番目( [リスト v] )) の長さ) > [1]> なら
[all are 1 v] を [false] にする
end
end
もし <(all are 1) = [true]> なら
[report v] を [] にする
[カウント v] を [0] にする
([リスト v] の長さ::list) 回繰り返す
[カウント v] を (1) ずつ変える
[report v] を ((report) と ((カウント) 番目( [リスト v] ))) にする
end
でなければ
[report v] を ((1 v) 番目( [リスト v] )) にする
[カウント v] を [1] にする
(([リスト v] の長さ::list) - (1)) 回繰り返す
[カウント v] を (1) ずつ変える
[report v] を ((report) と ([] と ((カウント) 番目( [リスト v] )))) にする
end
end
( v) 番目( [ v] )を [] で置き換える
(場所) 番目を [リスト v] から削除する
(項目) を (場所) 番目に挿入する( [リスト v] )
[ v] に [] が含まれる
[report v] を [false] にする
[カウント v] を [0] にする
([リスト v] の長さ::list) 回繰り返す
[カウント v] を (1) ずつ変える
もし <((カウント) 番目( [リスト v] )) = (thing)> なら
[report v] を [true] にする
[このスクリプト v] を止める
end
end
[] を [ v] に追加する
[thing] を (最後 v) 番目に挿入する( [リスト v] )

削除されたブロック

ブロック 回避策
シーン [シーン1 v] を開始 ::control
[シーン1 v] を送る
<> が真のとき ::control hat
@ がクリックされたとき
ずっと
  もし <. . .> なら
    . . .
  end
end
もし <> なら、ずっと{}::control
ずっと
もし <. . .> なら
. . .
end
一斉に {} ::control
定義 一斉に //画面を再描画しないで実行
. . .
クローンを作る ::control
[自分自身 v] のクローンを作る
コスチュームを (1) ずつ変える ::looks
コスチュームを ((コスチューム #) + (1)) にする
背景を (1) ずつ変える ::looks
背景を ((背景 #) + (1)) にする
何も言わない ::looks
[] と言う

または

[] と考える
すべてのスプライトを隠す ::looks
[すべてのスプライトを隠す v] を送る
[すべてのスプライトを隠す v] を受け取ったとき //すべてのスプライトに置く
隠す
透明スタンプ (50)::pen
[幽霊 v] の効果を (...) にする
スタンプ
[幽霊 v] の効果を (0) にする
(() の絶対値 ::operators)
([絶対値 v] \( () \)::operators)

または
演算ブロックを参照

(sqrt ()::operators)
([平方根 v] \( () \)::operators)

または
演算ブロックを参照

<うるさい ::sensing>
<(音量::sensing) > [30]>
(Scratch開始からの日数::sensing)
((2000年からの日数) - (2692))
(ユーザーID::sensing)
@ がクリックされたとき
もし <<[☁ ユーザー v] に (ユーザー名) が含まれる> ではない> なら
 (ユーザー名) を [☁ ユーザー v] に追加する
end
<((ユーザーID) 番目( [☁ ユーザー v] )) = (ユーザー名)> まで繰り返す
 [ユーザーID v] を (1) ずつ変える
end

または

([あなたのユーザーID:] と (check user id)) と言う

または

もし <(ユーザーID) = [ここに必要なユーザーID番号を挿入]> なら
 . . .
end

作りたいものに応じて使い分ける。

Warning メモ: これはクラウドリストが追加されるまで機能しませんが、他のユーザーからクラウドリストエンジンをバックパックすることもできる。
Comment
//スクリプト領域のどこかを右クリック→"コメントを追加"

実験ブロック

ブロック 回避策
(カメラのモーション::sensing)
(ビデオの [モーション v] \( [このスプライト v] \))
(カメラの向き::sensing)
(ビデオの [向き v] \( [このスプライト v] \))
(カウンター::control)
(カウンター) //変数を使用
カウンターを増加する::control
[カウンター v] を (1) ずつ変える
カウンターをクリア::control
[カウンター v] を [0] にする
<> の間繰り返す {} :: control
<<. . .> ではない> まで繰り返す
. . .
end
for each [v v] in (10) {} :: control
[i v] を [0] にする
(...) 回繰り返す
[i v] を (1) ずつ変える
. . .
end

存在しないブロック

ブロック 回避策
<[ v]を受け取った?::events>
[メッセージ v] を受け取ったとき
[メッセージを受け取った v] を [true] にする
. . .
[メッセージを受け取った v] を [false] にする

または

[メッセージ v] を受け取ったとき
[メッセージを受け取った v] を [true] にする
(0.5)秒待つ
[メッセージを受け取った v] を [false] にする

なら

もし <(メッセージを受け取った) = [true]> なら
. . .

このブロックが存在しないのは、精度が低すぎるからです。上の二つは、メッセージが終了したときの回避策で、緑の旗がクリックされている状態でのみ動きます。 このスクリプトでは、「メッセージ」は、0.5秒間送られます。

@ がクリックされたとき
[メッセージを受け取った v] を [false] にする

[メッセージ v] を受け取ったとき
[メッセージを受け取った v] を [true] にする

そして単純に、

<(メッセージを受け取った) = [true]>

他のメッセージに対しては、falseを返す。

[ほかのすべてのメッセージ (ここは置き換える) v] を受け取ったとき
[メッセージを受け取った v] を [false] にする
[すべてを止めて、もう一度緑の旗を押す v]を止める
[緑の旗がクリックされた v]を送る

メモ:Scratch 1.xのオフラインでのみ動作します。

(1)秒繰り返す{} :: control
タイマーをリセット
<(タイマー) > [1]> まで繰り返す
. . .
end

または

[タイマー offset v] を ((タイマー) + (1)) にする
<(タイマー) > (タイマー offset)> まで繰り返す
. . .
end
spawn {} :: control cstart
[Spawn v] を受け取ったとき
. . .

 [Spawn v]を送る
<クローン?::control>
クローンされたとき
[クローン? v]を[true]にする //「このスプライトのみ」の変数を用意します。クローンでなければ、falseになる。

または

[クローン? v] を [true] にする
[自分自身 v] のクローンを作る
[クローン? v] を [false] にする
x座標を()、y座標を()ずつ変える::motion
x座標を((x座標) + (X))、y座標を((y座標) + (Y))にする

または

x座標を (X) ずつ変える
y座標を(Y)ずつ変える
()秒で x座標を()、 y座標を()ずつ変える::motion
 ()秒で x座標を((x座標) + (X)) y座標を((y座標) + (Y))にする
()秒で()歩動かす::motion
(seconds)秒でx座標を((x座標) + (([sin v]\((向き)\) * (歩数)))、y座標を((y座標) + (([cos v]  \((向き)\)) * (歩数)))にする
x座標()y座標()に向ける::motion
point in 向き (([atan v]\((((X) - (x座標))\) / ((Y) - (y座標)))) + (<(y座標) > (Y)> * (180)))
(x座標()、y座標()との差::sensing)
([へ v]\(((((x座標) - (任意のx)) * ((x座標) - (任意のx)\))) + (((y座標) - (任意のy)) * ((y座標) - (任意のy)))))
<聞いている途中?::sensing>
[聞いている途中? v] を [true] にする
[...]と聞いて待つ
[聞いている途中? v] を [false] にする
<スプライトがクリックされた::sensing>
このスプライトがクリックされたとき
[スプライトがクリックされた v] を [true] にする
<<<マウスが押された> かつ <[マウスのポインター v]に触れた>> ではない>まで待つ
[スプライトがクリックされた v] を [false] にする
すべてのスプライトを表示する::looks
[すべてのスプライトを表示する v]を送る

and

[すべてのスプライトを表示する v] を受け取ったとき //すべてのスプライトに入れること
表示する
前のコスチューム::looks
コスチュームを ((コスチューム #) - (1)) にする
前の背景::looks
背景を((背景 #) - (1))にする

または

背景を[(前の背景の名前) v]にする
(コスチューム名::looks)
([コスチューム名 v]([任意のスプライト v]))
後ろに下がる::looks
([10^ v]\((309)\))層下げる

または

@ がクリックされたとき
[スプライト v] を (1) ずつ変える

全てのスプライトに置く:

((スプライト)- (1))層下げる
(() ^ ():: operators)
([10 ^ v]\(((power)\) * ([log v]\((base)\))))

または

([e ^ v]\(((power) * ([ln v]\((base)\)))\))
Warning メモ: 負の数の累乗には対応していない。(例 (-2)5.
<true::operators>
<<> ではない> //中にブロックは入れない。

または

<[0] = [0]> //両方に同じものを入れる。
<false::operators>
<<<> ではない> ではない> //内側のところにはブロックをいれない。 

または

<<> かつ <>> //中にブロックは入れない。

または

<<> または <>> //中にブロックは入れない。

または

<[0] = [1]>
<[] ≠ []::operators>
<<[] = []> ではない>
<[] ≥ []::operators>
<<[] < []> ではない>

または

<<(入力1) > (入力2)> または <(入力1) = (入力2)>>
<[] ≤ []::operators>
<<[] > []> ではない>

または

<<(入力1) < (入力2)> または <(入力1) = (入力2)>>
(もし <> なら [] でなければ []::operators)
もし <> なら
[report v] を [true] にする
でなければ
[report v] を [false] にする

または

(((true) * <>) + ((false) * <<> ではない>))
Warning メモ: 数字のみ使える。文字列を使いたいときは、一つ目のものを使うこと。
(()番目から()番目\([]\)::operators)
[report v] を [] にする
[count v] を (a)にする // aは一番目のの文字
<(count) = ((b) + (1))> まで繰り返す // bは最後の文字
[report v] を ((report)と(letter (count)((text)))) にする
[count v] を (1) ずつ変える
end
(digit ()\(()\)::operators)
(([floor v](((number)) / ([10 ^ v]\((([floorv]\((digit)\))\) - (1))))) mod (10))
(round () to the nearest ()::operators)
((round ((round what) / (to the nearest))) * (to the nearest))

または

((round ((number) * ([10 ^ v]\((number of places)\)))) / ([10 ^ v]\((number of places)\)))
([ v]の効果::looks)
ずっと
[色 v] の効果を (effect) にする
<音 [ v]が再生されている::音>
[playing v] を [true] にする
終わるまで [任意の音 v] の音を鳴らす
[playing v] を [false] にする
[ v]の音を (1)拍鳴らす::音
[任意の音 v] の音を鳴らす
(1)拍休む
すべての音を止める
(instrument::音)
ずっと
instrument を (instrument) にする
change item (1 v)\([ v]\) by (1)::リスト
(1 v)番目\([任意のリスト v]\)を(((1 v)番目([任意のリスト v]) + (1))で置きかえる
もし <> なら、ずっと {}::control
ずっと
もし <> なら
(::obsolete) がクリックされたとき::hat events
ずっと
タイマーをリセット
end
[タイマー v] > (0.1) のとき
...
(10) + (10) = (10)のとき::hat operators
もし <((10) + (10)) = [10]> なら
<<> xor <>::operators>
<<<bool> = <other bool>> ではない>