Discuss Scratch

itnkmkw
Scratcher
1000+ posts

Scratchスクリプトクイズ

matunyan0930 wrote:

無駄なスクリプトを組んでみよう!

位置がランダムな2点の間の距離を求めるスクリプトを可能な限り長く作ってください。
点が座標なのかスプライトなのかペンなのかは回答者にお任せします。
ただし、
「かさ増し」は禁止です。
あとは自由です。
ではピタゴラスの定理を使わず,無駄にややこしくしましょう。
(スタートx)
(スタートy)
(目的地x)
(目的地y)
[距離 v] を [0] にする
(([atan v] \( (((目的地y) - (スタートy)) / ((目的地x) - (スタートx))) \)) - (90)) 度に向ける
もし <(x座標) < (目的地x)> なら
もし <(y座標) < (目的地y)> なら
<<(x座標) > (目的地x)> かつ <(y座標) > (目的地y)>> まで繰り返す
(0.01) 歩動かす
[距離 v] を (0.01) ずつ変える
end
でなければ
<<(x座標) > (目的地x)> かつ <(y座標) < (目的地y)>> まで繰り返す
(0.01) 歩動かす
[距離 v] を (0.01) ずつ変える
end
end
でなければ
もし <(y座標) < (目的地y)> なら
<<(x座標) < (目的地x)> かつ <(y座標) > (目的地y)>> まで繰り返す
(0.01) 歩動かす
[距離 v] を (0.01) ずつ変える
end
でなければ
<<(x座標) < (目的地x)> かつ <(y座標) < (目的地y)>> まで繰り返す
(0.01) 歩動かす
[距離 v] を (0.01) ずつ変える
end
end
これでどうでしょうか?
「距離」という変数の最終的な値が距離になります。
TOMO1260
Scratcher
100+ posts

Scratchスクリプトクイズ

真偽ブロックを使ってfalse(0)とtrue(1)を使って1と39を作ります。
ただし、
もし <> なら

end
は使ってはいけません。
itnkmkw
Scratcher
1000+ posts

Scratchスクリプトクイズ

TOMO1260 wrote:

真偽ブロックを使ってfalse(0)とtrue(1)を使って1と39を作ります。
ただし、
もし <> なら

end
は使ってはいけません。
たとえば
((1) + (<真偽> * (38)))
などですか?
mitaku115
Scratcher
500+ posts

Scratchスクリプトクイズ

クイズ
() 回繰り返す

end
を使わずに
プログラムを任意の回数繰り返すにはどうすればいいでしょう?
bsahd
Scratcher
100+ posts

Scratchスクリプトクイズ

mitaku115 wrote:

クイズ
() 回繰り返す

end
を使わずに
プログラムを任意の回数繰り返すにはどうすればいいでしょう?
[i v] を [0] にする
<(i)=(繰り返す回数)> まで繰り返す
[i v] を (1) ずつ変える
...
end

Last edited by bsahd (July 6, 2020 08:40:58)

sky_77
Scratcher
500+ posts

Scratchスクリプトクイズ

インクリメント(
[i v] を (1) ずつ変える
)を忘れていませんか?編集されました。

Last edited by sky_77 (July 6, 2020 10:10:57)

scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

初問題です!
1ブロックだけで infinity(∞) と
1ブロックだけで -infinity(-∞)
を出してください!
sousi02
Scratcher
100+ posts

Scratchスクリプトクイズ

-infinityは、
([ln v] \( () \))
でしょうか。
infinityは分かりません。
0% edit textにハマりすぎたせいで入力いいの忘れてた

Last edited by sousi02 (July 6, 2020 09:55:27)

ZIKKEN_KING
Scratcher
100+ posts

Scratchスクリプトクイズ

Infinityなら
((1) / (0))
ですかね。
yukku
Scratcher
1000+ posts

Scratchスクリプトクイズ

2ブロックですけど、
<<>ではない>/()
がInfinityになります。ずるい方法だと
[Infinity]と()
でできます。
scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

sousi02 wrote:

-infinityは、
([ln v] \( () \))
でしょうか。
infinityは分かりません。
0% edit textにハマりすぎたせいで入力いいの忘れてた
それは知らなかったです
scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

ZIKKEN_KING wrote:

Infinityなら
((1) / (0))
ですかね。
僕の正解はそれです。が-infinityもその方法で作れます。

yukku wrote:

2ブロックですけど、
<<>ではない>/()
がInfinityになります。ずるい方法だと
[Infinity]と()
でできます。
ずるい方法は打つのが毎回大変そうです…
ZIKKEN_KING
Scratcher
100+ posts

Scratchスクリプトクイズ

((-1) / (0))
ですかね。
scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

ZIKKEN_KING wrote:

((-1) / (0))
ですかね。
正解です!
inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

数学関数を使っていいのなら
((90) の [tan v]::operators) //Infinity
((-90) の [tan v]::operators) //-Infinity
とかでもできますね。
scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

inoking wrote:

数学関数を使っていいのなら
((90) の [tan v]::operators) //Infinity
((-90) の [tan v]::operators) //-Infinity
とかでもできますね。
それもいいですね。
TOMO1260
Scratcher
100+ posts

Scratchスクリプトクイズ

itnkmkw wrote:

TOMO1260 wrote:

真偽ブロックを使ってfalse(0)とtrue(1)を使って1と39を作ります。
ただし、
もし <> なら

end
は使ってはいけません。
たとえば
((1) + (<真偽> * (38)))
などですか?
自分の答え:
((<真偽> * (38)) + (1))
正解だね!

Last edited by TOMO1260 (July 6, 2020 22:49:32)

scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

<<[] < []> または <[] = []>>
() <= () を演算ブロック2個使って出してみてください!↑よりもスマート!
bsahd
Scratcher
100+ posts

Scratchスクリプトクイズ

scratch_japan wrote:

<<[] < []> または <[] = []>>
() <= () を演算ブロック2個使って出してみてください!↑よりもスマート!
<((a) - (1)) < (b)>
scratch_japan
Scratcher
100+ posts

Scratchスクリプトクイズ

bsahd wrote:

scratch_japan wrote:

<<[] < []> または <[] = []>>
() <= () を演算ブロック2個使って出してみてください!↑よりもスマート!
<((a) - (1)) < (b)>
もしそうするならa-0.000….1にしないとだめです。

Powered by DjangoBB