Js實現簡單的洗牌

2022-09-01 10:39:14 字數 852 閱讀 6487

洗牌採用的是,每一張牌,與後面隨機一張牌來交換位置。

撲克牌採用編碼制(如,0代表紅桃a,依次類推)為了編碼方便,撲克牌不含大小王,故52張。

一、撲克牌的了解

撲克(英文:poker)

一副撲克牌有54張牌,其中52張是正牌,另2張是副牌(大王和小王)。

52張正牌又均分為13張一組,並以黑桃、紅桃、草花、方塊四種花色表示各組,每組花色的牌包括從1-10(1通常表示為a)以及j、q、k標示的13張牌。

為了簡化物件,我們把撲克作為card類,屬性值為suit 和 face。

function

card()

this.setface = function

(newface)

this.showcard = function

() }

二、洗牌思想

洗牌採用第一張,與後面隨機一張交換位置。

用陣列poker[53]代表一副撲克牌,多出的一張作為用來交換牌時的temp容器。

for(i = 0; i < poker.length-1; i++)

三、牌與面值關聯

這個通過兩個簡單的陣列就可以搞定。

乙個存放suit,另乙個存放face

var suitgroup = ["紅桃", "方塊", "梅花", "黑桃"]

var facegroup = ["a", "1", "2", "3", "4", "5", "6", "7", "8","9", "j", "q", "k"]

for(i = 0; i < poker.length-1 ; i++)

JS洗牌演算法的三種實現

function washcard1 cards return cards function washcard2 cards cards cardstmp return cards function washcard3 cards return cards var cards newarray 54...

C 洗牌演算法的實現

大家在玩鬥地主的時候,每次都是隨機發牌,每個人拿到手的牌都是和上一次不一樣的。那麼電腦是如何做到隨機的呢?首先大家想到的就是採用系統本身的隨機演算法產生的隨機數,每次都根據產生的隨機數來獲取不同位置的。舉個簡單的例子 0 9這10個數,如何讓這10個數隨機排序呢,而且保證每次出現的概率都是一樣的?1...

粗糙的洗牌演算法實現

今天無意中聊起洗牌演算法,於是就嘗試寫一下這個洗牌演算法,不管演算法多麼簡陋,主要進一步熟悉js語言,鍛鍊一下自己。我的思路,模擬現實中的洗牌常用方法 1 一開始牌的狀態是有序或者無序的。2 每次講牌分開兩半,然後用左右手分別將這兩堆牌交叉,得到乙個新順序的牌。3 將過程2重複n次,即洗好牌。4 上...