大二VR专业unity代码学习日常2——两cube交换后对应的索引如何变化

本人学习unity代码不久——大概两个星期,所以水平不高,但我学习期间一直使用费曼学习法具体化抽象代码争取用八岁孩子都能听懂的语言解释代码,或许我的思路能对你有所帮助,下面就开始这次的解释吧。
前情提要

用双重for循环创建二维数组cubes[i,j],cube的位置对应在数组里的索引。将任意两个cube交换位置再存到列表listCube里,listCube[0]、listCube[1]。
因为cube交换了位置,所以此时cube的位置不再对应其在数组里的索引了,为了让位置和索引重新对应,将listCube[0]的x、y存为a、b,cube[a,b]=listCube[?],中括号里是0还是1?
专业化解释
0。交换了位置后,索引还没交换所以要对索引进行更新,往现在位置对应的索引里放入物体就完成了更新索引。

最开始AB同学(cube)分别是副班长、班长(位置),现在当众宣布两个人的职位互换,所有人都知道了但档案(索引)里还没更新,所以要把档案里的职位也更新了。怎么更新呢?直接把当众宣布的职位复制到档案里就可以,也就是把cube位置的xy赋值给数组索引的ij。

二维数组是药房当铺墙上装药的盒子,上面的操作就是拉开交换后cube位置对应的盒子,再把cube放进去,从而完成索引的更新。listCube[0]的索引更新后有两个盒子装listCube[0],因为原来装listCube[0]的盒子装的还是listCube[0],只有listCube[1]也完成索引更新后,才变成正确的对应。
除了用B众人皆知的职位来更新B档案里的职位,也可以用A档案里的职位来更新,因为A之前是副班长,也就是两个cube交换之前listCube[1]的位置就是现在listCube[0]的位置,可以找到交换之前的listCube[1]的位置,但这要遍历整个数组,太麻烦了。
尾言
《刻意练习》一书中提到了心理表征,就是面对问题时无需思考立马给出对策的能力,想要形成心理表征除了理解还需要不断重复。
如果本篇文章对你有帮助的话可以点点关注~之后会持续更新。