佇列和棧實現紙牌遊戲

2022-09-12 14:51:23 字數 1301 閱讀 8734

1 #include 2

struct

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...