Discuss Scratch

inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

#3219:

jjhs3213 wrote:

自分の環境では動きました。
私の動作確認の仕方がよくなかったようです。
すみません。

あの回答は ステージを一回押すと 0→1, 1→0 となるよう意図しているものかと思いました。
ちゃんとステージが押される毎にトグルしますね(これがこのクイズの意図のはず)。

inoking wrote:

それでは動きません。
動作確認してからお願いします。
を撤回し、お詫びします(sukeppy さんが動作確認しているものとして)。


この動作は
メッセージの受信処理が完了していないときに再度メッセージを受け取った場合の動作(再度、頭から実行される)と
「ずっと」による待ちの処理、
それに
[スプライトの他のスクリプトを止める v]
の動作が絡んで、かなりトリッキーになっていますね。
実行環境に依存するかもしれません。

※「動きました」のだけ報告は複数もは不要です

Last edited by inoking (Nov. 16, 2024 00:01:55)

ioqj
Scratcher
500+ posts

Scratchスクリプトクイズ

#3203#3205
正解です。#3203はコスチュームの初期設定が3だった場合には機能しませんが、2,1だった場合に機能するのでいいと思います。
#3204は初期状態が3の時にも対応されているのでいいですね。

Catapult- wrote:

(#3204)
(初期状態が3番目の場合が記載されていなかったので、とりあえず1番目になるようにしています)
確かに、初期状態がなにかも記載しておくべきでしたね。

想定解はこちらです。
コスチュームを (<(コスチュームの [番号 v]) = [1]> + (1)) にする
#3205と全く同じでした。

#3206
不正解です…
実行したときに1と2を行き来しない為です。

#3207
正解です。#3203と同じくコスチュームの初期設定が3だった場合には機能しませんが、2,1だった場合に機能するのでいいと思います。
pupon
Scratcher
100+ posts

Scratchスクリプトクイズ

#3208
正解です
想定解
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#3217
すみません。問題を読んでリロードせずに作ってしまいました。

#3223
思いつきませんでした。「送って待つ」はメッセージを受け取った側がすべて終わらないと先に進まないことを使うわけですね。「ずっと」の代わりに「< > まで待つ」でも行けました。
プロジェクトから問題文に来れるようにプロジェクトに問題文のリンクを入れるとよいと思います。

Last edited by abee (Nov. 16, 2024 02:17:26)

pupon
Scratcher
100+ posts

Scratchスクリプトクイズ

abee wrote:

プロジェクトから問題文に来れるようにプロジェクトに問題文のリンクを入れるとよいと思います。

ありがとうございます、入れておきました。
Catapult-
Scratcher
100+ posts

Scratchスクリプトクイズ

#3222
先の私の回答ですが、文字列にキャストされてしまうので、コスチューム名が「1」「2」「3」があった場合うまく動かないことに気づきました。
when this sprite clicked
switch costume to ((costume [number v])*(2.17))
がいいですね
tsubuanman
Scratcher
100+ posts

Scratchスクリプトクイズ

問題です。

まず、スコアをスプライトで表示させるために、0~9の半角数字のコスチュームを用意して、以下のようなプログラムを組みました。
@greenflagが押されたとき
ずっと
スコア::custom
end
定義 スコア //画面を再描画せずに実行する
x座標を (0) 、y座標を (0)にする
[n v] を [1]にする
((スコア)の長さ)回繰り返す
[自分自身 v]のクローンを作る
x座標を(20)ずつ変える
[n v] を (1)ずつ変える
end
クローンされたとき
表示する
コスチュームを((スコア)の(n)番目の文字)にする
()秒待つ
このクローンを削除する
これに新たにプログラムを加えて編集して、スコアが常に中央に表示されるようにしてください。
なお、スプライトは隠されており、大きさはベクターのテキストで入力した文字を150%にしているものとします。

想定解は+4ブロックですが、上記の条件を満たせばどのような手を使っても構いません。
色んな回答を待っています。

Last edited by tsubuanman (Nov. 19, 2024 09:33:52)

kaki-kui
Scratcher
36 posts

Scratchスクリプトクイズ

#3227
@greenflagが押されたとき
ずっと
スコア::custom
end
定義 スコア
x座標を ((((スコア)の長さ) * (-10)) + (10)) 、y座標を (0)にする
[n v] を [1]にする
((スコア)の長さ)回繰り返す
[自分自身 v]のクローンを作る
x座標を(20)ずつ変える
[n v] を (1)ずつ変える
end
クローンされたとき
表示する
コスチュームを((スコア)の(n)番目の文字)にする
()秒待つ
このクローンを削除する
どうでしょうか。
tsubuanman
Scratcher
100+ posts

Scratchスクリプトクイズ

正解ですね!
発想は想定解とほぼ同じですが、私のものとは少し数式が違うようです。
kaki-kui
Scratcher
36 posts

Scratchスクリプトクイズ

#3227
元々あったブロックを移動させてもいいのでしょうか。
tsubuanman
Scratcher
100+ posts

Scratchスクリプトクイズ

大丈夫です。スコアが中央に表示されていれば基本的にどんなことをしても構いませんよ。
もしかしたら、提示したプログラムよりももっと短くて効率的なコードを組むこともできるかもしれないですね。
kencyan
Scratcher
100+ posts

Scratchスクリプトクイズ

#3229
発想はほぼ同じですが、自分は#3228の
((((スコア)の長さ) * (-10)) + (10))
の部分を
((((スコア)の長さ) - (1)) * (-10))
と考えました。
tsubuanman
Scratcher
100+ posts

Scratchスクリプトクイズ

正解です!私の想定解と全く同じ回答になりました。
結構渾身の問題だったはずなんですが、すぐ答えられてて少しびっくりしてます()
yuito2013
Scratcher
100+ posts

Scratchスクリプトクイズ

問題です。
@stopSignボタンが押されたとき::control 
みたいなプログラムを作って下さい。タイマー
(timer)
forever

end
などブロック定義以外はすべて使えます。そして、連打(2回押すときも検知する)も対応させて下さい。サムネにクローンを使うときなどに使えます。
23940325-sub
New Scratcher
1 post

Scratchスクリプトクイズ

 
when green flag clicked
ずっと
reset timer
end

when [タイマー v] > (0)
[全てを止める v]

こうですかね?
tonnkatuteacher
Scratcher
7 posts

Scratchスクリプトクイズ

yuito2013 wrote:

問題です。
@stopSignボタンが押されたとき::control 
みたいなプログラムを作って下さい。タイマー
(timer)
forever

end
などブロック定義以外はすべて使えます。そして、連打(2回押すときも検知する)も対応させて下さい。サムネにクローンを使うときなどに使えます。


これはどうでしょうか?
when green flag clicked
forever
reset timer
end
when [タイマー] > (10)
change [変数] by (1)
if <[変数] > [1]> then
broadcast [2回以上]
stop [全てを止める]

end

Last edited by tonnkatuteacher (Jan. 8, 2025 02:38:09)

Murasakineko_Pinkcat
Scratcher
40 posts

Scratchスクリプトクイズ

yuito2013 wrote:

問題です。
@stopSignボタンが押されたとき::control 
みたいなプログラムを作って下さい。タイマー
(timer)
forever

end
などブロック定義以外はすべて使えます。そして、連打(2回押すときも検知する)も対応させて下さい。サムネにクローンを使うときなどに使えます。
これですかね?

when green flag clicked
forever
reset timer
end

when [タイマー v] > (0)
forever
reset timer
end


When [タイマー v] > (0) // これは、停止ボタンが押された時のもの

Last edited by Murasakineko_Pinkcat (Jan. 8, 2025 03:09:53)

yuito2013
Scratcher
100+ posts

Scratchスクリプトクイズ

#3236#3237正解です!ちなみに#3237のやつを想定してましたが、止める回数でやれる方法は考えもしなかったです!
hizahige
Scratcher
25 posts

Scratchスクリプトクイズ

yuito2013 wrote:

問題です。
@stopSignボタンが押されたとき::control 
みたいなプログラムを作って下さい。タイマー
(timer)
forever

end
などブロック定義以外はすべて使えます。そして、連打(2回押すときも検知する)も対応させて下さい。サムネにクローンを使うときなどに使えます。

 When green flag clicked
ずっと
タイマーをリセット
end

when [ タイマー] > (0.1)

ならいけるんじゃないかと思います!!

Last edited by hizahige (Jan. 17, 2025 10:26:57)

SPRUNKI-FUN
Scratcher
9 posts

Scratchスクリプトクイズ

問題です。
when green flag clicked
と同じようなプログラムを作れますか?できる限りで良いです。

Powered by DjangoBB