网上大多数 Scratch 对冒泡排序的教程都是针对 List 的,结果不太直观,所以我打算改进一下,我优化的结果如下。
示意图
点击
随机初始化小猫的颜色,然后点击 “空格” 对颜色进行冒泡排序,我这里设置的颜色规则是红>蓝>绿>黄。其中进行比较的两只小猫会跳起,这样可以更直观的看出是哪两只小猫在进行比较。
动态效果如下:
![20200511150147913.gif 20200511150147913.gif](https://ucc.alicdn.com/pic/developer-ecology/79ae71f7a90e41afb383c52b0dbfeb2e.gif)
代码块和注释
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/6848e7cc37d34100a7d388bf7d3f01d6.png?x-oss-process=image/resize,w_1400/format,webp)
角色 * 的代码块
十个角色的代码都是相同的
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/6f5188bf0a2a4534b175209ad377980d.png?x-oss-process=image/resize,w_1400/format,webp)
舞台的代码块
冒泡排序的代码在舞台代码块中,每次比较都会让小猫跃起,每完成一次交换都会发送 “Sort” 消息更新角色的颜色,交换完之后再让小猫落下。
![image.png image.png](https://ucc.alicdn.com/pic/developer-ecology/12a8bad032ac42f5ae8e8cec26e21658.png?x-oss-process=image/resize,w_1400/format,webp)