检查一下代码,
是否出现打出一张牌后,从右侧重新开始遍历手牌时,多了一次右移导致跳过了第一张手牌 。
例:
do{
switch(now_card){
......
case 5:{
......
card_pos_rst();
break;
}
......
}
}while(card_nxt());
以上代码假如重置手牌位置到1,那么在最后进入下一次循环之前就会右移一次手牌位置,导致下一次循环是检测位置2的手牌而跳过了位置1。
所以重置手牌位置时要多往左移动至少一位(比如这份代码将重置位置修改为0)。