新手求解释这段代码,,,

谁可以给我解释这段代码 图片说明

发牌,先在扑克数组中寻找index下标中不是0的(第一个while循环),将对应的值返回。同时把发出的牌在数组中标记为0(if语句内第二行)。如果数组全部都是0,很明显,index将和length相等,所以相减为0,进入else分支,提示全部牌发完。

while循环里面的条件不是太明白

我看了一下,是这么理解的:就是你的那个扑克的数组应该是54个吧,这个歌应该是存储所有扑克牌的一个数组,这里就是首先从数组的第一位开始遍历
知道当前的数组数值不是0为止停下来,这里这么操作应该是这个程序每次发一张牌就会把当前的这张牌的数组为止置为0,所以如果在这个扑克数组中,
有哪个位置的值为零就代表当前这张牌被发出去了。然后接下来计算还剩下多少牌:总的牌数-当前已经发出去的牌数(这个发牌应该是按照数组安排的
顺序发牌的),观察当前是否还有剩余的牌也就是result是否大于0,如果result=0的话就代表发完扑克牌了。

VB中数组的排序怎么写?

将牌放到数组里,每次从最前一张发牌,直到发完

就是一个发牌的方法,从一堆牌里面发牌,牌堆,还有拍的个数就是参数,美发一张就让一个数加一,然后把牌堆下标的值置为0, 所有的值都为零就表示发完了。最后返回发了多少张牌

写一个返回类型为int的方法
设置整数的下标index,设置扑克牌的数量
进入循环
如果下标为0那么将下标变为1
剩余的扑克牌的张数就是总长度减去下标(下标从0开始)
如果结果大于等于1
就得到扑克牌的数字
将下标变为0
否则就是扑克牌发完了,从新开始游戏

从pukeArray[0]开始找pukeArray[]数组中不是零的第一个元素,得到result为剩下的扑克数,然后根据result是否大于等于1确定是否返回getPuke。如果返回,那么getPuke就得到之前找到的那个元素,然后把pukeArrayp[]中那个元素的位置置零。
while循环里的条件推测可能是与扑克牌有关的数字,比如牌号之类的,不过不影响分析。