Discuss Scratch
- Discussion Forums
- » 日本語
- » 意外と知られていないテクニック集
- taji-pg
-
Scratcher
62 posts
意外と知られていないテクニック集
リストをシャッフルする方法
定義 リストをシャッフル
[i v] を [1] にする
(([シャッフルしたいリスト v] の長さ :: list))回繰り返す
((i)) 番目( [シャッフルしたいリスト v] )を(((1) から ([シャッフルしたいリスト v] の長さ :: list) までの乱数) 番目( [シャッフルしたいリスト v] ) :: list)で置き換える
[i v] を (1) ずつ変える
- daihuku-otya
-
Scratcher
100+ posts
意外と知られていないテクニック集
#2184に補足
乱数を使ってシャッフルしたいリストに入れなおせばいいですよ〜〜♪♫
#2184↑これを改善するためには、シャッフルしたいリスト内のテキストを一時的に入れておくリストに入れ、
それはなくなるデータがある可能性が十分にありすぎで,シャッフルとはとても呼べません.ちょっとでもダメですが
乱数を使ってシャッフルしたいリストに入れなおせばいいですよ〜〜♪♫
- daihuku-otya
-
Scratcher
100+ posts
意外と知られていないテクニック集
半透明のパーツを入手する方法(色変え可能!)
1:Cat Flying-aというコスチュームを用意(スプライトを選ぶ、から選ぶ)
2:ねこの左手のパーツをバラバラにする
3:そこにある灰色のパーツが半透明。
実用性低い。グーグル図形描画とかインスケでやったほうがいいよ。
1:Cat Flying-aというコスチュームを用意(スプライトを選ぶ、から選ぶ)
2:ねこの左手のパーツをバラバラにする
3:そこにある灰色のパーツが半透明。
実用性低い。グーグル図形描画とかインスケでやったほうがいいよ。
- taji-pg
-
Scratcher
62 posts
意外と知られていないテクニック集
#2186
改善版
改善版
定義 リストをシャッフル
[i0 v] を [1] にする
([シャッフルしたいリスト v] の長さ :: list) 回繰り返す
(((i0)) 番目( [シャッフルしたいリスト v] ) :: list) を [一時記憶 v] に追加する
[i0 v] を (1) ずつ変える
end
[i v] を [1] にする
([シャッフルしたいリスト v] の長さ :: list) 回繰り返す
(i) 番目( [シャッフルしたいリスト v] )を (((1) から (([一時記憶 v] の長さ :: list)) までの乱数) 番目( [一時記憶 v] ) :: list) で置き換える
((i) 番目( [シャッフルしたいリスト v] ) :: list) 番目を [一時記憶 v] から削除する
[i v] を (1) ずつ変える
end
- p_nuts
-
Scratcher
1000+ posts
意外と知られていないテクニック集
すいません。バグでした
Last edited by p_nuts (Jan. 22, 2022 08:51:42)
- zhangchen0202
-
Scratcher
84 posts
意外と知られていないテクニック集
知っているかもしれないけど署名の動くやつどうやるんですか
- 変数を複数作成するときは
「変数を作る」ボタンをその回数分だけ連打しておくと楽
- 絵等のライブラリを複数読み込むときは
Shiftキーを押しながらクリックすると複数選べる。
- 制御系のブロックで( )の関係は途中値を変化させても反応しない。
- 横に▼が入ってるブロックは他のブロックを入れられるものもある。
- 画面外のスプライト移動の制限はその時点でのスプライトの大きさに依存する。
- zhangchen0202
-
Scratcher
84 posts
意外と知られていないテクニック集
https://scratch.mit.edu/エラー名/500はスマホが焼けたような画面になるんですが…
でエラーをみれる。(404,500など)
- zhangchen0202
-
Scratcher
84 posts
意外と知られていないテクニック集
<[enter] と [] キーが押された>エンターキーが押されたのプログラム
Last edited by zhangchen0202 (Jan. 24, 2022 05:00:54)
- Yellow_Apple
-
Scratcher
100+ posts
意外と知られていないテクニック集
#2192
スマホが焼けたような画面…?
これですか?

スマホが焼けたような画面…?
これですか?

Last edited by Yellow_Apple (Jan. 24, 2022 06:52:53)
- kakurenbo
-
Scratcher
500+ posts
意外と知られていないテクニック集
>> #2188
実は,配列(リスト)のシャッフルには効率の良いアルゴリズムがいくつかあります。
中でも フィッシャー-イェーツのシャッフル は実装が簡単で,用いた乱数に偏りがなければ結果にも偏りが出ないことが保証されているため,使い勝手がかなり良いです。
下記はその考え方を用いた実装例です。(ダステンフェルドの手法)
分割代入を使いたくなってしまいますね…()
実は,配列(リスト)のシャッフルには効率の良いアルゴリズムがいくつかあります。
中でも フィッシャー-イェーツのシャッフル は実装が簡単で,用いた乱数に偏りがなければ結果にも偏りが出ないことが保証されているため,使い勝手がかなり良いです。
下記はその考え方を用いた実装例です。(ダステンフェルドの手法)
定義 Fisher-Yates shuffle少し工夫すれば変数を一つ減らすことも可能です。
[currentIndex v] を ([target v] の長さ :: list) にする
([target v] の長さ :: list) 回繰り返す
[temp v] を ([target v] の (currentIndex) 番目:: list) にする
[randomIndex v] を ((1) から (currentIndex) までの乱数) にする
[target v] の (currentIndex) 番目を ([target v] の (randomIndex) 番目:: list) で置き換える:: list
[target v] の (randomIndex) 番目を (temp) で置き換える:: list
[currentIndex v] を (-1) ずつ変える
end
分割代入を使いたくなってしまいますね…()
Last edited by kakurenbo (March 23, 2022 00:24:50)
- abee
-
Scratcher
1000+ posts
意外と知られていないテクニック集
#2194
これは、サーバーからタコの足のようなもの(障害のたとえ)が出ている絵ですね。
500番は Internal Server Error なのでそのイメージとあっています。
これは、サーバーからタコの足のようなもの(障害のたとえ)が出ている絵ですね。
500番は Internal Server Error なのでそのイメージとあっています。
Last edited by abee (Jan. 24, 2022 09:00:58)
- p_nuts
-
Scratcher
1000+ posts
意外と知られていないテクニック集
投稿の意味を教えてください。3.1415926535897932((333) / (106))≒円周率
既出です。あとそのようなブロックは存在しません.<[enter] と [] キーが押された>エンターキーが押されたのプログラム
https://scratch.mit.edu/エラー名/500はスマホが焼けたような画面になるんですが…
でエラーをみれる。(404,500など)
#2194
これは、サーバーからタコの足のようなもの(障害のたとえ)が出ている絵ですね。
500番は Internal Server Error なのでそのイメージとあっています。
ちなみに500はもう使われていないようです。(ダウンロードできるScratchオフラインエディタも2.0が2.0なのと提案トピックで更新を提案したらもう使われていないということなので)
どうやらcubeuploadを使用してgif画像(動画のようなアニメーションができる画像)を使っているようです。必要ないので略署名の動くやつどうやるんですか
あと、ここは意外と知られていないテクニックを共有する場なので、次からは質問は質問コーナー5でするか、個人的な質問はプロフィールでするようにしましょう(あと聞く前に調べましょう)
そして、投稿を一件一件で分離しないでください。
投稿数を圧迫(トピックの寿命を縮める)する原因にもなります。
Last edited by p_nuts (Jan. 24, 2022 12:30:14)
- orange6apple9
-
Scratcher
18 posts
意外と知られていないテクニック集
ドラッグされているか検知:
変数と座標を使ってドラッグさせ(ているように見せかけ)る方法だと検知されずに済みます
定義 aを再描画せずに実行
[x v] を (x座標) にする
x座標を (5) ずつ変える
もし <(x座標) = (x)> なら
ドラッグされている
end
x座標を (-5) ずつ変える
変数と座標を使ってドラッグさせ(ているように見せかけ)る方法だと検知されずに済みます
Last edited by orange6apple9 (Jan. 26, 2022 08:35:03)











