Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratchスクリプトクイズ
- attoma-ku
-
48 posts
Scratchスクリプトクイズ
#3418
https://scratch.mit.edu/projects/1160920760
milpoyxkさんのプログラム(#3421)を参考にしました。10ブロックです。
プログラムの実行前にリスト「り」に何かが入っていると上手く動作しないことがありますが、このプログラムを何度も実行することでは動作に影響を与えません。
https://scratch.mit.edu/projects/1160920760
milpoyxkさんのプログラム(#3421)を参考にしました。10ブロックです。
プログラムの実行前にリスト「り」に何かが入っていると上手く動作しないことがありますが、このプログラムを何度も実行することでは動作に影響を与えません。
Last edited by attoma-ku (April 12, 2025 07:31:40)
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
#3418
https://scratch.mit.edu/projects/1160389019/
このような感じでしょうか?
#3418
https://scratch.mit.edu/projects/1160920760
milpoyxkさんのプログラム(#3421)を参考にしました。10ブロックです。
プログラムの実行前にリスト「り」に何かが入っていると上手く動作しないことがありますが、このプログラムを何度も実行することでは動作に影響を与えません。
双方の回答について、少なくともマウスポインターまでの距離が100.5のときに期待する動作をしません。
よって不正解です。
少なくともスプライトが原点にあり、マウスのx座標が-43で、マウスのy座標が90、マウスポインターまでの距離が99.74467404327912のときに10歩動いてしまいます。 多分ちょっと誤差ある
https://scratch.mit.edu/projects/1160933046/
よって不正解です。
Last edited by ito-noizi (April 12, 2025 09:56:22)
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
#3418少なくともマウスポインターまでの距離が100.499のときに期待した動作をしません。
https://scratch.mit.edu/projects/1160958203/
これでどうでしょう
よって不正解です。
n回繰り返すのnが切り上げられて繰り返されるというのは誤りです。
また、「一回動くときにどれだけ時間がかかっても構いません」という条件から、定義ブロックfuncはなくても問題ないです。
Last edited by ito-noizi (April 12, 2025 11:00:03)
- nposss
-
100+ posts
Scratchスクリプトクイズ
#3426
https://scratch.mit.edu/projects/1160958203/
純粋に中身を変えました。
分かりやすくするため15ブロック使用していますが9ブロックまで少なくできます
https://scratch.mit.edu/projects/1160958203/
純粋に中身を変えました。
分かりやすくするため15ブロック使用していますが9ブロックまで少なくできます
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
過去ログが他の人からはわからなくなってしまうので、別プロジェクトとして共有してほしかったです……。
#3425の方法は想定解16blocksに酷似していました。
ですが、少なくともマウスポインターまでの距離が100のときも10歩歩いてしまいます。
よって不正解です。
もちろんこれはターボモードなどを使っていません。
#3425の方法は想定解16blocksに酷似していました。
#3426タイマーを使う方法ですね。「0.01xマウスポインターまでの距離」を行うことでの高速化も面白いです。
https://scratch.mit.edu/projects/1160958203/
純粋に中身を変えました。
分かりやすくするため15ブロック使用していますが9ブロックまで少なくできます
ですが、少なくともマウスポインターまでの距離が100のときも10歩歩いてしまいます。
よって不正解です。
もちろんこれはターボモードなどを使っていません。
Last edited by ito-noizi (April 12, 2025 10:59:49)
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
正解です! #3418
https://scratch.mit.edu/projects/1160964389/
冗長な気もしますがこれでどうでしょうか…
音量ブロックを使う方法は僕も考えましたが、どのようにして0より大きいを示すかで悩んであきらめていました。
とても良い実装例だと思います。
想定解は二つ用意していますが、どちらの着想とも異なっています。
また別の方法で問題を解いてみたり、ブロック数を減らすなどして遊んでみてください!
#3428マウスポインターまでの距離が100のときに期待した動作をしません。
https://scratch.mit.edu/projects/1160958203/
統合しました
3番の猫が新作になります
PS
ブロック数は14となります
よって、不正解です。
- inoking
-
1000+ posts
Scratchスクリプトクイズ
こちらを引用します。
私からもお願いします。 過去ログが他の人からはわからなくなってしまうので、別プロジェクトとして共有してほしかったです……。
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
#3431ええっと、100でうまくいかないっていうのは適当にテストケースを入れたもので、すべての不正解のデータを上げてるわけではありません。
https://scratch.mit.edu/projects/1160958203/
4番の猫になります
純粋に100のときの例外処理を追加しました
ブロック数は14 -> 17となります
「少なくとも」と書くのを忘れていました。
type4に関して少なくとも50以上100未満だとうまくいかないように見えます。(もちろんすべてのケースはテストしていませんが)
type5に関して正解です。
16blocksの方の想定解とほとんど同じです。
……とか思っていたら、1block分減らす方法を見つけたので、書き換えちゃいました()
外側のif文についてなのでほとんどソースコードは変わっていません。
repeat分を使った想定解についてはこれです。
https://scratch.mit.edu/projects/1160852298/
一応16blocksだったプログラムの画像も貼っておきます。
https://u.cubeupload.com/ito_noizi/block2025412212616.png
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
#3418正解です。
10Blocksです
WeDo2.0の距離(\< v)(10)のときブロックを利用しています
https://scratch.mit.edu/projects/1160977530/
そんな拡張機能があったのも知りませんでした……。大なり小なりをここまで短縮できるのは面白い。
#3418正解です。
14ブロックの回答です
「リストの()番目」をif文にはめられることと、
真偽値は0のときは偽でそれ以外の数値は真になること
を利用した面白い解き方です。
- attoma-ku
-
48 posts
Scratchスクリプトクイズ
こちらでどうでしょうか。6ブロックです。
https://scratch.mit.edu/projects/1161133769
面倒くさすぎるので距離が100.000334以下の0.000001ごとにしか対応させていませんが、理論上はすべての値に対応させられるはずです。
https://scratch.mit.edu/projects/1161133769
面倒くさすぎるので距離が100.000334以下の0.000001ごとにしか対応させていませんが、理論上はすべての値に対応させられるはずです。
- ito-noizi
-
100+ posts
Scratchスクリプトクイズ
通常のScratchで動作をするものを正答とします。 こちらでどうでしょうか。6ブロックです。
https://scratch.mit.edu/projects/1161133769
面倒くさすぎるので距離が100.000334以下の0.000001ごとにしか対応させていませんが、理論上はすべての値に対応させられるはずです。
直感ではどれだけ圧縮しても100.000001から646.6598796894701までのすべてのdouble型の数は埋めることができないように思えます。
project.jsonを生成するコードをPythonで作りましたが、僕の環境では30分で4e-8%しかできませんでした。
Scratch上で保存、共有できるとは考えづらいです。
もしも保存、共有できるとするのならその説明をお願いします。
少なくともマウスポインターを向くようになっていません。 もう一つ作れました。12ブロックです。
https://scratch.mit.edu/projects/1161161223
めっちゃ時間が掛かります。
また、マウスポインターまでの距離が100.000001のときも期待した動作をしません。
よって不正解です。
Last edited by ito-noizi (April 13, 2025 06:51:00)