Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratchスクリプトクイズ
- ef_cudaran
-
Scratcher
95 posts
Scratchスクリプトクイズ
#2561
でどうですか。検証もしました(吹き出し部分は0)。ですが、
の部分が “送って待つ” であれば違うかもしれません。
@greenflag がクリックされたとき
[リスト v] のすべてを削除する::list
タイマーをリセット
[メッセージ1 v] を送る
(タイマー) と言う
[メッセージ1 v] を受け取ったとき
(0) 秒待つ//追加
[B] を [リスト v] に追加する
[メッセージ1 v] を受け取ったとき
[A] を [リスト v] に追加する
でどうですか。検証もしました(吹き出し部分は0)。ですが、
[メッセージ1 v] を送る
の部分が “送って待つ” であれば違うかもしれません。
- abee
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
すみません。
[メッセージ1 v] を送って待つが正しいです。修正します。
Last edited by abee (March 21, 2023 00:32:13)
- tabakenn
-
Scratcher
100+ posts
Scratchスクリプトクイズ
[メッセージ1 v] を受け取ったとき屁理屈回答です!AABでもABAでもABの順に追加されています!
[A] を [リスト v] に追加する
[B] を [リスト v] に追加する
[メッセージ1 v] を受け取ったとき
[A] を [リスト v] に追加する
Last edited by tabakenn (March 20, 2023 15:31:16)
- abee
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
なるほど、問題が不十分だったのでさらに追加します。すみません。
Last edited by abee (March 20, 2023 15:34:53)
- abee
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
2日経ったので想定解を書きます。
これに対して、空ループを使うとスイッチにかかる時間を極小にできるようです。その際、繰り返し回数を0回にするとスイッチしないことがあるので最低1回は必要と思います。
@greenflag がクリックされたときこのように並行動作するスクリプトの実行順を変えたい(他のスクリプトに処理を譲りたい(イールドしたい))とき、
[リスト v] のすべてを削除する::list
タイマーをリセット
[メッセージ1 v] を送って待つ
(タイマー) と言う
[メッセージ1 v] を受け取ったとき
(1) 回繰り返す
end
[B] を [リスト v] に追加する
[メッセージ1 v] を受け取ったとき
[A] を [リスト v] に追加する
() 秒待つを使うことが多いと思いますが、これだと切り替え(コンテクストスイッチ)に約0.033秒かかってしまいます。
これに対して、空ループを使うとスイッチにかかる時間を極小にできるようです。その際、繰り返し回数を0回にするとスイッチしないことがあるので最低1回は必要と思います。
- taNup0n
-
Scratcher
500+ posts
Scratchスクリプトクイズ
このような条件を満たす、リストを出力するスクリプトを書いてください(a,b,c,dは定数)
- リストはa行
- リストは、0と1のみで構成されたb文字の文字列
- このような規則で、最初の行から最後の行に必ずたどり着ける
- 最初にリストの最初の行のうちで、0であるもじをランダムに、選ぶ
- 文字数を+-1する、行数を+-1するの操作のみで、c行先に0であるますを通らずにいくルートを1つ(ランダム)に選ぶ(このとき現在の行より前に行ってはいけない)
- リストのなかに自身が0かつその前後左右のうち少なくとも三つが0である
- xiangyeng
-
Scratcher
100+ posts
Scratchスクリプトクイズ
@greenflagがクリックされたとき
[クローンされた回数 v] を (0) にする
x座標を (-200) 、y座標を ((-180) から (180) までの乱数) にする
[クローンする回数 v] を [] にする//ここの[]の値を考えて下さい
(クローンする回数) 回繰り返す
[自分自身 v] のクローンを作る
end
x座標を ((クローンされた回数) * (10)) ずつ変える//これだと滑らかには動きませんがわかりやすくするためです:D
もし <(x座標) = [200]> なら
[正解!] と言う
でなければ
[不正解…。] と言う
end
クローンされたときでは問題です‼️上のようなスプライトを組んだスプライトに「正解!」と言わせるには 変数“クローンする回数” の値を何にすればいいでしょう。
[クローンされた回数 v] を [1] ずつ変える
(※この問題で2つの変数が出てきましたが、どちらの変数も「すべてのスプライト用」です‼️
あと、上のスクリプトを組んだスプライトしかいないと想定してください‼️
それともう1つ、未公開スクリプトはありません‼️)
(超簡単な問題ですよ‼️)
Last edited by xiangyeng (March 26, 2023 08:51:42)
- xiangyeng
-
Scratcher
100+ posts
Scratchスクリプトクイズ
「クローンされた回数」が「このスプライトのみ」だと、正解なしになると思います。すみません。ちょっと仕組みを勘違いしてました。Editしようと急いでたところです。
#2572をEditします。すみません‼️
Last edited by xiangyeng (March 26, 2023 08:44:22)
- xiangyeng
-
Scratcher
100+ posts
Scratchスクリプトクイズ
Editして編集しました‼️「クローンされた回数」が「このスプライトのみ」だと、正解なしになると思います。すみません。ちょっと仕組みを勘違いしてました。Editしようと急いでたところです。
#2572をEditします。すみません‼️
#2571正解はあります。この件について誠に反省しています。すみません‼️
そのスクリプトを組んだスプライトしかいません。あと、どちらの変数も「すべてのスプライト用」です。(未公開スクリプトとかはないので大丈夫です)
Last edited by xiangyeng (March 26, 2023 08:45:23)
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
問題 このようなスクリプトがあります。
⚑ がクリックされたときこのスクリプトを一回操作し、リストに必ず 2 が追加される方法を考えてください。ただし、クリック(ドラッグ)した回数を1操作とします。
[list v] のすべてを削除する
(10) 回繰り返す
[変数 v] を ((0) から (1) までの乱数) にする
(変数) を [list v] に追加する
end
- xiangyeng
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2568正解です‼️まあ自分で簡単と言ってしまいましたからね…。
40。
単に-200+10x=200を考えました。
- xiangyeng
-
Scratcher
100+ posts
Scratchスクリプトクイズ
問題 このようなスクリプトがあります。
略
このスクリプトを一回操作し、リストに必ず 2 が追加される方法を考えてください。ただし、クリック(ドラッグ)した回数を1操作とします。
@greenflagがクリックされたときこういうことですか?
[list v]のすべてを削除する
(10) 回繰り返す
[変数 v] を ((0) から (1) までの乱数) にする
(変数) を [list v] に追加する
(last v) 番目( [list v] )を [2] で置き換える
end
(PC版でもモバイル版でもスペルがわかっていればlastと文字を入れれます。(が、「last」と入れたところに数字以外を入れやすいのはPC版。
モバイル版も数字を入れる場所を何回か押すとスペルが分かっていれば「last」と打てます)
Last edited by xiangyeng (March 26, 2023 22:28:46)