日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

随机发牌_用Python制作4人扑克牌发牌游戏

發布時間:2024/8/5 python 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 随机发牌_用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人扑克牌发牌游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。