1 #include 2struct
stack;
6struct
queue;
11int book[10];//
代表十種牌面
12int
main()
1326 printf("
please input player 2 cards:");
27for(int i=1;i<=10;i++)
2832
while(q1.headq2.tail)
3342
else
//如果此輪可以贏牌
4354 book[desk.data[desk.top]]=0
;55 q1.*****[q1.tail]=desk.data[desk.top];
56 q1.tail++;
57 desk.top--;58}
59if(q1.head==q1.tail)//
如果玩家1的牌已經出完了
60break
;61 t=q2.*****[q2.head];
62if(book[t]==0)//
如果此輪玩家2沒有贏牌
6369
else
//如果此輪玩家2可以贏牌
7081 book[desk.data[desk.top]]=0
;82 q2.*****[q2.tail]=desk.data[desk.top];
83 q2.tail++;
84 desk.top--;85}
86if(q2.head==q2.tail)
87break;88
}89if(q1.head==q1.tail)
9098 printf("\n"
);99
if(desk.top>0)//
如果此時桌子上還有牌,則輸出
100107
}108
else
109112
}113
else
114122 printf("\n"
);123
if(desk.top>0)//
如果此時桌子上還有牌,則輸出
124131
}132
else
133136
}137 }
紙牌遊戲 小貓釣魚 棧與佇列合用實現
遊戲規則 將一副撲克牌平均分為兩份,每人拿乙份,a先拿出手中的第一張撲克牌放在桌上,然後b也拿出手中的第一張撲克牌,並放在a剛打出的撲克牌的上面,就像這樣兩人交替出牌.出牌時如果某人打出的牌與桌上某張牌的牌面相同時,即可將兩張相同的牌及其中間所夾的牌全部取走,並依次放到自己手中牌的末尾,當其中一人手...
紙牌遊戲 小貓釣魚(佇列與棧綜合)
某一天張兵和小明在一起玩撲克牌,每個人各自拿取乙份撲克牌,張兵先把一張撲克牌放在桌子上,小明再放一張,出牌時 如果某人打出的牌與桌上的某張牌的牌面相同,即可將兩張相同的牌及其之間所夾的牌全部取走,並依次放到自己手牌的 末尾,當任意一人的手牌全部出完後,遊戲結束,對手獲得勝利。我們先來分析遊戲中的幾種...
紙牌遊戲 小貓釣魚(佇列和棧的基本應用)
首先給小哼和小哈發牌,然後按照先小哼後小哈的出牌順序出牌。出牌時,若某人打出的牌面與桌子上的某張牌面相同,則這個人將兩張相同和之間的牌全部取走,並依次放在自己手中牌的末尾。當任意一人手中的牌全部取完時,遊戲結束,對手獲勝。include stdio.h struct queue struct sta...