Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratchスクリプトクイズ
- yajirushibekutoru
-
Scratcher
27 posts
Scratchスクリプトクイズ
1回のドラッグ操作、2回のクリック操作を必要とするので、不正解になると思います。
このルールを当てはめると、次の解法は不正解になるようです。
出題者が問題の表記について間違えていた場合、正解になるかもしれません。
また、値ブロックの裏に隠れている数値は明記されていないので、最初から任意の値が入力されていたと指定することができるでしょう。
このルールを当てはめると、次の解法は不正解になるようです。
リストに追加する処理で、入力値を変数から2に変更する。(1回のドラッグ操作、1回のクリック操作をします)
乱数の返り値を2から2までに変更する。(2回のクリック操作をします)
変数を更新する処理で、乱数ブロックを外して変更値を2に固定する。(1回のドラッグ操作、1回のクリック操作をします)
出題者が問題の表記について間違えていた場合、正解になるかもしれません。
また、値ブロックの裏に隠れている数値は明記されていないので、最初から任意の値が入力されていたと指定することができるでしょう。
- Shunkacchi
-
Scratcher
100+ posts
Scratchスクリプトクイズ
アクションゲームのジャンプ方法で問題。
初心者の場合、ジャンプを、
初心者の場合、ジャンプを、
と再現することがあります(Shunkacchiの場合)が、[上向き矢印 v] キーが押されたとき
y座標を (50) ずつ変える
<[#67eb7e] 色に触れた> まで繰り返す
y座標を (-10) ずつ変える
end
動き::motionだけで、ジャンプのスクリプトを作ってください。
イベント::events
制御::control
調べる::sensing//使わなくてもOK
演算::operators
変数::variables
Last edited by Shunkacchi (March 27, 2023 01:45:29)
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
#2583
なるほど。tabを使う方法ですか。想定していませんでした。私はクリック一回で一操作と言っていたので正解としましょう。
ただ私の想定解ではないのでそれを見つけてほしいです。ヒントは・・・少し意地悪だとおもいます。ごめんなさい。
少し誤解があったので・・・「クリック(ドラッグ)一回」は「クリックまたはドラッグを一回のみ」です。
なるほど。tabを使う方法ですか。想定していませんでした。私はクリック一回で一操作と言っていたので正解としましょう。
ただ私の想定解ではないのでそれを見つけてほしいです。ヒントは・・・少し意地悪だとおもいます。ごめんなさい。
少し誤解があったので・・・「クリック(ドラッグ)一回」は「クリックまたはドラッグを一回のみ」です。
- hirayuu1414
-
Scratcher
500+ posts
Scratchスクリプトクイズ
少し意地悪、なら
((0) から (1) までの乱数)を取り外したときに中から2が出てくる、でしょうか。
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
Last edited by Caffeine3860 (March 27, 2023 04:38:57)
- akinarin
-
Scratcher
500+ posts
Scratchスクリプトクイズ
問題です。
あるプロジェクトがあります。
そのプロジェクトには「リスト」というリストと「カウンタ」という変数があり、
「リスト」は「0」または「1」の要素だけで構成されています。
そして、そのプロジェクトはスプライト「あ」があり、
スプライト「あ」のプログラムは次のようになっています。
このプロジェクトにスプライト「い」を追加し、以下の三種類のブロックだけを使って
「リスト」の中の要素をソートするプログラムを作りなさい。
スプライト「あ」のコードを変更してはいけません。
追記:
条件が一つ抜けていました。
ソートが完了した後にプログラムが終了する必要はありません。
あるプロジェクトがあります。
そのプロジェクトには「リスト」というリストと「カウンタ」という変数があり、
「リスト」は「0」または「1」の要素だけで構成されています。
そして、そのプロジェクトはスプライト「あ」があり、
スプライト「あ」のプログラムは次のようになっています。
@greenflag がクリックされたとき :: events hat
[カウンタ v]を[1]にする
[A v]を送る
[A v] を受け取ったとき
([A-]と([リスト v]の(カウンタ)番目 :: list))を送る
[B v] を受け取ったとき
([B-]と([リスト v]の(カウンタ)番目 :: list))を送る
[代入0 v]を受け取ったとき
[リスト v]の(カウンタ)番目を(0)で置き換える::list
[代入1 v]を受け取ったとき
[リスト v]の(カウンタ)番目を(1)で置き換える::list
[カウントアップ v]を受け取ったとき
[カウンタ v]を(1)ずつ変える
[カウントダウン v]を受け取ったとき
[カウンタ v]を(-1)ずつ変える
このプロジェクトにスプライト「い」を追加し、以下の三種類のブロックだけを使って
「リスト」の中の要素をソートするプログラムを作りなさい。
[ v]を送る「あ」と「い」以外にスプライトは無く、背景には全くコードが無いものとします。
[ v]を送って待つ
[ v]を受け取ったとき
スプライト「あ」のコードを変更してはいけません。
追記:
条件が一つ抜けていました。
ソートが完了した後にプログラムが終了する必要はありません。
Last edited by akinarin (March 27, 2023 22:16:18)
- Shunkacchi
-
Scratcher
100+ posts
Scratchスクリプトクイズ
「調べる」以外は絶対使わなければいけないですか?調べる以外はすべて使ってください。
ではこれならどうですか?もう少し短いです。
- abee
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
#2584
この問題にはジャンプの定義がありません。「初心者の場合、ジャンプ」と全く同じ動きをすればよいのでしょうか。そのため、正解の動きが定まらず、問題が成立しないと思います。
また、現在の問題文だと使うブロック数の条件もありません。そのため、直接ジャンプに関係ないブロックを置くことも許されてしまいます。
この問題にはジャンプの定義がありません。「初心者の場合、ジャンプ」と全く同じ動きをすればよいのでしょうか。そのため、正解の動きが定まらず、問題が成立しないと思います。
また、現在の問題文だと使うブロック数の条件もありません。そのため、直接ジャンプに関係ないブロックを置くことも許されてしまいます。
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
#2589
正解とします。
僕の想定解は
正解とします。
僕の想定解は
⚑ がクリックされたときです。変数の部分を変えたりすると思いきやあまり関係がないという少し意地悪な問題でした。
[list v]のすべてを削除する
(10) 回繰り返す
[変数 v] を ((0) から (1) までの乱数) にする
([list v] の長さ :: list) を [list v] に追加する
end
- penguin820
-
Scratcher
18 posts
Scratchスクリプトクイズ
問題
1と2ではどちらの方が滑らかに動くでしょうか?
1
2
1と2ではどちらの方が滑らかに動くでしょうか?
1
[右向き矢印 v] キーが押されたとき
x座標を (10) ずつ変える
2
⚑ がクリックされたとき
ずっと
もし <[右向き矢印 v] キーが押された> なら
x座標を (10) ずつ変える
end
end
- abee
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
「滑らか」の意味を定義してください。このような個人の感性によって受け取り方が違う言葉は、そうしないと問題になりません。
Last edited by abee (March 29, 2023 08:14:47)
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
問題
その理由(簡潔で良いです)と、正しいスクリプトを(数字だけを変えて)作ってください。
⚑ がクリックされたときこのようなスクリプトを、1~4が均等に出るように組みましたが、これではうまくいきません。
もし <((1) から (4) までの乱数) = [1]> なら
[1 v] を (1) ずつ変える
でなければ
もし <((1) から (4) までの乱数) = [2]> なら
[2 v] を (1) ずつ変える
でなければ
もし <((1) から (4) までの乱数) = [3]> なら
[3 v] を [1] にする
でなければ
[4 v] を (1) ずつ変える
end
end
end
その理由(簡潔で良いです)と、正しいスクリプトを(数字だけを変えて)作ってください。
- roketo09
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2598
問題のスクリプトでは、1~3を検出する際、毎回数字が変わってしまいます。
追記
これじゃ数字以外も変わってますね。
なのでこれは不正解です。
@greenflag がクリックされたときだと思います。
[乱数 v] を ((1) から (4) までの乱数) にする
もし <(乱数)= [1]> なら
[1 v] を (1) ずつ変える
でなければ
もし <(乱数) = [2]> なら
[2 v] を (1) ずつ変える
でなければ
もし <(乱数) = [3]> なら
[3 v] を [1] にする
でなければ
[4 v] を (1) ずつ変える
end
end
end
問題のスクリプトでは、1~3を検出する際、毎回数字が変わってしまいます。
追記
これじゃ数字以外も変わってますね。
なのでこれは不正解です。
Last edited by roketo09 (April 4, 2023 07:58:06)
- Catapult-
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2598
でどうでしょう
別解としては、.sb3ファイルエディタをバイナリエディタで開いて値を書き換えるとか
⚑ がクリックされたとき
もし <((1) から (4) までの乱数) = [1]> なら
[1 v] を (1) ずつ変える
でなければ
もし <((1) から (3) までの乱数) = [1]> なら
[2 v] を (1) ずつ変える
でなければ
もし <((1) から (2) までの乱数) = [1]> なら
[3 v] を [1] にする
でなければ
[4 v] を (1) ずつ変える
end
end
end
でどうでしょう
別解としては、.sb3ファイルエディタをバイナリエディタで開いて値を書き換えるとか
Last edited by Catapult- (April 4, 2023 07:56:57)
- inoking
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
⚑ がクリックされたときですね。
もし <((1) から (4) までの乱数) = [1]> なら
[1 v] を (1) ずつ変える //1/4
でなければ
もし <((2) から (4) までの乱数) = [2]> なら
[2 v] を (1) ずつ変える //3/4 * 1/3
でなければ
もし <((3) から (4) までの乱数) = [3]> なら
[3 v] を [1] にする //3/4 * 2/3 * 1/2
でなければ
[4 v] を (1) ずつ変える //3/4 * 2/3 * 1/2
end
end
end
2箇所しか変えていません。
理由は確率分布が違うからです。
Last edited by inoking (April 4, 2023 08:03:22)