【Scratch3.0】リストの中身をランダムに並び替える方法
リストの中身をランダムに並べ替える方法を紹介します。
完成動作
https://scratch.mit.edu/projects/511010131
![](https://programming.sincoston.com/wp-content/uploads/2021/04/unnamed-file.gif)
完成コード
適当なスプライトに以下のコードを作成する。
※あらかじめ、「ランダム並び替え」というリストと、「並び替える番号」「並び替える中身」という変数を作成しておく。
「ランダム並び替え」リストには適当な文字を追加しておく。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image.png)
解説
・「ランダム並び替え」というリストと、「並び替える番号」「並び替える中身」という変数を作成しておく。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-2.png)
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-3.png)
・「ランダム並び替え」リストに任意の文字を追加する。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-38.png)
・変数は画面には表示する必要はないので、隠しておく。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-1.png)
・ランダムに並び替える回数はとりあえず100回にしておいた。
※1回とか2回では一部しか並べ替えてくれないので、ある程度の回数繰り返す必要がある。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-4.png)
・リストの中の何番目を並び替えるかを変数に入れておく。
何番目かはランダムにするために乱数を使う。乱数の最大の数は"ランダム並び替え"リストの長さ。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-5.png)
・並び替える番号の中身の文字を変数に入れておく。
※次のブロックで、並び替える番号を削除するので、事前に中身を変数に入れて保護しておく。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-6.png)
・並び替える番号を削除する
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-7.png)
・削除した並び替える番号の中身を、乱数を使ってリストの適当な場所に挿入する。
※乱数の最大は"ランダム並び替えの長さ+1“とした。+1にすることによって、リストの末尾にも挿入されるようになる。
![](https://programming.sincoston.com/wp-content/uploads/2021/04/image-8.png)
ディスカッション
コメント一覧
まだ、コメントがありません