區塊鏈52張撲克牌更新
A. 52張撲克牌問題~!
凡是一個數有偶數個因數的牌正面朝下,有奇數個因數的牌正面朝上。 什麼樣的數會是有奇數個因數呢?1、4、9、16……,即完全平方數。其餘的數都是有偶數個因數。 所以正面朝上的有第1、4、9、16、25、36、49張牌。
B. 求:經典撲克游戲--54張牌升級(單機版)
http://www.pukenet.com/down/2008/0511/down_35.html
C. 52張撲克牌,任取5張牌,求出現一對、兩對、同花順的概率。 請幫忙解決一下這道概率題,求詳細的列出式子
給你三個式子:1*3/51*48/50*44/49*40/48這個是出現一對的概率
2對1*3/51*48/50*3/49*40/48
同花順:1/13*1/12*1/11*1/10*1/9*10/13
不知道樓主能不能看懂。
D. 撲克牌升級怎麼打,要具體點答案!
兩副牌是最常見的,總共108張撲克牌,事先約定東西的玩家是一方,南北的玩家是一方。其具體步驟如下:
1、洗牌後,可以任意從一位玩家開始抓牌,四人輪流抓牌,每人抓取25張。剩下8張牌在原位不動。抓牌的過程中要「搶亮主」。
2、第一輪是「搶亮」的。以需要有鬼牌為例,就是一鬼牌加至少一張要打的數字牌。由於是第一輪,就是說要拿到一鬼牌和最少一張3才可以「亮」。
一位玩家亮牌後,其他玩家可以「改」。條件是一個鬼牌加兩個一樣花式的「3」,或者兩個花式一樣的小鬼牌改為無花式主牌或者是兩個一樣的大鬼牌改無花式主牌。後面的亮牌方式可以改前面的「亮牌「方式,這就是「搶亮」。
一位玩家亮牌後沒人反改自己不能反改,但是可以從一張3變為兩張一樣的3來亮,如果之前有其他的玩家已經用一鬼加兩3亮牌方式搶你的「主」,你就只能用後面的兩鬼反搶方式了。搶亮後或"改亮"後無人再改,最後定下的花式就是「花式主牌」。
假設黑桃是花式主牌。那麼就是說22個黑桃現在都是「主」了,8個2也是主(其中,黑桃2現在是「主2」比其他的2大),8個3 也是主「當打之主」,黑桃3是「主3」比其他的3大,4個鬼也是主。
一般來說3最小,但是現在打的是3,那麼現在其他花式22張牌中4最小、然後是5、6、7、8、9、10、J、Q、K、A,主牌中黑桃4最小、然後5、6、7、8、9、10、J、Q、K、A、普通的2、主2、普通的3、黑桃主3、小鬼、大鬼。
3、「做莊」。哪一方亮的牌哪一方某位玩家有權抓取下面8張牌。一般來說,第一輪是由亮主的玩家抓取,以後如果沒有被對方「打敗」(某一局被對方拿到80分以上),那麼就由這一方輪流來做莊抓底下8張牌。
做莊的玩家根據需要拿了底下8張牌後,把自己不要的8張牌「埋下」,牌的背面向上放在原來8張牌的位置。一方可以等一方埋完底後搶底,被搶底的一方也可以等搶底方「埋完底」再反搶。
4、 首打。無論是有沒有人搶底,莊家都是第一個出牌,第一個出牌或每輪第一個出牌者可以任意選擇一門花式的牌來打。一般來說都是先打「副牌」的大牌,例如A、AA、AKK、AAKK等,目的是讓我方隊友把分逃掉。
5、出牌的方式。首打或每一輪最大牌的玩家下一輪領先出牌時可以打一張牌,可以打對子,可以打「拖拉機」。可以打3張,4張、5張或任意的N張(兩張以上不是對子,不是「拖拉機」的話只要你打的這些牌都是最大的就可以打。
牌的大小按前面的大小順序來比較,一樣的牌先打的比後打的大。例如先打的K比後打的K大,首打或每輪第一個出牌後,其他玩家該門花式有牌必須跟該門花式,該門花式上有類似的牌型也要跟第一個出的一樣。
該門花式的牌張數不夠的可以從其他花式「墊」,墊的話就算最小的牌,就算你墊上的是最大的鬼牌,只要你是有主有副,或都是副的話都是最小。沒有該門花式的話可以墊其他花式的 副牌,墊夠張數就可以了。或者可以用「主」去吃。
每一輪大牌者「勝」,可以搶到下一輪的出牌權(要拿分的一方,如果勝了且這一輪的牌中有分的話,可以取到分數,把分牌取出來放一邊就可以了,分牌指5,10,K,5算5分,10,K算10分)。
按以上方式一輪一輪進行。最後一輪如果是要分數的一方在那輪勝出,就可以「扣底」,如果是副牌勝出,若底下埋下的8張牌中有分數的話就按該分數乘以計算「扣底」得分;
若是主牌單張勝出就是底下8張分數的和乘以2,若是主牌含有對子則乘以4,還含有兩對的主拖拉機牌乘以8,含有3對主拖拉機牌勝出乘以16,以此類推。要得分的一方每輪得分與扣底得分相加就是最後得分。
大於80分就是該局做莊一方敗。按40為一個級別(有的約定是20分,可以自行約定)來升降級,取分一方若120分則升一級(打4,由原來的基礎上升)。
得分方若原來已經打到10了被對方在某局打敗,現在重新獲勝就在原來的打10的基礎上打J,160分則升兩級...以此類推。若少於80分,則做莊方升一級,少於40分則升兩級,0分則升3級。
6、 第二局以後就是獲勝方做莊(除非做莊的一方亮不起牌,就是說做莊的一方兩位選手連一個鬼和一張要打的數字牌都沒有,打四的話要有鬼和四,五的話要有鬼和五,以此類推)。直到某一方從3一直打到A且打A的時候獲勝了就算一方贏了。
(4)區塊鏈52張撲克牌更新擴展閱讀:
撲克牌升級技巧:
1、打A先出K
一般來說,打A 的時候K就成了老大,所以有K 的盡量先出K,拿分。
2、打除A 的先出A
如果打2-K,A基本上除了主牌就是老大,可以先出A拿點分。
3、主牌拿分
如果你手裡沒有主牌對子,只有單張的,不妨先把大牌出去拿分,不然別人出 主牌對子,你的大牌也保不住了。
4、副牌對子很管用
有的時候,當別人手裡沒有對子的時候,恰巧你的手裡有對子,即便副牌也是很好的,別人無對管不住你。
5、拿分為准
如果你手裡主牌很少,但是副牌分多,只要兩人配合的好,也能掙不少分。關鍵看怎麼打。這個時候你不妨先把主牌打出去,然後貼副牌的分。
E. 一個隨機產生52張撲克牌的程序問題
private Ch10CardLib.Card[] cards;//這裡面的cards是數組嗎?如果是那Ch10CardLib.Card[] 是什麼類型的?不是數組又表示什麼呢?
==========是 Card 類型的數組,Ch10CardLib 是自定義的命名空間(見 namespace Ch10CardLib)
cards[suitVal * 13 + rankVal - 1] = new Card((Suit)suitVal, (Rank)rankVal);//"suitVal * 13 + rankVal - 1"這個表達式是什麼意思?如果cards[]是數組那麼cards[]=new Card( ,)這個呢?
=============是把 52 張牌映射到數組下標,從 Club Ace 開始到 Club King,接著 Diamond Ace 到 Diamond King。。。分別是 0 到 51.
Shuffle() 方法裡面是新建一個臨時的 Card 數組 newDeck,newDeck[i] 表示排在第 i 歌位置的牌,以及一個布爾類型的數組 assigned ,assigned[i] 表示第 i 個位置是否已有牌。
變數 i 從 0 到 51,不斷地產生代表位置的隨機數 destCard,直到 assigned[destCard] 未有放置牌,將 card[i] 代表的牌放進 newDeck[destCard] 中。
最後把 newDeck 的牌拷貝到 card 中。
其實這種演算法效率比較低,因為牌放多了,再隨機尋找一個空位置的可能性就降低了。更好的演算法是隨機產生數對,作為要交換的兩張牌的位置。代碼如下:
public void Shuffle()
{
Random sourceGen = new Random();
for (int i = 0; i < 52; ++i)//這個 52 可以設置得更大些
{
int c1 = sourceGen.Next(52);
int c2 = sourceGen.Next(52);
// swap cards[c1] and cards[c2]
Card tmp = cards[c1];
cards[c1] = cards[c2];
cards[c2] = tmp;
}
}
F. 現在有52張撲克牌卡,卡可以重復,請問抽到兩張不同顏色的卡機會率是多少
二分之一×二分之一=四分之一
G. java52張撲克牌問題
使用JAVA編寫以下程序:
1、請定義一個名為Card的撲克牌類,該類有兩個private訪問許可權的字元串變數face和suit;分別描述一張牌的牌面值(如:A、K、Q、J、10、9、……3、2等)和花色(如:「黑桃」、「紅桃」、「梅花」、「方塊」);定義Card類中的public訪問許可權的構造方法,為類中的變數賦值;定義protected訪問許可權的方法getFace(),得到撲克牌的牌面值;定義protected訪問許可權的方法getSuit(),得到撲克牌的花色;定義方法toString(),返回表示撲克牌的花色和牌面值字元串(如「紅桃A」、「梅花10」等)。
2、若應用程序的main方法中,定義字元串數組f和s;分別表示撲克牌的牌面值和花色;定義52個元素的Card類型數組deck,用來存放4個花色的52張牌。如下所示。
String f[] = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String s[] = {"黑桃","紅桃","梅花","方塊"};
Card deck = new Card[52];
(1)使用Card類的構造方法給deck數組的52張牌賦值,要求數組中先存放黑桃花色的A、2、3、……、K;然後是紅桃花色的A、2、3、……、K;梅花花色的A、2、3、……、K;方塊花色的A、2、3、……、K。請寫出實現上述功能的程序段。
(2)請編寫模擬洗牌的完整程序,即把數組deck中的撲克牌隨機打亂存放順序。
原題如下:
引用內容
private String face; // A, K, Q, J, 10, ... 2
private String suit; // Spade, Heart, Club, Diamond
public Card(String suit, String face) {
this.face = face;
this.suit = suit;
}
protected String getFace() {
return face;
}
protected String getSuit() {
return suit;
}
public String toString() {
return suit + " " + face;
}
解題,完成程序解:
程序代碼
package poker;
public class Card {
private String face; // A, K, Q, J, 10, ... 2
private String suit; // Spade, Heart, Club, Diamond
public Card(String suit, String face) {
this.face = face;
this.suit = suit;
}
protected String getFace() {
return face;
}
protected String getSuit() {
return suit;
}
public String toString() {
return suit + " " + face;
}
public static void shuffle(Card[] deck, int startIndex, int size,
int splitIndex) { //shuffle洗牌
System.out.println("startIndex:" + startIndex);
if (splitIndex * 2 > size) { //if rand is 30
Card.swap(deck, startIndex, splitIndex, size - splitIndex); //[52]、0、30、22
shuffle(deck, size - splitIndex, splitIndex, size - splitIndex); //[52]、22、30、22
} else if (splitIndex * 2 < size) { //if rnd is 10
Card.swap(deck, startIndex, size - splitIndex, splitIndex); //[52]、0、42、10
shuffle(deck, startIndex, size - splitIndex, splitIndex); //[52]、0、42、10
} else {
Card.swap(deck, startIndex, splitIndex, splitIndex);
}
}
public static void swap(Card[] deck, int srcIndex, int dstIndex, int size) { //交換
//SRC是在本位置顯示:source的縮寫,源的意思 HREF是點擊後連接的目標:HyperlinkReference,超鏈接引用
String face = "";
String suit = "";
for (int i = 0; i < size; i++) {
face = deck[srcIndex + i].face;
suit = deck[srcIndex + i].suit;
deck[srcIndex + i].face = deck[dstIndex + i].face;
deck[srcIndex + i].suit = deck[dstIndex + i].suit;
deck[dstIndex + i].face = face;
deck[dstIndex + i].suit = suit;
}
}
/**
* @param args
*/
public static void main(String[] args) {
//第一問解答
Card[] deck = new Card[52];
String f[] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J",
"Q", "K"};
String s[] = {"Spade", "Heart", "Club", "Diamond"};
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < f.length; j++) {
deck[i * 13 + j] = new Card(s[i], f[j]); //依次存入數組之中,每13張一回合
}
}
//第二問解答
int rnd = 0;
int numOfShuffle = 10;
for (int i = 0; i < numOfShuffle; i++) {
rnd = (int) Math.abs(Math.random() * 52); //Math.random()返回大於或等於 0.0 但小於 1.0 的偽隨機 double 值。
Card.shuffle(deck, 0, deck.length, rnd);
}
// Test
/*
for (int i=0; i<deck.length; i++)
{
System.out.println(deck[i]);
} */
}
}
H. 撲克牌「升級」怎麼玩
1、升級是四人,兩兩一組,同組內的人叫對門,且要坐對門。
2、猜點決定誰先摸牌,然後按照座位順序依次摸,等每人摸完十二張牌,即可停止,留下六張底牌。
3、升級就是從2開始打然後依次打到大,然後看哪組先打到1(就是K後面的那張),那組就贏。在第一局是還沒確定那組坐莊的,要確定那組坐莊就要搶庄,即那組先亮牌就那組坐莊。
(亮牌坐莊的意思是比如本局雙方均打三,那組先摸到三並亮三那那組就坐莊,且亮的那張三的花色就為本局的主花色),然後坐莊的那組派一個成員去拿自己的牌與任一底牌相交換。
4、坐莊那組的任務是為了阻止另一組搶分,而且需要保底。而另一組的任務就是搶分,搶到45分就算獲勝,但如果沒搶到45分但在最後一手牌時最大,也算獲勝,而如果兩者兼具就叫打兩級。
5、不是坐莊的那組如果最後一手牌沒拿到最大,卻搶到了40分,這局就算平局,平局後開始下一局則需重新搶庄。
6、而分是什麼呢?是這樣的,5. K.10算分,5是5分,K和10是10分。每一手牌中只要不是坐莊的那組最大,那這一手牌中的所有分都是搶到的分。
7、翻底牌的人先出第一手牌,其他人依次出牌,且第一手牌出的是什麼花色其他人也要跟隨,沒有該花色的用其他花色補,一輪下來看誰的牌最大,下一輪則由他來打第一手牌。
8、大小王和亮牌同點數同花色的牌都是主牌,大王大於小王大於亮的那張牌大於與亮牌同點數的牌大於與亮牌同花色的牌,其他牌1最大其次是k,最小是2。
(8)區塊鏈52張撲克牌更新擴展閱讀:
專業術語的介紹:
1、主牌:性質跟保皇里的王,二一樣,屬於特殊類的牌組主牌又分為兩大類,固定主牌和流動主牌。
固定主牌為:大小王,5,3,2。且大王比小王大小王比5大以此類推。但這個順序不是絕對的當打2的時候2就僅次於王
流動主牌:除大小王外所有的牌都能當流動主牌。流動主牌又分兩類,在後邊介紹。另外,流動主牌在每一輪都是不一樣的,當一輪結束後,該輪流動主牌作廢,在下一輪重新來選定。
2、副牌:除主牌外的普通類的牌組。大小關系,A最大,K其次,類推注意!主牌跟副牌完全不同!
3、台上和台下:打個比方,台上的人相當於防禦方,台下的人相當於進攻方。升級一般是四個人兩副牌的游戲,四個人分成兩組,身為同夥的兩個人要面對面坐,相當於夠級里對頭的座次。在這里規定,在第一輪,首先「亮牌」的一夥在台上,另一夥則在台下。
4、亮牌:在摸牌過程中(必須是摸牌過程),當你手中有兩張同花色同大小的對(兩張黑桃五)和一張小王時,你就可以亮牌了(也可以亮連對,也必須是同花),把小王正放,另外兩張牌扣過來不能讓任何人尤其是非同夥人員看到。如果你在首輪亮牌,你所在的一夥就在台上了。
注意!第一輪的台上台下關系是由哪一夥先亮牌決定的。從第二輪開始台上下關系是由得分多少確定的。
5、頂牌:並不是亮了牌就能穩坐在台上了,如果在摸牌過程中,已經有人亮牌了,此時如果除了亮牌的人,其餘三人手中有一張大王以及同色連續的兩對或多對牌(紅桃對四、對五),那你就可以頂牌了。
另外規定:頂牌只能頂一次,不能多次頂牌。如果頂牌的人跟先前亮牌的人不是一夥的,那麼頂牌的一夥將代替亮牌的一夥成為台上的,如果頂牌人跟亮牌的人是一夥的,台上台下關系不變。頂牌的牌要比亮牌的牌多出一對或幾對且必須是連對。
在介紹了亮牌頂牌後第一類流動主牌就產生了,即亮的牌或頂的牌的花色的副牌成為了流動主牌此類主牌是主牌中最小的一類。
6、上台及下台:游戲採用計分制。K,10,5都是分值牌,K,10為十分,5為5分,台下的一夥要盡力得分,台上的一夥要盡力不讓台下的得分(跑分)。
規定第一輪時台上的一夥為一隊,台下的一夥為二隊。在第一輪時規定A是主牌,稱作「打A」。這就是第二類流動主牌了,此類主牌僅比王小。第二類流動主牌的實質是在台上的一夥的級數。每一夥的初始級數都是一,即 A。
I. 52張撲克牌(除大小王)抽五張牌,其中四張是一樣的有多少種可能。 這題答案為什麼是下圖這樣
先確認四張一樣的牌的點數,一共有13種可能
確認點數之後,在52張牌中同時抽中這四張牌的可能性只有1種
另外一張肯定和其他四張點數不一樣,所以有52-4=48種可能
所以最後答案就是13*1*(52-4)
J. 52張撲克牌,抽出一張,通過一系列擺牌算牌,就知道抽出的是哪一張,這個怎麼玩小時候玩過,不記得了
倒著數正面。不是看不是看反面從後面兩張兩張數一樣的花色第一張如果比第二,第二張不是這兩張其中之一如果是減去等於十,比如十減二等於十的話是是是後面的那張比較大的如果不是,直到找到花色一樣,第二張比第一張小。