[發明專利]一種通過系統隨機數洗牌的方法無效
| 申請號: | 200910085574.2 | 申請日: | 2009-05-25 |
| 公開(公告)號: | CN101901296A | 公開(公告)日: | 2010-12-01 |
| 發明(設計)人: | 劉立軍;王磊;張守文;陶勇勝 | 申請(專利權)人: | 灰熊(北京)科技有限公司 |
| 主分類號: | G06F19/00 | 分類號: | G06F19/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 102218 北京市昌*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通過 系統 隨機數 洗牌 方法 | ||
技術領域
本發明涉及一種通過系統隨機數打亂一副牌的排序方法,特別涉及一種通過加密產生不重復的隨機數來將一副排序好的牌進行洗牌的方法。
背景技術
目前通過計算機語言來產生系統隨機數的方法主要有以下兩種:
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張牌。洗牌完成。
上述的技術方案實施時將一副按順序排序的牌進行了洗牌操作,高效的利用了安全的隨機數和集合對象的屬性。
最后所應說明的是,以上實施例僅用以說明而并非限制本發明所描述的技術方案;因此,盡管本說明書參照上述的實施例對本發明已進行了詳細的說明,但是,本領域的普通技術人員應當理解,仍然可以對本發明進行修改或者等同地替換;而一切不脫離本發明的精神和范圍的技術方案及其改進,其均應涵蓋在本發明的權利要求范圍當中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于灰熊(北京)科技有限公司,未經灰熊(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910085574.2/2.html,轉載請聲明來源鉆瓜專利網。
- 同類專利
- 專利分類
G06F 電數字數據處理
G06F19-00 專門適用于特定應用的數字計算或數據處理的設備或方法
G06F19-10 .生物信息學,即計算分子生物學中的遺傳或蛋白質相關的數據處理方法或系統
G06F19-12 ..用于系統生物學的建模或仿真,例如:概率模型或動態模型,遺傳基因管理網絡,蛋白質交互作用網絡或新陳代謝作用網絡
G06F19-14 ..用于發展或進化的,例如:進化的保存區域決定或進化樹結構
G06F19-16 ..用于分子結構的,例如:結構排序,結構或功能關系,蛋白質折疊,結構域拓撲,用結構數據的藥靶,涉及二維或三維結構的
G06F19-18 ..用于功能性基因組學或蛋白質組學的,例如:基因型–表型關聯,不均衡連接,種群遺傳學,結合位置鑒定,變異發生,基因型或染色體組的注釋,蛋白質相互作用或蛋白質核酸的相互作用





