撲克牌發牌遊戲程式(用C語言)?使用者54437699505332020-03-08 23:14:04

定義一個結構型別表示一張牌,結構包含3個成員,第一個成員char:取值2,3~K,A表示牌名字,第二個成員int:取值2~14表示牌真實大小。第三個成員:結構連結串列指標。

寫一個初始化函式,定義52大小的結構陣列,成員值初值分別和牌對應,遍歷陣列並將每個元素的連結串列指標依次指向下一個元素地址。這樣得到一個初始連結串列。(相當於一盒新牌)

所有涉及隨機數都用rand函式,洗牌分四份就是迴圈取隨機數m=1~n,n是隨迴圈自減,初值52,直到n變成0。每隨一次迴圈就從初始連結串列中遍歷取出對應第m個節點,並從初始連結串列中將這個節點斷開(既前一個節點指標直接指向後一個節點指標)。每取13張就組成一個新的連結串列。這樣獲得4個新連結串列分別表示4個玩家。

最後出牌就是分別遍歷自己的連結串列,利用迴圈取牌比較結構數值大小。(取出的牌要從連結串列斷開和上面一樣,你把取出節點寫成獨立函式就能反覆使用)。