一種基於C 的撲克牌實現

2021-08-02 07:28:20 字數 708 閱讀 1245

主函式流程

建立乙個物件->洗牌->發牌->印色->排序->列印輸出

各模組的功能

構造器

第一步、利用兩個整型陣列分別定義撲克牌的類別(比如黑桃、紅心等,這裡只是區分,並沒有印色)和編號(這裡只是簡單的編序號,沒有印上諸如「a、k、q、j」等);

第二步、有四種花色,每種花色有13張牌,用四個for迴圈分別對類別flag和編號value賦初值。

洗牌 洗牌是隨機的,洗牌的過程需要將紙牌打亂。

第一步、利用srand((unsigned)time(null))生成種子初值,這裡利用系統時間保證種子初值不一樣,接著用rand()%52產生0到52(不包括52)的隨機數;

第二步、把產生的隨機數作為下標,然後遍歷所有紙牌,交換,達到打亂的目的。

發牌 遍歷52張紙牌,分別給四個陣列賦值,四個陣列代表四個玩家。

印色 印色的過程分為兩步,乙個是紙牌印上黑桃、紅心、梅花和方塊,這個用到ascii碼,6對應黑桃、3對應紅心、5對應梅花以及4對應方塊;另乙個是紙牌印上字元』a』、』k』、』q』、』j』、』10』、』9』、』8』、』7』、』6』、』5』、』4』、』3』、』2』。

排序 取某一玩家的紙牌,利用氣泡排序法,將紙牌的型別如花色分開,把各花色的數量分別賦值給四個變數,然後利用氣泡排序法對四種花色進行排序。

列印 將四個玩家的紙牌型別和編號打出來

基於c 的撲克牌遊戲

建立一副撲克,並完成洗牌 發牌 顯示 花色排序 面值排序 刪除一張牌 刪除一輪牌等操作。本程式新建了perdeck和playdeck兩個類,類perdeck表示某個人拿的牌,類playdeck表示四個人玩牌的過程,對原程式的修改較小。程式中用到了包含在標頭檔案stdlib.h中的函式srand 用來...

基於Python實現撲克牌面試題

據說是騰訊的面試題,以下是要求 一副從1到n的牌,每次從牌堆頂取一張放桌子上,再取一張放牌堆底,直到手中沒牌。根據桌上的牌堆順序,輸出原先手中牌堆的順序陣列。實現思路 1 首先定義乙個2維陣列,代表最後桌上的牌堆排列情況。內部陣列flist i 0 flist i 1 分別程式設計客棧表示牌堆的排序...

C 撲克牌類的設計

1 設計撲克類card 主要屬性有花色和點數 主要方法有初始化 輸出 比較大小等 2 設計一副撲克牌類cards 主要屬性包括撲克物件陣列 主要方法有初始化 洗牌 輸出等。3 編寫測試程式。include include include include include include using n...