Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratchスクリプトクイズ
- ef_cudaran
-
Scratcher
93 posts
Scratchスクリプトクイズ
@greenFlagが押されたとき::hat events//17blocks#3381と似ていますが、2行目によって旗が押された瞬間の誤作動を防止できます。
<<マウスが押された>ではない>まで待つ
ずっと
<マウスが押された>まで待つ
<<マウスが押された>ではない>まで待つ
コスチュームを((コスチュームの[番号 v]) + ((<(マウスのx座標) > (0)> - (0.5)) * (2)))にする
end
My browser / operating system: iPhone iOS 18.3.2, Safari 18.0, No Flash version detected
追記(3/30/2025 18:06):
ゼロ除算を含み美しくありませんが、6行目は
コスチュームを((コスチュームの[番号 v]) + ((マウスのx座標) / ((マウスのx座標)の[絶対値 v]::operators)))にするとも置き換えることができます。
この場合、マウスのx座標が0のときページ送りはされず、
総ブロック数は変わらず17となります。
Last edited by ef_cudaran (March 30, 2025 09:54:13)
- yuito2013
-
Scratcher
100+ posts
Scratchスクリプトクイズ
when green flag clicked//旗が抜けていたので修正しました
forever
if <<([絶対値 v] of (mouse x)::operators) = (mouse x)> and <<mouse down?> and <touching [マウスのポインタ v] ?>>> then //クリックが抜けてました。
wait until <not <mouse down?>>
switch costume to ((costume [number v]) + (1))
else
switch costume to ((costume [number v]) - (1))//20ブロックです
end
end
Last edited by yuito2013 (March 30, 2025 07:22:58)
- _0xfffrog-
-
Scratcher
100+ posts
Scratchスクリプトクイズ
switch costume to ((costume [number v]) + (([abs v] of (mouse x)::operators) / (mouse x)))
if を使いません。
Last edited by _0xfffrog- (March 30, 2025 09:06:41)
- taiyo_a
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#3385
問題は
この問題はコスチュームを変更する部分のプログラムが主な考えどころではあると思いますが、
クリックされたことを判定するプログラムも問題に含まれるので、一応そこも書いた方がいいと思います。
問題は
ページの右半分をクリックすると次のコスチューム、左半分をクリックすると一つ前のコスチュームにするプログラムです。
この問題はコスチュームを変更する部分のプログラムが主な考えどころではあると思いますが、
クリックされたことを判定するプログラムも問題に含まれるので、一応そこも書いた方がいいと思います。
Last edited by taiyo_a (March 30, 2025 09:45:50)
- hizahige
-
Scratcher
55 posts
Scratchスクリプトクイズ
問題です。ページの右半分をクリックすると次のコスチューム、左半分をクリックすると一つ前のコスチュームにするプログラム。
条件:一つのスクリプトにする。
when green flag clickedこれでどうでしょうか。
ずっと
もし <<(マウスのx座標) > [0]> かつ <マウスが押された>> なら
次のコスチュームにする
end
もし <<(マウスのx座標) < [0]> かつ <マウスが押された>> なら
コスチュームを ((コスチュームの [番号 v]) - (1))にする
end
end
Last edited by hizahige (March 31, 2025 02:50:41)
- sukeppy
-
Scratcher
6 posts
Scratchスクリプトクイズ
出題します。
問題
画面上に A, B の2つのスプライトがあります。
この2つのスプライトを結ぶ線分が、原点から負のy軸方向に垂直に延びる半直線と交差するかどうかを判定してください。
交差するなら変数 result に true を、しないなら false を代入し、プログラムを終了してください。
制約
・スプライトは A, B ともう1つまで。
・A, B, 背景にプログラムは書かない。
・演算カテゴリのブロックを使用しない。
誤差について、
2線が同一直線上にあり、一部が重なっている場合、結果はどちらでもよい。
交点が線の端点である、または線の端点から±1ピクセルまでの位置にある場合、結果はどちらでもよい。
とします。
問題
画面上に A, B の2つのスプライトがあります。
この2つのスプライトを結ぶ線分が、原点から負のy軸方向に垂直に延びる半直線と交差するかどうかを判定してください。
交差するなら変数 result に true を、しないなら false を代入し、プログラムを終了してください。
制約
・スプライトは A, B ともう1つまで。
・A, B, 背景にプログラムは書かない。
・演算カテゴリのブロックを使用しない。
誤差について、
2線が同一直線上にあり、一部が重なっている場合、結果はどちらでもよい。
交点が線の端点である、または線の端点から±1ピクセルまでの位置にある場合、結果はどちらでもよい。
とします。
- karaagekun_77
-
Scratcher
37 posts
Scratchスクリプトクイズ
模範解答としては、(#3388)
という、マウスが押された、ではないまで待つを入れられると良いと思います。@greenFlagが押されたとき
ずっと
もし<<(マウスのx座標)>[0]>かつ<マウスが押された>>なら
次のコスチュームにする
wait until <mouse down?>
end
もし<<(マウスのx座標)<[0]>かつ<マウスが押された>>なら
コスチュームを ((コスチュームの [番号 v]) - (1))にする
wait until <mouse down?>
end
end
- Yukihisa2022
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
<> まで繰り返す // 引数には何も入れない引数がないと条件を満たすことはないので、「ずっと」と同じ動きをします。 1 block。
end
- hizahige
-
Scratcher
55 posts
Scratchスクリプトクイズ
#3395
条件が実行されてもずっとブロックは繰り返しますね!しかしこの場合条件がないので永遠に繰り返しますが、想定解2blockなのでブロックが足りないですが正解!
#3396
想定解とは違いますが、確かにこれでもずっと繰り返すので正解!
#3398
想定解通りのパーフェクト正解!!
条件が実行されてもずっとブロックは繰り返しますね!しかしこの場合条件がないので永遠に繰り返しますが、想定解2blockなのでブロックが足りないですが正解!
#3396
想定解とは違いますが、確かにこれでもずっと繰り返すので正解!
#3398
想定解通りのパーフェクト正解!!
Last edited by hizahige (April 1, 2025 23:01:14)
- shunshun16
-
Scratcher
26 posts
Scratchスクリプトクイズ
問題です。ずっとブロックを代用してください。特にブロック指定とかはないです。想定解は2ブロックです。
end
when green flag clicked5ブロックです。
[ 変数 ] を [1]にする
もし <(変数) = [1]> なら
...
end
Last edited by shunshun16 (April 3, 2025 03:24:51)













