Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratchスクリプトクイズ
- pura314
-
Scratcher
100+ posts
Scratchスクリプトクイズ
問題です。
この下のプログラムをプログラム1、
そこで、旗を押して変数が10秒間はプログラム1の変数の増え方、それ以降はプログラム2の変数の増え方をするプログラムを考えてください。
ただし、条件として、
想定解は旗が押されたブロック含めて5ブロックです。
この下のプログラムをプログラム1、
ずっとこの下のプログラムをプログラム2とする
(0) 歩動かす //ちなみにこのブロック以外でも同じ動作にすることができる。(0秒待つなど)
[変数 v] を [1]ずつ変える
end
ずっとプログラム1とプログラム2を別のプロジェクトで実行すると、変数の増え方が違うことがわかります。(これとこれの通り)
[変数 v] を (1) ずつ変える
end
そこで、旗を押して変数が10秒間はプログラム1の変数の増え方、それ以降はプログラム2の変数の増え方をするプログラムを考えてください。
ただし、条件として、
- 初期値は0。
- 旗が押されたブロックと変数を1ずつ変えるブロック、変数を0にするブロック以外は制御ブロックで行うこと。
- FPSに影響されることもあるので10秒間ではなく約10秒間でもいい。
想定解は旗が押されたブロック含めて5ブロックです。
- tuneninemuihito
-
Scratcher
59 posts
Scratchスクリプトクイズ
いい発想ですね!!... ::hatまあ、制限がありますがね。
go to x: (-240) y: (0)//できるだけ計算できるように
repeat until <(x position) = (繰り返しの回数)>
...
change x by (1)
end
計算処理を加えれば172800(480*360)まで行けると思います!
- GENPAKU1616
-
Scratcher
16 posts
Scratchスクリプトクイズ
#3542
少し前の問題になるのですが、この問題の制限に連番ではいけない(ランダムでないといけない)という制限はないので、そこを突けば
40ブロックよりすごい少なくできますね(必ず不正解になる)
https://scratch.mit.edu/projects/1210566375/
少し前の問題になるのですが、この問題の制限に連番ではいけない(ランダムでないといけない)という制限はないので、そこを突けば
40ブロックよりすごい少なくできますね(必ず不正解になる)
https://scratch.mit.edu/projects/1210566375/
Last edited by GENPAKU1616 (Aug. 29, 2025 06:37:39)
- tuneninemuihito
-
Scratcher
59 posts
Scratchスクリプトクイズ
問題。すごい長い。許して…
ペン拡張機能を使って、2点間を結ぶ点線を描いて下さい。
スプライトのコスチュームは空のベクター(コスチューム1)一枚で、音はありません。
ただし、点線は{描画する,描画しない}の組み合わせが10回になる様にして、浮動小数点の誤差も考慮してください。
描画しない場所の処理はペンを上げるでも透明度を変えるでもいいです。
また、
ペン拡張機能を使って、2点間を結ぶ点線を描いて下さい。
スプライトのコスチュームは空のベクター(コスチューム1)一枚で、音はありません。
ただし、点線は{描画する,描画しない}の組み合わせが10回になる様にして、浮動小数点の誤差も考慮してください。
描画しない場所の処理はペンを上げるでも透明度を変えるでもいいです。
また、
(x1)の4つの変数が事前に設定されている物として、それを使用してください。
(y1)
(x2)
(y2)
when green flag clickedの…の部分にプログラムを作成して下さい。その部分のブロック数をカウントします。
[x1 v]を[0]にする
[y1 v]を[0]にする
[x2 v]を[200]にする
[y2 v]を[100]にする
ペンを上げる
ペンの色を[#000000]にする
全部消す
(0)::stack custom
定義(引数)
...
使用不可な物,事想定解は28ブロックです。
変数の書き換えや新たな変数の作成はできません。
新たな定義の作成、定義の引数の変更等はできません。
指定されたスクリプト以外のスクリプトは作成できません。x座標を()、y座標を ()にする以外の動き,制御ブロックは使用できません。
もし<>なら
また、以下のブロックは使用できません。<<>かつ<>>コスチュームと音の変更(名前含む)はできません。
<<>ではない>
(()の()番目の文字)
(()を四捨五入)
()の[... v] ::operators
調べるブロックは使用できません。
Last edited by tuneninemuihito (Aug. 29, 2025 15:15:24)
- tuneninemuihito
-
Scratcher
59 posts
Scratchスクリプトクイズ
#3570・定義の入力値の値は0にしてください
こんな感じですか?
点線を10通りの意味があんまりわからない
それから「点線はの組み合わせが10回になる様に」の文章が分かりづらかったとの事、誠に申し訳ございません。
これは点1(x1,y1)から点2(x2,y2)の間に、{描画する,描画しない}の塊を10個入れると言う事です。
こちらのミスでカッコが[]になってしまっていました。すみません。
修正致しましたので確認をお願いいたします。
Last edited by tuneninemuihito (Aug. 30, 2025 08:59:02)
- abee
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
#3574
ある関数の中で、その関数を呼び出すことを「再帰呼び出し」と言います(recursive call, リカーシブコール)。
ブロック定義は厳密には関数ではありませんが、その書き方も再帰です。
ある関数の中で、その関数を呼び出すことを「再帰呼び出し」と言います(recursive call, リカーシブコール)。
ブロック定義は厳密には関数ではありませんが、その書き方も再帰です。
- finalbacon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
出題します。
3つのスプライトがそれぞれ(x_1 , y_1) (x_2 , y_2) (x_3 , y_3)にあるとき、これらからできる三角形の内側を塗りつぶすプログラムを作ってください。
↑この説明がムズカシイと思う人は「3つのスプライトからできる三角形をぬりつぶす」と思ってもらってOKです。
ただし、追加の変数は3つまでしか作ってはいけません。もちろんリストも作ってはいけません。
とっつきやすいように、前提条件が整えられているプロジェクトを作りました。リミックスやコピーなどするとラクです。
こちらです。https://scratch.mit.edu/projects/1218991116/
【くわしい説明】
・「塗りつぶす」とは、「中身が全部まわりとは別の色で塗られている」ことを指します。スキマが空いてはいけません。
・はみ出しは、ほんの少しならOKです。
・3つのスプライトは-240≦x≦240、-180≦y≦180です。大雑把に言えば、「スプライトは画面内に収まる」です。
・有限時間内に終わるようにしてください。また、見る人のカーソル操作によって書かせるものはNGです。
・変数は元から6個あります。なので、変数の個数の上限は9個、ということになります。
・3つのスプライトが一直線になるようなときには、どんな感じになっても大丈夫です。
頑張ってください。想定解はいくつか考えてあります。
【余談】
「変数3個」という条件は、「内接円を使った塗りつぶし」を妨害するために入れています。「内接円を使った塗りつぶし」を強行してみるのも面白いかもしれません。
あと、音量などを使えば変数を実質的に増やせますが、想定内です。自分のプライドと相談してみてください。
3つのスプライトがそれぞれ(x_1 , y_1) (x_2 , y_2) (x_3 , y_3)にあるとき、これらからできる三角形の内側を塗りつぶすプログラムを作ってください。
↑この説明がムズカシイと思う人は「3つのスプライトからできる三角形をぬりつぶす」と思ってもらってOKです。
ただし、追加の変数は3つまでしか作ってはいけません。もちろんリストも作ってはいけません。
とっつきやすいように、前提条件が整えられているプロジェクトを作りました。リミックスやコピーなどするとラクです。
こちらです。https://scratch.mit.edu/projects/1218991116/
【くわしい説明】
・「塗りつぶす」とは、「中身が全部まわりとは別の色で塗られている」ことを指します。スキマが空いてはいけません。
・はみ出しは、ほんの少しならOKです。
・3つのスプライトは-240≦x≦240、-180≦y≦180です。大雑把に言えば、「スプライトは画面内に収まる」です。
・有限時間内に終わるようにしてください。また、見る人のカーソル操作によって書かせるものはNGです。
・変数は元から6個あります。なので、変数の個数の上限は9個、ということになります。
・3つのスプライトが一直線になるようなときには、どんな感じになっても大丈夫です。
頑張ってください。想定解はいくつか考えてあります。
【余談】
「変数3個」という条件は、「内接円を使った塗りつぶし」を妨害するために入れています。「内接円を使った塗りつぶし」を強行してみるのも面白いかもしれません。
あと、音量などを使えば変数を実質的に増やせますが、想定内です。自分のプライドと相談してみてください。
Last edited by finalbacon (Sept. 19, 2025 23:29:56)
- Doctor_Fe
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#3576
楽しそうなので私も作ってみました。
有効な解答と見做せるかについては意見が分かれそうですが、こういう解法も面白いと思います。
https://scratch.mit.edu/projects/1219130446/
楽しそうなので私も作ってみました。
有効な解答と見做せるかについては意見が分かれそうですが、こういう解法も面白いと思います。
https://scratch.mit.edu/projects/1219130446/
- finalbacon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#3580
正解です!こういう「逆転の発想」は前にも何回か見たことがあるのですが、コスチュームを使わないものを見たのは初かもしれません。
「逆転の発想」を見るたびに、「その手があったか…!」とびっくりさせられてます。
正解です!こういう「逆転の発想」は前にも何回か見たことがあるのですが、コスチュームを使わないものを見たのは初かもしれません。
「逆転の発想」を見るたびに、「その手があったか…!」とびっくりさせられてます。








