function RandomCard(){ var n=starNum; for(let i=0;i<starNum/2;i++){ arr[i]=i+1; arr[i+starNum/2]=i+1; } while(n>0){ let i=0; let index=Math.floor(Math.random()*starNum); if(index>0){ var temp=arr[index-1]; arr[index-1]=arr[index]; arr[index]=temp; } n--; } for(let i=0;i<starNum;i++){ cardArr[i]='imgs/'+arr[i]+'.png'; } }
时间: 2024-04-28 19:25:39 浏览: 141
星星从背景总飞出(javascript)
这段代码是为了实现一个随机生成卡牌的函数。具体实现步骤如下:
1. 首先定义变量 n,其值为传入的参数 starNum。
2. 然后循环遍历卡牌数量的一半,将卡牌的编号赋值给数组 arr,其中前一半卡牌的编号为 1 到(starNum/2),后一半卡牌的编号也为 1 到(starNum/2),这些卡牌都是成对出现的。
3. 接着进行一个 while 循环,循环条件是 n>0,即还未对所有卡牌进行随机排序。在循环中,首先定义变量 i 的值为 0,然后随机生成一个下标 index,该下标的取值范围为 0 到(starNum-1)。
4. 如果 index 大于 0,就将数组 arr 中下标为 index-1 和 index 的元素进行交换,然后 n 的值减 1。
5. 循环结束后,再次循环遍历卡牌数量的所有卡牌,将其对应的图片地址存储在数组 cardArr 中,以便在页面中显示。
总的来说,这段代码实现了一个随机生成卡牌的功能。
阅读全文