提供: Japanese Scratch-Wiki

2017年8月31日 (木) 13:47時点におけるMochimochiking (トーク | 投稿記録)による版

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


イベントブロック

ブロック 回避策
@ がクリックされたとき
[Scratch-StartClicked v] を受け取ったとき
. . .
Warning メモ: Scratch 1.xのオフラインでしか動作しません
[タイマー v] > (-1) のとき //これは停止できないブロックなので、緑の旗をクリックする必要はありません
もし <<((マウスのy座標) = [180]) かつ <マウスが押された>> または <(clicked) = [0]>> なら
[clicked v] を [1] にする
. . .
[スペース v] キーが押されたとき
[タイマー v] > (-1) のとき //これは停止できないブロックなので、緑の旗をクリックする必要はありません
ずっと
<[スペース v] キーが押された>まで待つ
. . .
このスプライトがクリックされたとき
[タイマー v] > (-1) のとき //これは停止できないブロックなので、緑の旗をクリックする必要はありません
ずっと
  <<[マウスのポインター v] に触れた> かつ <マウスが押された>> まで待つ//これは正確な回避策ではありません。まず、スプライトに触れずにマウスを押したまま、マウスを押したままスプライトに移動させることができるからです。 真のブロックはアクティブになりませんが、これでは有効になります。
  . . .

または

[タイマー v] > (-1) のとき //これは停止できないブロックなので、緑の旗をクリックする必要はありません
ずっと
もし <<マウスが押された> かつ <<[マウスのポインター v] に触れた>ではない>> なら
[down? v] を [1] にする
<<マウスが押された>ではない> まで待つ
[down? v] を [0] にする
end
end//これにより、マウスを押したままスプライトに移動すると、スクリプトがアクティブにならないようになります。

[タイマー v] > (-1) のとき //これは停止できないブロックなので、緑の旗をクリックする必要はありません
ずっと
もし <<[マウスのポインター v] に触れた> かつ <<マウスが押された> かつ <(down) = [0]>>> なら
. . .
end
[音量 v] > (10) のとき
@ がクリックされたとき //() > () のときブロックが回避したいブロックであるため、() > () のときブロックを使用して緑のフラグを回避することはできません
ずっと
  <(音量) > [10]> まで待つ
  . . .
[message v] を送る
@ がクリックされたとき
[broadcasted? v] を [0] にする
. . .
[broadcasted? v] を [1] にする

@ がクリックされたとき
ずっと
<(broadcasted?) = [1]> まで待つ
. . .
[broadcasted? v] を [0] にする
end

または

[broadcast v] を送って待つ
[broadcast v] を受け取ったとき
. . . // 受信ブロックに加えて、メッセージの後に来るものは何でも
[メッセージ v] を送って待つ
@ がクリックされたとき
[broadcasted? v] を [0] にする
[wait v] を [0] にする
. . .
[broadcasted? v] を [1] にする
[wait v] を [1] にする
<(wait) = [0]> まで待つ
. . .

@ がクリックされたとき
ずっと
<(broadcasted?) = [1]> まで待つ
. . .
[broadcasted? v] を [0] にする
[wait v] を [0] にする
end

または

[wait v] を [3] にする //特定のメッセージを受け取るブロックの数
[broadcast v] を送る
[broadcast v] を受け取ったとき
. . .
[wait v] を (-1) ずつ変える //"スクリプトを止める"ブロックの前に必ずこのブロックを置いてください!

制御ブロック

ブロック 回避策
(1)秒待つ
(((テンポ) / (60)) * (1))拍休む

または

タイマーをリセット
<<(タイマー) \< [1]> ではない> まで待つ
// もし他のスクリプトでタイマーを使っている場合、それらがおかしくなるかもしれません。
ずっと
<. . .>まで繰り返す //ここにはブロックを入れないか、あるいは絶対falseになるブロックを入れる。.
. . .
end

または

([10 ^ v] \( (309) \) )回繰り返す
. . .
end

または

((1)/(0))回繰り返す // オフラインエディターではエラーになります。
...
(10)回繰り返す
[カウンター v] を [0] にする
<(カウンター) = [10]> まで繰り返す
[カウンター v] を (1) ずつ変える
. . .
end
<...>まで繰り返す
定義 ループ
もし <<. . .> ではない> なら
. . .
ループ ::custom
end

または

[ループ v] を送る

[ループ v] を受け取ったとき
もし <<. . .> ではない> なら
. . .
[ループ v] を送る
end
もし <> なら
もし <. . .> なら
. . .
でなければ
// ここにブロックは入れません
end

または

<. . .> を送って待つ

[true v] を受け取ったとき
. . .

または

@ がクリックされたとき
ずっと
<. . .>まで待つ
. . .
// これは、「もし」がループします。
もし <> なら でなければ
もし <> なら
. . .
end
もし <<> ではない> なら
. . .
end

または

定義 もし <boolean>
もし <boolean> なら
. . . // もしの間に入れたいもの
[このスクリプト v] を止める
end
@ がクリックされたとき
. . .
もし <. . .> なら
. . .//でなければの間に入れたいもの
//もし・でなければが最後のブロックのときに使えます
<> まで待つ
< . . . > まで繰り返す
// ここにブロックは入れません
end
[このスクリプト v] を止める
<> まで待つ // ここには何も入れません

または

([10 ^ v] \( (309) \)) 秒待つ // これらは実際にスクリプトは止めません。しかし、その後の動作はとまります。

または

((1) / (0)) 秒待つ // 上のコメントと同じことが起こります。なお、オフラインエディターではエラーになります。

または

ずっと
// ここにブロックは入れません
[すべて v]を止める
[すべてを止める v] を受け取ったとき
[スプライトの他のスクリプト v]を止める
// このスクリプトはすべてのスプライトとステージに配置してください。

動きブロック

ブロック 回避策
(向き)
([向き v] \( [任意のスプライト v] \))
(x座標)
([x座標 v] \( [任意のスプライト v] \))
(y座標)
([y座標 v] \( [任意のスプライト v] \))
[マウスのポインター v] へ行く
x座標を (マウスのx座標) 、y座標を (マウスのy座標) にする
[任意のスプライト v] へ行く
x座標を ([x座標 v] \( [任意のスプライト v] \)) 、y座標を ([y座標 v] \( [任意のスプライト v] \)) にする

または

x座標を ([x座標 v] \( [任意のスプライト v] \)) にする
y座標を ([y座標 v] \( [任意のスプライト v] \)) にする
x座標を (0) 、y座標を (0) にする
x座標を (任意のx座標) にする
y座標を (任意のy座標) にする

または

(0) 秒でx座標を (任意のx座標) に、y座標を (任意のy座標) に変える
[ v] へ向ける
[delta_x v] を (([x座標 v] \( [任意のスプライト v] \)) - (x座標)) にする
[delta_y v] を (([y座標 v] \( [任意のスプライト v] \)) - (y座標)) にする
もし<(delta_y) = [0]> なら
もし<(delta_x) < [0]> なら
(-90 v) 度に向ける
でなければ
(90 v) 度に向ける
end
でなければ
もし<(delta_y) < [0]> なら
((180) + ([atan v] \( ((delta_x) / (delta_y)) \))) 度に向ける
でなければ
([atan v] \( ((delta_x) / (delta_y)) \)) 度に向ける
end
end
(90 v) 度に向ける
@turnRight ((90) - (向き)) 度回す

または

@turnLeft ((-1) * ((90) - (向き))) 度回す
@turnRight (15) 度回す
((向き) + (15)) 度に向ける
@turnLeft (15) 度回す
((向き) - (15)) 度に向ける
(10) 歩動かす
x座標を ((x座標) + (([sin v] \( (向き) \)) * (10))) 、y座標を ((y座標) + (([cos v] \( (向き) \)) * (10))) にする

または

x座標を (([sin v] \( (向き) \)) * (10)) ずつ変える
y座標を (([cos v] \( (向き) \)) * (10)) ずつ変える
x座標を (10) ずつ変える
x座標を ((x座標) + (10)) にする
y座標を (10) ずつ変える
y座標を ((y座標) + (10)) にする
x座標を (0) にする
x座標を ((任意のx座標) - (x座標)) ずつ変える
x座標を (((x座標) * (-1)) + (任意のx座標)) ずつ変える
x座標を (任意のx座標) 、y座標を (y座標) にする
y座標を (0) にする
y座標を ((任意のy座標) - (y座標)) にする
y座標を (((y座標) * (-1)) + (任意のy座標)) にする
x座標を (x座標) 、y座標を (任意のy座標) にする

モーターブロック

ブロック 回避策
[motor v] を (1) 秒オンにする
[motor v] をオンにする
(数) 秒待つ
[motor v] をオフにする
[motor v] をオフにする
[motor v] を (0) 秒オンにする

または

[motor v] のパワーを (0) にする

見た目ブロック

ブロック 回避策
コスチュームを [ v] にする
<(任意のコスチューム #) = (コスチューム #)> まで繰り返す
次のコスチュームにする
end
次のコスチュームにする
コスチュームを ((コスチューム #) + (1)) にする
背景を [ v] にする
<(任意の背景 #) = (背景 #)> まで繰り返す
次の背景
end
次の背景
背景を ((背景 #) + (1)) にする

または

背景を [次の背景 v] にする
(コスチューム #)
([コスチューム # v] \( [任意のスプライト v] \))
(背景 #)
([背景 # v] \( [ステージ v] \))
(背景の名前)
([背景の名前 v] \( [ステージ v] \))
[] と () 秒言う
(文字列) と言う
(量) 秒待つ
[] と言う
[] と () 秒考える
(文字列) と考える
(量) 秒待つ
[] と考える
画像効果をなくす
[色 v] の効果を (0) にする
[魚眼レンズ v] の効果を (0) にする
[渦巻き v] の効果を (0) にする
[ピクセル化 v] の効果を (0) にする
[モザイク v] の効果を (0) にする
[明るさ v] の効果を (0) にする
[幽霊 v] の効果を (0) にする
(大きさ)
([大きさ v] \( [任意のスプライト v] \))
大きさを () ずつ変える
大きさを ((大きさ) + (量))% にする
大きさを () % にする
大きさを ((任意の大きさ) - (大きさ)) ずつ変える
前に出す
((-1) * ([10 ^ v] \( (309) \))) 層下げる
隠す
[幽霊 v] の効果を (100) にする

または

コスチュームを [目に見えないコスチューム v]  にする

音ブロック

ブロック 回避策
[ v] の音を鳴らす
. . .
[スクリプトを続行 v] を送る
終わるまで [任意の音 v] の音を鳴らす

[スクリプトを続行 v] を受け取ったとき
. . .
終わるまで [ v] の音を鳴らす
[任意の音 v] の音を鳴らす
(音の長さ) 秒待つ
() 拍休む
 (((60) / (テンポ)) * (拍数)) 秒待つ
音量を () ずつ変える
音量を ((音量) + (量)) % にする::sound
音量を () % にする::sound
音量を ((量) - (音量)) % にする
(音量)
([音量 v] \( [任意のスプライト v] \))
テンポを () ずつ変える
テンポを ((テンポ) + (量)) BPMにする
テンポを () BPMにする
テンポを ((量) - (テンポ)) ずつ変える

演算ブロック

ブロック 回避策
(() + ())
((a) - ((b) * (-1)))

または

((a) - ((0) - (b)))

または

[答え v] を (a) にする
[答え v] を (b) ずつ変える
(() - ())
((a) + ((b) * (-1)))

または

((a) + ((b) / (-1)))

または

((a) + ([-] と (b)))

または

[答え v] を () にする
[答え v] を ((-1) * ()) ずつ変える

3番目の回避策はbの値が正の場合のみ機能します。たとえば、 「--3」はScratchによって0と評価されます。

(() * ())
(すべて 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] を (積数字) にする

または

((a) / ((1) / (b))) //"a"と"b"の積

または

もし <(a) < [0]> なら
([絶対値 v] \( (a) \) ::operators) 回繰り返す
	[積 v] を ((0) - (b)) ずつ変える
end
でなければ
	[積 v] を [0] にする
	(a) 回繰り返す
		[積 v] を (b) ずつ変える
	end
end
(() / ())
(すべて 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

または

もし <(b) < [0]> なら
  [商 v] を (((a) * ([e ^ v](((-1) * ([ln v](((-1) * (b)))))))) * (-1)) にする
でなければ
  [商 v] を ((a) * ([e ^ v](((-1) * ([ln v]((b))))))) にする
end
([] < [])
<<<(a) > (b)> または <(a) = (b)>> ではない>
([] = [])
<<<(a) < (b)> または <(a) > (b)>> ではない>

または

(すべて v) 番目を [リスト v] から削除する //大文字と小文字を区別
(a) を [リスト v] に追加する
もし <[リスト v] に (b) が含まれる> なら
	...
end
([] > [])
<<<(a) < (b)> または <(a) = (b)>> ではない>
<<> かつ <>>
もし <. . .> なら
もし <. . .> なら
. . .
end
end

または

<<<<. . .> ではない> または <<. . .> ではない>> ではない>

または

[var v] を [0] にする
<(var) = [1]> まで繰り返す
. . . //ブロックは、c型ブロックの中に入れてください。
もし <> なら
[var v] を [1] にする
end //this works for all current boolean-accepting block

または

もし <> なら
もし <> なら
[return v] を [true] にする
でなければ
[return v] を [false] にする
end
でなければ
[return v] を [false] にする
<<> または <>>
もし <. . .> なら
. . .
でなければ
もし <. . .> なら
. . .
end
end

または

<<<<. . .> ではない> かつ <<. . .> ではない>> ではない>

または

もし <> なら
[return v] を [true] にする
でなければ
もし <> なら
[return v] を [true] にする
でなければ
[return v] を [false] にする
<<> ではない>
<(. . .) = [false]>

または

もし <> なら
//ここにブロックを入れないでください。
でなければ
. . .
([] と [])
[カウント v] を [0] にする
[final v] を [] にする
((a) の長さ) 回繰り返す // aは最初の入力です
[カウント v] を (1) ずつ変える
add ((カウント) 番目\( [a] \)の文字) to [final v]
end
[カウント v] を (0) にする
((b) の長さ) 回繰り返す // bは2番目の入力です
[カウント v] を (1) ずつ変える
((カウント) 番目\( [b] \)の文字) を [final v] に追加する
end
[final v] を (final)  にする //これが最終的な文字列です

または

//これは両方が整数でbが正の場合にのみ動作します。
[return v] を [] にする
([] の長さ) 回繰り返す
	[return v] を ((return) * (10)) にする
end
[return v] を () ずつ変える
((1) 番目\( [] \)の文字)
//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
//
[] の長さ
[return v] を [1] にする
<(((return) + (1)) 番目\( [] \)の文字) = []> まで繰り返す
[return v] を (1) ずつ変える
end
(() を () で割った余り)
もし <(((a) / (b)) を四捨五入) > ((a) / (b))> なら
	[余り v] を ((a) - (((((a) / (b)) - (0.5))を四捨五入) * (b))) にする
でなければ
	[余り v] を ((a) - ((((a) / (b)) を四捨五入) * (b))) にする
end
(() を四捨五入)
[report v] を [] にする
[カウント v] を [1] にする
<<((カウント) 番目\( (num) \)の文字) = [.]> または <(カウント) = ((num) の長さ)>> まで繰り返す
	[report v] を ((report) と ((カウント) 番目\( (num) \)の文字)) にする
	[カウント v] を (1) ずつ変える
end
もし <<((カウント)番目\( (num) \)の文字) = [.]> かつ <(((カウント) + (1)) 番目\( (num) \)の文字) > [4]>> なら
	[report v] を (1) ずつ変える
end

または

[return v] を [0] にする
[b v] を [] にする
<([絶対値 v] \( (b) \) ::operators)<[1]>まで繰り返す{
	もし <[] < [0]> なら
		[return v] を (1) ずつ変える
		[b v] を (-1) ずつ変える
	でなければ
		[return v] を (-1) ずつ変える
		[b v] を (1) ずつ変える
}::control 

または

定義 (#) を四捨五入
[カウント 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
([10 ^ v] of ())

絶対値:

[出力 v] を (number) にする
もし<(出力) < [0]> なら
	[出力 v] を ((-1) * (出力)) にする
end

または

[出力 v] を (([平方根 v] \( ((入力) * (入力)) \) ::operators) + (0)) にする

平方根:

[出力 v] を (入力) にする
<(出力) = (入力)> まで繰り返す
	[出力 v] を ((((出力) * (出力)) + (入力)) / ((2) * (出力))) にする
end

または

[出力 v] を ([e ^ v] \( ((0.5) * ([ln v] \( (入力) \))) \)) にする

ln (自然対数):

[出力 v] を (([log v] \( (入力) \)) / ([log v] \( ([e ^ v] \( (1) \)) \))) にする

e ^:

[出力 v] を ([10 ^ v] \( ((入力) * (2.718281828459)) \)) にする

log (base 10):

[出力 v] を (([ln v] \( (入力) \)) / ([ln v] \( (10) \))) にする

10 ^:

[出力 v] を ([e ^ v] \( ((入力) * ([ln v] \( (10) \))) \)) にする

切り下げ:

[出力 v] を (((入力) - (.5)) を四捨五入) にする

ceil:

[出力 v] を (((入力) + (.49999999)) を四捨五入) にする

sin:

[出力 v] を ([cos v]  \( ((90) - (入力)) \)) にする

cos:

[出力 v] を ([sin v]  \( ((90) - (入力)) \)) にする

tan:

[出力 v] を (([sin v] \( (入力) \)) / ([cos v] \( (入力) \))) にする

ペンブロック

ブロック 回避策

スタンプ

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

クローンされたとき //and any other hat block
もし <(stamping?) = [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
([スプライト v] までの距離)
([sqrt 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] )を [] で置き換える
(position) 番目を [リスト v] から削除する
(item) を (position) 番目に挿入する( [リスト 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)
([sqrt v] \( () \)::operators)

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

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

または

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

または

もし <(check user 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]>

as the ブロック you want to work around. 下のものは、ほかのメッセージを受け取ったtき、falseを返します。

[ほかのすべてのメッセージ (duplicate and replace) v] を受け取ったとき
[メッセージを受け取った v] を [false] にする

and the variable is the same. There is one または thing you can do, since the project was created, but you'll need to be a Scratcher in またはder to use it. Delete the first ブロック on the second 回避策, and make the variable a cloud variable

[緑の旗を押す前にすべてv]を止める
broadcast [Scratch-StartClicked v]

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

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

または

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

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

または

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

または

x座標を (X) ずつ変える
y座標を(Y)ずつ変える
()秒で x座標を()、 y座標を()にする::motion
 glide(seconds)secs x: ((x座標) + (X)) y: ((y座標) + (Y))
glide () secs () steps::motion
glide (seconds) secs to x: ((x座標) + (([sin v]((向き)) * (steps))) y: ((y座標) + (([cos v]  ((向き))) * (steps)))
point towards x: () y: ()::motion
point in 向き (([atan v] of (((X) - (x座標)) / ((Y) - (y座標)))) + (<(y座標) > (Y)> * (180)))
(distance to x: () y: ()::sensing)
([sqrt v] of ((((x座標) - (任意のx)) * ((x座標) - (任意のx))) + (((y座標) - (任意のy)) * ((y座標) - (任意のy)))))
<ask in progress?::sensing>
[ask in progress? v] を [true] にする
[...]と聞いて待つ
[ask in progress? v] を [false] にする
<スプライトがクリックされた::sensing>
when this スプライト clicked
[スプライトがクリックされたv] を [true] にする
<<<マウスが押された> かつ <[マウスのポインター v]に触れた>> ではない>まで待つ
[スプライトがクリックされたv] を [false] にする
すべてのスプライトを表示する::looks
[すべてのスプライトを表示するv]を送る

and

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

または

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

または put

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

in every スプライト and put

go back ((スプライト)- (1)) layers
(() ^ ():: operators)
([10 ^ v] of ((power) * ([log v] of (base))))

または

([e ^ v] of ((power) * ([ln v] of (base))))
Warning メモ: These will not work for negative bases (such as trying to compute (-2)5.
<true::operators>
<<> ではない> // Put no boolean in the not ブロック.

または

<[0] = [0]> // Same input on both slots.
<false::operators>
<<<> ではない> ではない> // Put no boolean in the second not ブロック.

または

<<> かつ <>> // Put no booleans in the and ブロック.

または

<<> または <>> // Put no booleans in the または ブロック.

または

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

または

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

または

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

または

(((true) * <condition::grey>) + ((false) * <<condition::grey> ではない>))
Warning メモ: Only works with numbers. if you want to use strings, use the first one above.
(letters () through () of []::operators)
[report v] を [] にする
[count v] を (a) // a is the first letter にする
<(count) = ((b) + (1))> まで繰り返す // b is the last letter
[report v] を (join (report) (letter (count) of (text))) にする
[count v] を (1) ずつ変える
end
(digit () of ()::operators)
(([floor v] of ((number) / ([10 ^ v] of (([floor v] of (digit)) - (1))))) mod (10))
(round () to the nearest ()::operators)
((round ((round what) / (to the nearest))) * (to the nearest))

または

((round ((number) * ([10 ^ v] of (number of places)))) / ([10 ^ v] of (number of places)))
([ v] effect::looks)
ずっと
[色 v] の効果を (effect) にする
<音 [ v] playing?::音>
[playing v] を [true] にする
終わるまで [任意の音 v] の音を鳴らす
[playing v] を [false] にする
play 音 [ v] for (1) beats::音
[任意の音 v] の音を鳴らす
rest for (1) beats
stop all 音s
(instrument::音)
ずっと
instrument を (instrument) にする
change item (1 v) of [ v] by (1)::リスト
replace item (1 v) of [任意のリスト v] with ((item (1 v) of [任意のリスト v]) + (1))
もし <> なら、ずっと {}::control
ずっと
もし <> なら
(::obsolete) がクリックされたとき::hat events
ずっと
タイマーをリセット
end
[タイマー v] > (0.1) のとき
...
When (10) + (10) = (10)::hat operators
もし <((10) + (10)) = [10]> なら
<<> xor <>::operators>
<<<bool> = <other bool>> ではない>