随机发牌_用Python制作4人扑克牌发牌游戏
撲克牌算是老少皆宜的經典款游戲之一,玩法多樣,但萬變不離其宗,想要編寫撲克牌類游戲,首先得整理清楚發牌的邏輯。
1. 游戲介紹
4名牌手打牌,電腦隨機將52張牌(不合大、小王)發給4名牌手,并在屏幕上顯示每位牌手的牌。
2. 面向對象程序設計
既然只做發牌,那么我們就只需要整理清楚發牌的過程中所牽涉到的對象即可。其實整個發牌的過程中,所牽扯到的只有牌,但分三種不同的情況顯示,第一個是單張牌(Card),第二個是一整副牌(Poke),第三個是玩家手里的牌(Hand),三個對象類編寫出來,我們就可以很清晰地完成整個發牌的過程。
3. 程序設計步驟
設計類:發牌程序設計出三個類:Card類、Hand類和Poke類。
Card類:Card類代表一張牌,其中,FaceNum字段指的是牌面數字1~13,Suit字段指的是花色,”梅”為梅花,”方”為方塊,”紅”為紅桃,”黑”為黑桃。
Hand類:Hand類代表手牌(一個玩家手里拿的牌),可以認為是一位牌手手里的牌,其中,cards列表變量存儲牌手手中的牌。可以增加牌、清空手里的牌、把一張牌給別的牌手等操作。
Poke類:Poke類代表一副牌,我們可以將一副牌看作是有52張牌的牌手,所以繼承Hand類。由于其中cards列表變量要存儲52張牌,而且要進行發牌、洗牌操作,所以增加如下的方法。
主程序:主程序比較簡單,因為有四個牌手,所以生成players列表存儲初始化的四位牌手。生成一副牌的對象實例poke1,調用populate()方法生成有52張牌的一副牌,調用huffle()方法洗牌打亂順序,調用deal(players,13)方法分別給每位玩家發13張牌,最后示四位牌手所有的牌。
4. 代碼實現
Card類:
1>定義牌面數字及花色
2>定義初始化構造方法
3>定義牌面花色+數字拼接字符串顯示方法
4>定義翻牌方法
5>定義牌的順序號
Hand類:
1>定義初始化構造方法
2>定義牌面花色+數字拼接字符串顯示方法
3>定義清空撲克牌的方法
4>定義追加撲克牌的方法
5>定義給予撲克牌的方法
Poke類:
1>定義生成一副牌的方法
2>定義洗牌的方法
3>定義發牌的方法
主程序定義:
運行結果:
完成!是不是很簡單呢?自己試試看吧~
注:本文基于64位windows系統(鼠標右鍵點擊桌面“此電腦”圖標——屬性可查看電腦系統版本)、python3.x(pycharm自動安裝的版本, 3.0以上)。
文中代碼內容所使用的工具是pycharm-community-2020.1,實踐中如有碰到問題,可留言提問。
總結
以上是生活随笔為你收集整理的随机发牌_用Python制作4人扑克牌发牌游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭建解析内网 linux_Linux 搭
- 下一篇: 时结果 hive_Hive优化