Discuss Scratch

yucca42
Scratcher
100+ posts

Scratchスクリプトクイズ

なかなか回答が出ないので夜には想定解出しますね
ito-noizi
Scratcher
100+ posts

Scratchスクリプトクイズ

#3542のリストを逆順にする問題を解きました。
「簡単にするため、リストの長さの上限は10までとします」という言い方に引っかかって、解くことができました。
https://scratch.mit.edu/projects/1201319127/

メッセージを受け取ったときを使っていますが、それは見なかったことにしてください。それを除いて52ブロックです。

Last edited by ito-noizi (July 25, 2025 04:49:43)

ef_cudaran
Scratcher
93 posts

Scratchスクリプトクイズ

#3542

https://scratch.mit.edu/projects/1201533883

かなり長くなりましたが、問題の条件は全て満たしています。
(「(1)回繰り返す」を除き243blocks)

Last edited by ef_cudaran (July 25, 2025 06:45:31)

MacBookProM3MAX
Scratcher
100+ posts

Scratchスクリプトクイズ

消去

Last edited by MacBookProM3MAX (Aug. 3, 2025 05:42:10)

yucca42
Scratcher
100+ posts

Scratchスクリプトクイズ

#3547
#3546
回答ありがとうございました。
長さ10くらいならゴリ押しもありですね。

それでは#3542の想定解はこちらです。
想定解(40ブロック)
一応長さ上限なしのやつも入れました。(9ブロック追加)

以下は解説↓

逆順にする方法は
最後のデータを、積み重ねていく形を採用しました。
入力list: [ 3, 1, 2 ] → [ 3, 1 ] → [ 3 ] → [ ]
結果list: [ ] [ 2 ] [ 2, 1 ] [ 2, 1, 3 ]

最後のデータの取得方法は、カウントアップ変数の値を1づつ変えて、
変数の値の場所がlistの長さと一致する時、変数の値が最後のデータとなります。
listの長さ=3
[ 3, 1, 2 ]

変数=1
→ 1の場所は2 ( ≠ 3)

変数=2
→ 2の場所は3 ( = 3)
→ 2が最後のデータ

変数の値の場所がlistの長さと一致する時に特定の処理を行うには、
listの長さをlistの1番目に入れて、「(変数の値の場所)の場所」で1か0が出ます
※実際にはlistを一つにする関係で処理が逆
(変数の値の場所)がlistの長さなら1が出る
list: [ 3, 1, 2 ]
長さ保持list: [ 3 ]

変数=1
(変数の値の場所)=2
→ 長さ保持listの 2 の場所 = 0

変数=2
(変数の値の場所)=3
→ 長さ保持listの 3 の場所 = 1
1か0か出れば、お馴染みの擬似ifループでif分岐できます。
[0 or 1] 回繰り返す
end

あとはこれらをlist一つで処理します。
リスト圧縮技術の見せ所
うまいこと組み合わせます

カウントアップ変数は、1番目に @ を挿入して、1番目に _ を挿入し続ければ
@の場所 が変数の値になります。
[ @ ] → 1
[ _, @ ] → 2
[ _, _, @ ] → 3

Last edited by yucca42 (July 25, 2025 13:04:18)

dragon_sub
Scratcher
12 posts

Scratchスクリプトクイズ

出題します。(単純すぎて既出かもしれませんが)
任意の実数
(n)

(m)
が与えられます。この時、n≧mを判定するプログラムを作ってください。想定解は4ブロックです。
lpv_vql
Scratcher
41 posts

Scratchスクリプトクイズ

#3550
<<(n) < (m)> ではない>
dragon_sub
Scratcher
12 posts

Scratchスクリプトクイズ

lpv_vql wrote:

#3550
<<(n) < (m)> ではない>
正解です
pura314
Scratcher
100+ posts

Scratchスクリプトクイズ

#3550
こちらあってますかね?
https://scratch.mit.edu/projects/1203429198/
想定解よりもブロック数は多いですが、、、(上の投稿は既知です。)

Last edited by pura314 (Aug. 2, 2025 09:37:37)

dragon_sub
Scratcher
12 posts

Scratchスクリプトクイズ

pura314 wrote:

#3550
こちらあってますかね?
https://scratch.mit.edu/projects/1203429198/
想定解よりもブロック数は多いですが、、、(上の投稿は既知です。)
ずっと()が実行中であることに依存するので不適かと
正解です

Last edited by dragon_sub (Aug. 2, 2025 10:26:28)

dragon_sub
Scratcher
12 posts

Scratchスクリプトクイズ

#3550
想定解は
<not <(n) < (m)>>
<not <(m) > (n)>>
<((n) - (m)) > [.*]>
などでした。
tuneninemuihito
Scratcher
62 posts

Scratchスクリプトクイズ

回数の指定できる繰り返しを作って下さい。
但し変数とリスト、
()回繰り返す
end
は使用出来ません。
ちょっと簡単すぎたかな…
...
(繰り返し回数)
を使用、変数の変更は不可。
...
を人力で複数繋げる物は認めません。
Catapult-
Scratcher
100+ posts

Scratchスクリプトクイズ

#3556
(繰り返し回数)::stack custom
define ()
. . .
if <[1]<(::custom)> then
((::custom)-[1])::stack custom
end
コールスタックが深くなるので好きではありません

Last edited by Catapult- (Aug. 15, 2025 13:51:09)

nozotti0909
Scratcher
24 posts

Scratchスクリプトクイズ

shunshun16
Scratcher
26 posts

Scratchスクリプトクイズ

#3556

for each[繰り返し回数 v] in (繰り返し回数)
...
end
せいかいですか?(上のfor each…は形やカテゴリが違うのですがありますよ。https://scratch.mit.edu/projects/1169105218/editor/ )

Last edited by shunshun16 (Aug. 17, 2025 14:26:56)

tuneninemuihito
Scratcher
62 posts

Scratchスクリプトクイズ

#3557,3558
正解です。
#3559
その手がありましたか!
_0xfffrog-
Scratcher
100+ posts

Scratchスクリプトクイズ

#3523

ずいぶん遅れてしまいました
スプライト・コスチュームどちらもなしです。
変数モニター150個でドット絵くらいの画質なら実現できました。

背景を画像効果で伸縮する方法はまだ習得できていませんので作り途中です
rrrrrrrrrrhhhhht
Scratcher
100+ posts

Scratchスクリプトクイズ

#3556

when green flag clicked
broadcast [1 v]
when I receive [1 v]
if <not <(繰り返し回数) < [繰り返したい回数]>> then
change [繰り返し回数 v] by (1)

End

でもできます。

Last edited by rrrrrrrrrrhhhhht (Aug. 19, 2025 04:58:48)

tuneninemuihito
Scratcher
62 posts

Scratchスクリプトクイズ

rrrrrrrrrrhhhhht wrote:

#3556

when green flag clicked
broadcast [1 v]
when I receive [1 v]
if <not <(繰り返し回数) < [繰り返したい回数]>> then
change [繰り返し回数 v] by (1)

End

でもできます。
(繰り返し回数)
は繰り返す回数の変数です。変更はできません。
yuito2013
Scratcher
500+ posts

Scratchスクリプトクイズ

... ::hat
go to x: (-240) y: (0)//できるだけ計算できるように
repeat until <(x position) = (繰り返しの回数)>
...
change x by (1)
end
まあ、制限がありますがね。

Powered by DjangoBB