Discuss Scratch

10coin
Scratcher
100+ posts

意外と知られていないテクニック集

同じようなものがすでにこのトピックにあったら削除します。
⚑ がクリックされたとき
ずっと
もし <([enter] と []) キーが押された> なら
[Meow v] の音を鳴らす
end
end
みたいにすればEnterキーを使うことができます。

inoking
Scratcher
1000+ posts

意外と知られていないテクニック集

10coin wrote:

~略~
みたいにすればEnterキーを使うことができます。
別トピックですがここに詳細があります。

当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
inoking
Scratcher
1000+ posts

意外と知られていないテクニック集

Last Post からのリンク切れ対策です。

当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
wakisaka285
Scratcher
100+ posts

意外と知られていないテクニック集

3.0で
((乱数 v) 番目( [ v] ) :: list)
が消えて、
(((1) から ([ v] の長さ :: list) までの乱数) 番目( [ v] ) :: list)
としなくてはいけなくなったのですが、
まず下のコードをコピーします。
random
そして、「()番目」の()のところにペーストして、
([random] 番目( [ v] ) :: list)
のようにします。これでランダムな値が出力されます。

Last edited by wakisaka285 (Jan. 3, 2020 07:31:55)

KYHID
Scratcher
60 posts

意外と知られていないテクニック集

( v) 番目を [list v] から削除する
(( v) 番目( [list v] ) :: list)
みたいなブロックで、○番目のところに last と入力すると
最後の要素を取り出してくれる。
(打てないときはコピペすればおk)

Last edited by KYHID (Jan. 3, 2020 07:20:53)

inoking
Scratcher
1000+ posts

意外と知られていないテクニック集

wakisaka285 wrote:

そして、「()番目」の()のところにいれて
太字部分
数字しか入力できないので、「ペーストして」ですね。
※ペーストできてしまうのは一種のバグかも

当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

10coin wrote:

同じようなものがすでにこのトピックにあったら削除します。
重複しているからと言って、特に消す必要はありません。(意図的に行った場合を除く)
wakisaka285
Scratcher
100+ posts

意外と知られていないテクニック集

inoking wrote:

wakisaka285 wrote:

そして、「()番目」の()のところにいれて
太字部分
数字しか入力できないので、「ペーストして」ですね。
※ペーストできてしまうのは一種のバグかも
修正しました
takkun0530
Scratcher
100+ posts

意外と知られていないテクニック集

定義 a
・・・
a

ずっと
・・・
end
と同じ

Scratch On


Cloud System "ON!"

Poteto143
Scratcher
500+ posts

意外と知られていないテクニック集

takkun0530 wrote:

定義 a
・・・
a

ずっと
・・・
end
と同じ
ただ、「画面を再描写せずに実行する」を有効にした定義ブロックで同じことをすると非常に重くなるので注意です・・・
NT_ZZzz
Scratcher
61 posts

意外と知られていないテクニック集

2.0では末尾再帰はメモリをバカ食いするということがあったそうです
現環境では特に問題は感じていませんが(メモリはバカ食いします)
[ message1 v] を受け取ったとき
・・・
[ message1 v] を送る
などのメッセージによる再帰の方がいいかもしれません

Last edited by NT_ZZzz (Jan. 6, 2020 12:03:15)


あれ?こんなところに1s1sのブロック崩しが!
コメントに投稿できる2色ドットエディターもあるの!?すごい!
pen土下座じゃない人です
これは見てみるしかないよね!
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

一般に再帰は末尾再帰でなくてもスタックを消費します。
末尾再帰であれば、ループに最適化できますが、Scratchはこれを行っていません。
メッセージの場合、「送って待つ」を使わない限り、呼び出し元に戻ることが無いので、スタックを必要としません。
Scratch 3.0でもタスクマネージャーでメモリーの消費を見ながら実行するとこの様子を観察できます。
captain_lizard
Scratcher
34 posts

意外と知られていないテクニック集

呼んだ?

!自信作!(この作品はspwcのコンテストの一次審査を通過しました。詳しくはこちらへ)僕の作品神ってる!
自分作曲依頼なども承っております。詳しくはここへ。 こいつは署名言うてなぁ!毎回手書きやないんやで!(^ω^)あへ
if <touching [壁] ?> then
必ず乗り越える。
end
kakurenbo
Scratcher
500+ posts

意外と知られていないテクニック集

やってみました。

バルーンが表示させてますが、ご了承を。

◎スペック
 〇メモリ GB DDR3
  ・容量:全体 8GB(7.9),使用可能 約5.2GB ・速度:1600MHz (Windowsは表示の半分までしか使えないらしいですが)
 〇CPU Intel® Core™ i5-3340 CPU @ 3.10GHz
  ・基本速度:3.10GHz ・コア数:4 ・論理プロセッサ数:4
My browser / operating system: Windows NT 10.0, Chrome 79.0.3945.88, No Flash version detected


最後にはページが落ちました。

余談ですが、今回の無駄な再帰のは「ジャイアン」みたいだなぁ、と。
メモリの取り合いでどんどん他人のメモリまで「お前のメモリも俺のもの」「常駐アプリアプリのくせに」と消費しいって、最後には母ちゃんというPCに殴られて土俵から落おっこちるみたいな。大根は何に例えるかって?(´・ω・`)知らんね。

Last edited by kakurenbo (Jan. 6, 2020 09:56:55)


中1のkakurenboです。よろしくお願いします。アルゴリズム系が好きですが、最近あまり作ってません…
サブアカ:@kakurenbo_sub 弟(現サブアカ2):@katayakisenbei
  ↓オススメ作品↓      ↓自信作↓        ↓最新作↓    楽しい話はここでしよう!
inoking
Scratcher
1000+ posts

意外と知られていないテクニック集

さらに余談ですが
その例えは的を射ていないかなと思います。
再帰の本質は「自分自身に帰ってくること」です。
単に資源を食いまくるのとは違うしそれは他の方法でも出来ます。


当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
kakurenbo
Scratcher
500+ posts

意外と知られていないテクニック集

確かに、再帰は上手く使えばプログラムを解かり易く、簡潔にしてくれると思います。
「終了条件の無い無駄な再帰」に飲み込まれて(?)、再帰にの本質を見失っていたような気がします。
自分で読み返しても「再帰の一番良い例え」っていうのは違う気がします^^;気になるし、修正しとくか

Last edited by kakurenbo (Jan. 6, 2020 09:57:50)


中1のkakurenboです。よろしくお願いします。アルゴリズム系が好きですが、最近あまり作ってません…
サブアカ:@kakurenbo_sub 弟(現サブアカ2):@katayakisenbei
  ↓オススメ作品↓      ↓自信作↓        ↓最新作↓    楽しい話はここでしよう!
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

再帰の面白いところは、合わせ鏡のような自己参照による相似性です。
有名なところでは、フィボナッチ数列やフラクタル図形を書いて、ループと比較してみると、その美しさが分かります。
プログラマーを長くやっていると、再帰にはまる時期が来ると思います(Yコンビネーターとか)。
captain_lizard
Scratcher
34 posts

意外と知られていないテクニック集

なるほど。わからん

!自信作!(この作品はspwcのコンテストの一次審査を通過しました。詳しくはこちらへ)僕の作品神ってる!
自分作曲依頼なども承っております。詳しくはここへ。 こいつは署名言うてなぁ!毎回手書きやないんやで!(^ω^)あへ
if <touching [壁] ?> then
必ず乗り越える。
end
KYHID
Scratcher
60 posts

意外と知られていないテクニック集

abee wrote:

プログラマーを長くやっていると、再帰にはまる時期が来ると思います(Yコンビネーターとか)。
今現在進行系でハマっています。なんか大きな問題を細かな問題に分割して解いていくのが綺麗で好きです(唐突)

captain_lizard wrote:

なるほど。わからん
再帰、については知ってますかね?
簡単な例を上げると
定義 繰り返し
(10) 歩動かす
繰り返し :: define
このようなものです。(自分自身を呼び出す)
これは、
ずっと
(10) 歩動かす
end
と同じふるまいをしますが、再帰の方法で書くと、とてもスッキリしたプログラムになるケースがある、ということです。
あってますかね…?
captain_lizard
Scratcher
34 posts

意外と知られていないテクニック集

まじか( ゚Д゚)頭良すぎて尊敬するわ。

!自信作!(この作品はspwcのコンテストの一次審査を通過しました。詳しくはこちらへ)僕の作品神ってる!
自分作曲依頼なども承っております。詳しくはここへ。 こいつは署名言うてなぁ!毎回手書きやないんやで!(^ω^)あへ
if <touching [壁] ?> then
必ず乗り越える。
end

Powered by DjangoBB

Standard | Mobile