嗨!大家好,我是小蚂蚁。
这节我们继续来看随机创建图片需要满足的第二个条件:每种类型的图片数量必须是 2 的倍数。这部分内容理解起来有一些难度,我极尽所能的用更容易理解的语言来表述清楚,你需要做点儿心理准备,如果看一遍不理解的话,就再看一遍,直到理解为止。或者你可以先模仿着做,很多时候刚开始不明白,做着做着就明白了。
在上一节中,我们使用了 20 种不同类型的动物头像图片,共生成了 80 张图片,并且在一个列表中记录了每种类型的图片的数量。以此为基础,我们继续来解决第二个问题。
先理论
我们先把数据简化一下,这样更容易理解。
如图,假设只有 5 类图片,共计生成 20 张,生成之后在列表中统计了每种类型图片的数量。
我们的目标是确保每种类型的图片的数量都是 2 的倍数,对于数量已经是 2 的倍数的图片就可以忽略了,重点需要找到数量不是 2 的倍数的图片编号都有哪些。
这个很简单,只需要检查一遍列表,然后找出其中所有数字为奇数的项即可。
检查完成后,把所有数字为奇数项的编号放到一个新的列表中。这里注意:我们要找的是列表的项(即图片的编号),而不是列表里的数字(图片的数量)。前面讲过,我们为不同的图片设置了编号,每一个编号代表了一种图片类型,20 种图片对应的就是 1~20 的编号。有了编号之后,就能够在游戏中找到所有等于这些编号的图片了。
接下来,我们根据图片的编号,找到所有满足条件的图片。如何查找呢?还记得我们之前讲过的数据表格吗?在所有图片的背后有一个记录它们编号的数据表格。只需要从左上方开始,一行一行地检查一遍数据表格,就可以把所有的编号为 1 和 3 的图片都找出来。
后续内容可前往公众号中查看原文。