導航:首頁 > 源碼編譯 > 撲克牌的洗牌演算法

撲克牌的洗牌演算法

發布時間:2022-06-18 10:26:29

⑴ 關於撲克牌洗牌技術

我來教你

洗牌,讓對方抽一張,放在頂上,之後自己洗拍,將拍弄到下面,然後將拍舉到與自己眼睛平齊,掀開一摞,問對方是不是這張(當然不是),同時自己偷看牌底的牌。最後你可以讓對方看著你的眼睛,你再說出你記的那張拍(這主要就是一種偷看牌的技巧)

剛才的方法別人以為你只看牌背,但你在把一摞牌分成兩摞後交叉洗時,可以讓在下面那摞落得慢一些,讓原本的頂牌最後落下,自己就可以迅速眇到頂牌是什麼了

但不同場合要用不同方法的:

就算不是魔術師,一般人也可以在別人不注意時用手掌把一摞牌的頂牌拈走,您知道這可以造成什麼效果....

越經典的魔術秘密就越簡單,越沒意思,所以這也是魔術為什麼不能泄密的原因.......失去了那美好的印象

⑵ 關於牌類游戲洗牌演算法一問:怎樣才算把牌洗

1. 嵌入式洗牌法
把部分的塔羅牌拿在手中,使牌面朝下,將剩下的牌隨意插入手裡的牌,再自手中拿出一些牌,再插進去。重復這個步驟直到你覺得牌洗干凈了為止。不過這種洗牌方式非常容易折損牌的邊緣,要小心喔(有時還會刮傷手…)
2. 推擺洗牌法
將塔羅牌牌面朝下,在桌面上弄混,之後用左手的拇指將最上方的一疊牌推回左手,再用右手拇指推下方的一疊牌到右手,持續重復這個動作,直到所有的牌都被分開,之後重疊再一起並重復這些動作,直到你覺得已經洗干凈為止。不過這個方法不是很容易,你必須常常練習才不會打到手(嘿嘿嘿…)
3. 一般正常洗牌法
將塔羅牌牌面朝下,雙手以順時針或逆時針方向將牌均勻混和即可。以上介紹的三種方式均為一般常見的洗牌方法(尤其是第三項,一般市面上的中文塔羅書籍均是以此法為主,故簡略帶過),在洗牌時一般是建議受占者心中專心默念要問的問題,而占卜師擇是專心洗牌。至於是否要由受占者洗牌則是見仁見智。不過殿主向來是由自己洗牌,有時總會遇到『朋友』想幫『他的朋友』占卜,而『他的朋友』並不在現場的情況,若是非當事者洗牌不可,大概這牌也就不需要算了…
至於是否一定要使用這幾種方法來洗牌,答案是不一定。只要能將牌充分混和均勻,也不致傷到牌面就好了。
此外,在使用第三種洗牌方式時,殿主提供一些經驗分享給大家:
1.轉動時要利用指腹與手腕的力量
2.像寫書法一樣,手腕抬高
3.盡量輕柔地轉動每一張牌
4.每一張牌建議盡量轉三圈半以上(要公轉也要自轉喔)
5.注意上層的牌要與下層的牌混合均勻

⑶ 關於洗牌演算法,請用java編寫,定義一個數組,儲存1-52以內的數,打亂順序輸出!

import java.util.Enumeration;
import java.util.Hashtable;/**
* 7. * 亂序撲克牌 洗牌方法 8. * 9. *
*
* @author virture 10. * 11.
*/
public class Cards { Hashtable htMember = new Hashtable();// 放置撲克牌的Hash表 public Cards() { } public void put(String card) {
htMember.put(card, card);
} public void get() {
System.out.println("你拿到的牌是:");
Enumeration RLKey = htMember.keys();
while (RLKey.hasMoreElements()) {
String accKey = RLKey.nextElement().toString();// 取HashTable中的關鍵字詞
System.out.print((String) htMember.get(accKey) + ",");
}
} public static void main(String[] args) {
String[] cards = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"J", "Q", "K" };
String[] kinds = { "黑桃", "紅桃", "梅花", "方塊" }; Cards cardList = new Cards(); String suit;// 當前選中牌的類型
String face;// 當前選中牌
int randomCardNum = 52;// 當前隨機取牌的個數,記住不能大於全部牌52張 while (true) {
suit = kinds[Math.round((float) Math.random() * (kinds.length - 1))];
face = cards[Math.round((float) Math.random() * (cards.length - 1))]; cardList.put(suit + face);
if (cardList.htMember.size() >= randomCardNum
&& cardList.htMember.size() <= 52) {
break;
}
}
cardList.get();
}
}

⑷ 撲克牌完美洗牌法

不需要 完美洗牌法只是一種技法 對牌的排列沒有限制 除非是要做一些特別的魔術或牌序。
完美洗牌是把牌一張隔一張的洗,洗八次之後 會回歸完美洗牌之前的順序 所以如果你用剛開封的牌序進行完美洗牌的話 八次之後 又會回到新牌的順序
亂牌怎麼完美洗牌都很難回到新牌順序 除非依靠其他的技術和手法 可那又是另一方面的事情了

⑸ 如何洗撲克牌

如果玩牌的人卻不會洗牌,那是一件多麼丟人的事情。今天,幾分鍾網來教你如何洗撲克牌。
您將需要經常的鍛煉一副撲克牌1、將散亂在桌上的撲克,按同一個方向整理成一疊。
2、然後以左手拿牌為例,左手拿起牌,右手在整疊牌底層抽取適量牌放在最上面,重復抽取即可。
3、如果你認為牌還不夠散,那麼用彈牌的方法,將整疊牌分成兩部分。左右手各拿一疊。
4、將手上的兩疊紙牌都適量的彎曲。
提示:你可以把牌向外彎曲或者向內彎曲都可以。
5、最後慢慢的鬆手,使兩疊牌混合在一起,整理好牌即可。
您知道嗎?撲克牌最初稱作「葉子戲」是由唐代天文學家張遂發明的,因為那時紙牌只有樹葉那麼大。

⑹ 幾種撲克牌洗牌演算法

洗牌的

幾種話先設定好洗牌方式幾種比方對分上下交l以及交織洗牌然撲克牌後用隨機數生成函數確定單步洗牌作牌的數量多反復幾遍即可。

  1. 的一個合理的定義就是演算法

  2. 一副撲克張牌有種陳列方式。

這樣做的好處:

給出的洗牌算演算法應該可以等概率地生成這種結果中的一種

⑺ 什麼是撲克的上而下式洗牌法

逐張洗牌的技法:

在通常情況下,這種技法被稱之為「濫」,主要不但可以控制,還是上而下式控牌法的基礎,因而,這是撲克牌游戲中不可缺少的,是需要練習的。

此技法是在洗牌過程中,用左手拇指從右手中逐張抽出牌,放在左手的特普的一種方法。

要進行這種技法,先要把右手的一組牌拿到左手前面,輕輕將左手拇指貼在左手的特普。

此時右手抓住牌的兩端,以防止牌被多抽出。隨後,以左手拇指逐張抽出,開始洗牌。

所謂「因喬戈」,是在洗牌過程中,將一張(或數張)牌推到(牌的內端)小拇指這邊的技法。這種技法比較簡單。

在上而下式洗牌法中,如果想要進行「因喬戈」,首先右手要靠近牌的內端,再把右手的一組牌放到左手那組上面。

然後左手拇指拉到特普的後面,那張牌順便也推到了內端。上面再放洗過牌。

為了使突出的牌更加隱蔽,這組牌就不必太整齊。

需要注意的是,左手小指尖要貼著突出的牌。在施展「因喬戈」時,洗牌的步驟也不可打亂。

下切牌:這是進行「因喬戈」時,抽出了下半部分牌,放到特普的技法,右手拿「因喬戈」後的一組牌。

右手拇指尖貼在「因喬戈」牌邊緣,接著右手稍微向外推出「因喬戈」下方的一組牌,並用中指與無名指壓住外端。

在推出時候,右手拿著的一組要舉起來,並放到另一組特普,然後用右手整理牌。

以此方式進行「因喬戈」後,牌便會轉移到波頓,下方的牌便會轉移到特普。

下切牌也可在一組牌切牌後取出下半部分時使用。

讓某一個人抽出一張牌,在別人記牌點的這一瞬間,你要進行上而下式洗牌。當洗到一半時,向那人伸出左手,讓他把抽出的牌放到左手牌中,牌放好後,開始洗牌。

洗牌時,先從右手的三張牌逐張洗,放在左手的特普(別人所選的牌)上,這就是「濫」的技巧。

接著將剩餘的牌實施「因喬戈」。

然後,把右手中的牌進行洗牌後,放到「因喬戈」的牌上面。

將「因喬戈」牌的下面一組,進行下切牌,而後放到特普上,這樣,所選的牌也就是從特普位置算起的第四張。後面的處理方法順其自然。

如果需要把選出的牌轉移到特普位置,特普一組要翻過來,並且正面向上,展開3~4張波頓牌給他看,證明這里沒有他所選的牌。然後合上牌,疊整齊。

接著將另一組翻過來並展示,讓那個人看其中也沒有所選的牌。然後把牌翻回去,並放入波頓位置疊齊。這只是證明給其他人看,牌並不在裡面。

要將別人的牌移到特普,雖然可立刻將那人牌上方的牌加以「因喬戈」之後再洗牌,然後把「因喬戈」之後的牌進行切牌,使牌方便轉移到特普位置。

要將牌轉移到波頓,可以按照上述方法轉移到特普後,再進行上而下式洗牌,先把特普的牌向左手洗一張,然後洗剩餘的牌,這樣,就成功轉移到了波頓。

上而下式布雷克的控制。

這種方法與上述方法是相同的。

將「因喬戈」之後的牌下半部分進行下切牌,隨後,在「因喬戈」之後的牌與下半部分牌之間設置布雷克,並保持布雷克。而後進行上而下式洗牌,把布雷克下面的一組牌轉移到特普位置,這就是與方法1的區別所在。

按照方法1,讓某人放好牌後,在上面放三張牌,再將下面一張進行「因喬戈」之後,開始洗牌。

右手稍微用力使牌的上端疊齊,然後以右手拿著左手一組,右手拇指間貼於「因喬戈」之後的牌的內端,右手中指則貼於一組的外端。

一方面將「因喬戈「之後的牌,用拇指向特普的位置推出一些,一方面推入另一組中。

這樣,「因喬戈」後面的牌與下方一組牌之間,也就造成了布雷克。

左手拇指保持好布雷克。再用右手拇指、中指拿起另外的一組,進行上而下式洗牌,待洗到布雷克時,布雷克下面的牌就放到特普位置上。

按照上面的方法進行,那人所選的牌就會轉移到從特普算起的第四張。

此後的操作方法與方法1相同。

這種方法給人一種徹底洗牌的感覺,因而效果會比1的方法強。

自然而輕松的控制。

此方法是「因喬戈」的變形,但比「因喬戈」簡單一些,也更自然一些。

讓某人抽出一張牌後,將一組正面朝下放在左手中。

這時,左手食指要突出來,用右手拿起上半部分,請觀眾將所選的牌,放在左手下面一組牌的特普位置,把右手的一組牌慢慢放到左手下面一組的上面,這樣,上面一組牌就會滑到下面一組的特普位置,靠近波頓的部分就會突出來。

此時用右手拿起左手的一組牌,擺出上而下式洗牌的姿態。這種動作姿態,像是把那人牌上方的牌施予「因喬戈」一樣。

然後,右手拇指進入突出牌的下面,設置布雷克後,進行上而下式洗牌,這樣一來,所選的牌便會轉移到特普。

交叉換牌的控牌技法

在整副牌中,把三張Q抽出來,表面向上拿在左手中。

然後把三張Q背面向上,理順以後,在上面放置正面向上的A。把這7張牌展開,並讓觀眾看清楚三張Q是背面向上的。

此時,把這7張牌放回牌中,小拇指放在最下面一張A牌與其它牌之間,以設置布雷克,從上面疊齊後,悄悄把布雷克下面的6張牌翻過來,方法如下:

左手食指稍微彎曲,並貼在牌的下面,拉出布雷克下面的牌,然後慢慢旋轉,使這6張牌左側轉到右側,以上動作只可以暗中進行,不可被其他人發現。

牌理齊後,右手鬆開。把下面的三張牌背面向上放入一人手中,他便以為是3張Q。然後把剩餘的牌翻過來背面向上,把左手中的波頓的牌抽出來,讓其他人看,然後放入那人手上的牌中。

這樣,那個人手中的牌就都變成了A牌。

⑻ C語言 洗牌演算法

/*洗牌程序:用任何語言,隨機分配52張撲克牌到52個位置上,每個位置只容許放一張牌
用1-13表示紅心A--K
14-26表示黑桃A,2,3-,Q,K
27-39表示方塊A,2,3-,Q,K
40-52表示黑桃A,2,3-,Q,K
也就是生成1-52不重復的隨機數,放到數組中*/

#include<iomanip.h>
#include<stdlib.h>
#include<time.h>

const int N=52;
static int a[N];

int create(int n)
{
return (1+rand()%52);
}

int main()
{
int i,j;
srand(time(0));
for(i=0;i<N;++i)
{
a[i]=create(N);
for(j=0;j<i;++j)
{
if(a[j]==a[i])
{
a[i]=(a[i]+1)%52;
}
}
cout<<setw(5)<<a[i];
}
cout<<endl;
return 0;
}

⑼ 撲克牌怎麼洗牌

假洗牌之抽拉循環洗牌
這是一種不錯的利用抽拉洗牌控指整幅牌正體順序不做改變的洗牌方法,和前面的希臘洗牌不一樣的就是這種洗牌法並不會改變特普和波頓的牌。
(1)抽拉洗牌拿牌狀,右手抽出最下面六分之一(就是一小疊牌,為了說明方便,就定1/6吧),把它抽拉放到左手牌的上面,同時左手小拇指製作大布雷克,然後拿起布雷克下方剛才剩下的5/6,同時把剛才被放到頂上的1/6牌自然落到左掌心。
(2)然後抽拉布雷克上放那5/6牌下面的一小疊(大概也1/5左右吧,我想說1/6,我怕說得太多了大家糊塗,這次改五分之一,不過這個1/5是指布雷客上方牌的1/5,接下來我再說,都是指布雷克上方的牌哦),把它放到牌頂,同時,注意!這里用無名指製作一個大布雷克,隔開這1/5和下面的4/5,然後抽出下面的4/5,讓剛才的1/5自然落下到左手最初那1/6牌的上方。
(3)右手再把拿著的4/5牌放回左手進行抽拉,同時,在放回牌的下面左小拇指大布雷克,動作恢復到動作第(1)步的結尾處,然後重復動作(2)(3)直至把牌洗完,你會發現,你一直在循環的把本應該在下面的牌放到他原來的位置,顧名思義,循環抽拉洗牌。
1.右手食指頂住牌背,拇指和其他三個指頭用力夾住牌疊兩頭。
2.左手掌在牌疊的前端伸平,右手拇指捎放鬆使大約半副牌落到左手掌上
3.待所有牌都交錯落下後,雙手將前端左右兩疊未交錯的牌不推合,而按照原來在上的牌仍在上,原來在下的牌仍在下、已交錯洗進的後端牌則在兩手濱的遮護下自動退出,從而上下登牌如原來秩序吻合
4.只要運用自然,觀眾看去牌已洗亂,而實際末洗動一張牌

⑽ 撲克牌魔術表演者怎麼洗牌

洗牌絕技任人洗牌後,只需二至三秒鍾便可洗好2-10張自己所需要的牌。中國牌王鄭太順介紹下:花式洗牌方法1、右手持牌,拇指和其餘四指放在牌的一端,掌心向 下,左手放在牌下,離開右掌約一寸許。2、慢慢地加強右手手指對牌的壓力,很快牌便會迅速 地從拇指端射向左手,與此同時,右手上提。到最 後一張也射出後,迅速將雙手合攏。這種撲克牌洗牌手法,看起起來就像是在拉手風琴似的,優雅耐看。

閱讀全文

與撲克牌的洗牌演算法相關的資料

熱點內容
androidapi版本號 瀏覽:784
小豬佩奇配音解壓吃東西 瀏覽:283
程序員怎麼申請公司年會 瀏覽:870
圈店app的預約頭條功能怎麼樣 瀏覽:34
雲伺服器設置ad域 瀏覽:316
我的世界無盡貪婪奇點壓縮器 瀏覽:394
源碼資源免費分享網 瀏覽:686
批量qq號有效驗證源碼 瀏覽:511
本科程序員五年工資 瀏覽:902
創維電視櫃怎麼安裝app 瀏覽:852
可愛的程序員陸漓劇照 瀏覽:851
怎樣把截屏壓縮成300kb 瀏覽:225
dart文件加密 瀏覽:40
java對接攝像頭源碼 瀏覽:887
安卓項目開發實例附源碼 瀏覽:728
程序員蘋果全家桶 瀏覽:197
遠程命令阻塞 瀏覽:731
有網頁源碼怎麼查數據 瀏覽:101
win10下make編譯速度過慢 瀏覽:866
微機原理編譯環境 瀏覽:19