区块链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张扑克牌,抽出一张,通过一系列摆牌算牌,就知道抽出的是哪一张,这个怎么玩小时候玩过,不记得了
倒着数正面。不是看不是看反面从后面两张两张数一样的花色第一张如果比第二,第二张不是这两张其中之一如果是减去等于十,比如十减二等于十的话是是是后面的那张比较大的如果不是,直到找到花色一样,第二张比第一张小。