新四季網

一種通過系統隨機數洗牌的方法

2023-09-21 10:44:35

專利名稱:一種通過系統隨機數洗牌的方法
技術領域:
本發明涉及一種通過系統隨機數打亂一副牌的排序方法,特別涉及一種通過加密 產生不重複的隨機數來將一副排序好的牌進行洗牌的方法。
背景技術:
目前通過計算機語言來產生系統隨機數的方法主要有以下兩種1、通過「偽隨機數生成器」來生成隨機數。這種方法實現簡單,主要是通過設定隨機數種子來獲得偽隨機數。但獲得的隨機 數精度不高,不夠隨機,容易產生大量的重複的隨機數。這樣所得到的隨機數只能滿足所 要求的隨機數不是很多,而且允許重複的情況。這種應用在對隨機數要求不高的項目中被 廣泛採用。而在需要大量的隨機數,而且並發量大的項目中,會因隨機數不能加密,不夠隨 機,重複數多而被放棄使用。2、通過「加密隨機數生成器」來生成隨機數。這種方法使用加密服務提供程序(CSP)來實現加密隨機數生成器(RNG)。通過加 密手段產生的隨機數精度高,安全,重複數少,而且足夠的隨機。但它的缺點是只能產生0 到256之間的隨機數。

發明內容
本發明所要解決的技術問題是提供一種加密產生不重複的隨機數來將一副排序 好的牌進行洗牌的方法。一張撲克牌對象通常有兩個屬性,即牌的花色和牌的值。一副完 整的撲克牌有54張,在生成這54張牌對象時,所採用的方法是利用計算機語言中的循環技 術來順序新建54個牌對象,並將其存儲在對象數組中,然後打亂數組中的牌的次序,發放 給用戶。本發明所述的一種通過系統隨機數洗牌的方法,該方法至少包括如下的步驟步驟1 確定一張撲克牌對象,該對象包括牌的花色和牌的值這兩個屬性。步驟2 利用循環技術順序產生54張撲克牌對象。步驟3 利用加密隨機數生成器生成54個隨機數,然後存儲到數組中。步驟4 新建一個集合對象,該對象擁有泛型鍵值對(key/value)和按鍵(key)排 序(sort)順序輸出的特徵。步驟5 將隨機數數組中的元素作為集合的鍵(key),將54張順序的牌對象作為集 合的值(value),順序添加(add)到集合中。步驟6 運用集合的按鍵排序屬性將集合中存儲的以隨機數作為鍵(key),以撲克 牌作為值(value)的牌對象順序取出,存儲到牌對象的數組中,洗牌完成。本發明涉及的一種通過系統隨機數洗牌的方法,使得將一副按順序排序的牌進行 了洗牌操作,高效的利用了安全的隨機數和集合對象的屬性。
具體實施例方式本發明的主要步驟如下步驟1 新建兩個枚舉類型,分別為牌的花色,包括黑、紅、花、片四個屬性,和牌的 值,包括 2-10 和 J、Q、K、A、SmallKing, BigKing 這 15 個值。步驟2 新建一張撲克牌類,該類對象包括牌的花色和牌的值這兩個屬性;利用二 層循環新建54個牌的對象,其中每個牌對象都有兩個屬性,一個為牌的花色枚舉值,一個 為牌值枚舉值。步驟3 利用加密隨機數生成器生成54個隨機數,然後存儲到數組中;生成時要判 斷是否和歷史生成的隨機數重複,有重複則重新生成。步驟4 新建一個泛型的集合對象,該對象擁有排序順序輸出的方法。步驟5 利用循環機制將隨機數作為泛型集合對象的鍵,將54張牌對象作為泛型 集合的值添加到集合中。步驟6 調用集合的按鍵排序方法,順序輸出54張牌。洗牌完成。上述的技術方案實施時將一副按順序排序的牌進行了洗牌操作,高效的利用了安 全的隨機數和集合對象的屬性。最後所應說明的是,以上實施例僅用以說明而並非限制本發明所描述的技術方 案;因此,儘管本說明書參照上述的實施例對本發明已進行了詳細的說明,但是,本領域的 普通技術人員應當理解,仍然可以對本發明進行修改或者等同地替換;而一切不脫離本發 明的精神和範圍的技術方案及其改進,其均應涵蓋在本發明的權利要求範圍當中。
權利要求
一種通過系統隨機數洗牌的方法,其特徵在於該方法至少包括如下的步驟步驟1確定一張撲克牌對象,該對象包括牌的花色和牌的值這兩個屬性。步驟2利用循環技術順序產生54張撲克牌對象。步驟3利用加密隨機數生成器生成54個隨機數,然後存儲到數組中。步驟4新建一個集合對象,該對象擁有泛型鍵值對和按鍵排序順序輸出的特徵。步驟5將隨機數數組中的元素作為集合的鍵,將54張順序的牌對象作為集合的值,順序添加到集合中。步驟6運用集合的按鍵排序屬性將集合中存儲的以隨機數作為鍵,以撲克牌作為值的牌對象順序取出,存儲到牌對象的數組中,洗牌完成。
全文摘要
一種通過系統隨機數洗牌的方法,首先確定一張撲克牌對象,該對象包括牌的花色和牌的值這兩個屬性;然後利用循環技術順序產生54張撲克牌對象;利用加密隨機數生成器生成54個隨機數,然後存儲到數組中;新建一個集合對象,該對象擁有泛型鍵值對和按鍵排序順序輸出的特徵;將隨機數數組中的元素作為集合的鍵,將54張順序的牌對象作為集合的值,順序添加到集合中;最後運用集合的按鍵排序屬性將集合中存儲的以隨機數作為鍵,以撲克牌作為值的牌對象順序取出,存儲到牌對象的數組中,洗牌完成。本發明使得將一副按順序排序的牌進行了洗牌操作,高效的利用了安全的隨機數和集合對象的屬性。
文檔編號G06F19/00GK101901296SQ20091008557
公開日2010年12月1日 申請日期2009年5月25日 優先權日2009年5月25日
發明者劉立軍, 張守文, 王磊, 陶勇勝 申請人:灰熊(北京)科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀