警示后人(如果WA on 13#/16#)
查看原帖
警示后人(如果WA on 13#/16#)
374185
Leo_Anderson楼主2024/7/8 21:42

检查一下代码,
是否出现打出一张牌后,从右侧重新开始遍历手牌时,多了一次右移导致跳过了第一张手牌 。

例:

do{
    switch(now_card){
    ......
        case 5:{
            ......
            card_pos_rst();//重置手牌位置(第一张手牌位置为1)
            break;
        }
        ......
    }
}while(card_nxt());

以上代码假如重置手牌位置到1,那么在最后进入下一次循环之前就会右移一次手牌位置,导致下一次循环是检测位置2的手牌而跳过了位置1。
所以重置手牌位置时要多往左移动至少一位(比如这份代码将重置位置修改为0)。

2024/7/8 21:42
加载中...