纸牌游戏中,发牌是和现实中一样随机的吗?

2024-05-13

1. 纸牌游戏中,发牌是和现实中一样随机的吗?

只要牌是乱的,几率就是随机的,如有52张牌几率就是52分之一

纸牌游戏中,发牌是和现实中一样随机的吗?

2. java编写扑克牌游戏里,洗牌时发牌时用到了随机分配的功能,请问在那个包中哪个类哪个方法?

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

 
/**
 *  Author:danagao
 *  java 发牌程序,
 *  不含大王,小王
 *  可设定发牌人数
 */
public class Pai {

 
  HashMap map = new HashMap();
  private static final String[] colors = {"红桃", "方块", "梅花", "黑桃"};
  private static final String[] values = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};

 
  private String[] newpai;  private int len;
  //初始化52张牌
  public Pai() {
    len = colors.length * values.length;
    newpai = new String[len];
    int k = 0;
    for (int i = 0; i < colors.length; i++) {
      for (int j = 0; j < values.length; j++) {
        newpai[k] = colors[i] + values[j];
        k++;
      }
    }
  }

 
  //洗牌(把牌打乱)
  private void getNums() {
    Random r = new Random();
    int i = r.nextInt(len);
    String s;
    if (i >= 0 && !map.containsKey(String.valueOf(i))) {
      s = String.valueOf(i);
      map.put(s, newpai[i]);
    } else {
      getNums();
    }
  }

 
  //发牌
  public void showResult(int p) {
    for (int i = 0; i < len; i++) {
      getNums();
    }

 
    int l = len/p; //每人发几张牌
    int j=1;//计人数
    int k=0;//计牌数

 
    for (Map.Entry entry : map.entrySet()) {
      if(k%l==0 && j<=p){
        System.out.println("第"+j+"个人的牌:");
        j++;
      } else if(len-k <= len%p){
        System.out.println("剩余的牌:");
      }
      k++;

 
      System.out.println(entry.getValue());
    }  }
  public static void main(String[] args) {
    DbColorBall dbColorBall = new DbColorBall();
    dbColorBall.showResult(4);
  }
}

3. 网上扑克牌游戏可以把他的发牌顺序改变吗

反正试试也不亏是吧,我只能说出我的感觉是吧你可以来试试!!,废话也不多说了!
好了

网上扑克牌游戏可以把他的发牌顺序改变吗

4. 用C++写的一款麻将游戏,怎样让发牌的时候自动分类排序,怎样让出牌和摸牌的时候,实现飞翔的效果。

这种游戏都是建立在一个合适的游戏引擎上开发的,所谓的排序飞牌什么的,都非常容易实现,选对引擎后开发很简单

5. 今天第一次玩三国杀,对这游戏的发牌规则有点晕,就是它有时会到自己发牌的时候,自己有很多牌,但是有时

开场时,每人发四张基础手牌,之后轮流出牌,出牌阶段之前有个摸牌阶段,一般是摸两张牌,但是周瑜许诸等武将发动技能可能会多摸牌或者少摸牌,刘备可以给别人牌,无中生有这个牌可以令你再摸两张,如果别人对你使用过河拆桥或顺手牵羊你的牌就会被人家拿走或是被弃置。

今天第一次玩三国杀,对这游戏的发牌规则有点晕,就是它有时会到自己发牌的时候,自己有很多牌,但是有时

6. 纸牌游戏三国杀的发牌规则是什么?

亲爱的玩家您好
  游戏规则
  ~游戏配件~
  ~三国杀共有160张纸牌~
  身份牌10张
  游戏牌104张
  角色牌25张
  体力牌10张
  以及2张空白身份牌,5张空白角色牌,和4张空白游戏牌(大小王)
  ~分发身份牌~
  游戏开始之前,首先挑选出与玩家数量对应的几张身份牌给每名玩家随机地分发一张身份牌。如果拿到主公,需立刻亮出身份牌。除了主公外,其他玩家的身份一定要保密身份。
  ~建议角色分配~
  游戏人数 主公 忠臣 内奸 反贼
  4 1 1 1 1

  5 1 1 1 2

  6 1 1 1 3

  1 1 2 2

  7 1 2 1 3

  8 1 2 1 4

  1 2 1 4

  9 1 3 1 4

  10 1 3 2 4

  ~胜利条件~

  胜利条件是由拿到的身份牌决定的:

  主公和忠臣的胜利条件是消灭所有反贼和内奸。

  反贼则只需杀死主公就能获得胜利。因此忠臣的重要职责是保护主公。

  内奸则只有消灭除了自己之外的所有人才能取得胜利(包括别的内奸)。

  ~挑选角色牌~

  三国杀有25张角色牌,每个角色都是一个三国人物,每个角色都有自己的角色技能。

  角色牌上方的勾玉的个数,表示这个人物的体力上限。主公的体力上限在他挑选的角色的体力上限基础上增加一点。

  角色牌上的国籍在使用主公技能时会用到;同时,在进阶的转世规则里也会有涉及。

  首先由主公挑选角色牌。

  分给主公玩家"曹操"、"刘备"、"孙权",和另外随机抽取的2张角色牌,一共5张角色牌。由主公玩家挑选一个角色扮演,并将选好的角色牌展示给其他玩家。

  然后由其他玩家挑选角色牌。

  随机分发3张角色牌给除主公外的每名玩家(10人游戏时每人分发2张)。每人从这三个角色中挑选一个扮演。将挑好的角色牌扣在自己面前,所有玩家都挑选好后同时翻开,并且展示给其他玩家。

  主公跟忠臣不一定是一个国家的,反贼和主公也可能是同一个国家的~

  ~准备开始~

  将剩下的身份牌和角色牌放在一边,暂不使用然后,将游戏牌洗混,面朝下放成一堆,置于桌子中央(称为牌堆)

  每名玩家从牌堆摸取4张游戏牌,作为起始手牌然后,向每名玩家分发一张体力牌。体力牌上勾玉的数量同样表示体力值。将与自己角色体力上限相等的一面向上放在桌上。初始的体力值等于体力上限。以后每扣减一点体力,便用角色牌挡住一个勾玉记号

7. QQ游戏是否对360用户采用限制措施,比如随机发牌差之类的?

玩QQ牌类游戏的时候,经常会产生这样的疑问,有时候牌好,想什么来什么,牌不好的时候,感觉来牌就是跟你做对,输赢靠的已经不是技术手法,运气占了太大的比重,使你不得不怀疑,这牌是随机发的吗?
        事情是这样的,QQ为我们提供一个游戏平台,玩家们自主选择想玩的游戏,而QQ为玩家设置了蓝钻这个特权,给愿意花钱的玩家提供部分特权,让玩家更多选择,玩的更尽兴,表面看起来都是自原的,发牌也应该是随机的,其实不然,因为,QQ是一个商业平台,主要是为了挣钱!
        现在是大数据时代,每一个QQ游戏的背后,都有一大票数据分析师,他们通过收集玩家的游戏数据,花大把的功夫研究玩家在什么样的游戏环境和游戏遭遇下会主动花钱充值买特权,然后他们就会在游戏中刻意制造这个游戏环境和遭遇,比如增加游戏的刺激性,让一部分人赢的很简单很痛快,而另一些人就拿到一手烂牌,你生气?经常被T出游戏?想出气?想找回尊严?花钱买钻就有特权!!!
        总而言之,有人牌好有人牌烂,是游戏程序事先刻意安排了的,但是谁牌好谁牌烂,这个是随机的。一次两次你感觉不到,经常玩你就会感觉到,就会产生如题的疑问,这是大数法则!

QQ游戏是否对360用户采用限制措施,比如随机发牌差之类的?

8. 初学者C语言 21点游戏发牌, 下面这段是什么意思?拜托能不能一步一步解释下~~谢谢~~

void fapai(int* who,int* len)  //发牌函数
 {     
while(1) 
   {         
int temp = rand()%52;        //随机取一张牌
 if(pai[temp]==0)                 //如此牌还在
     {            
 pai[temp]=1, 				who[(*len)++]=temp%13;    //标记此牌已发,将此牌的点数记入who数组    
         return;        
     }    
 }
 }int calc(int* who,int len)   //计算总点数
{
    int s=0,i;
    for(i=0;i<len;i++)        //对每一张牌
		s+=who[i]>9 ? 10 : (who[i]+1);  //s=s+who[i];who[i]>9,则who[i]=10,否则who[i]=who[i]+1.
//牌点大于9的,记10分,否则记1分
    if(s>21) s=0;            //若超过21分,则“爆了”,清0
       else if(s<=12)        //若点数不满13
	{
        for(i=0;i<len;i++)
			if(who[i]==0 && s<=12)         //若第i张牌为0,补加9点
				s+=9;  //s=s+9
    }
    return s;
}
最新文章
热门文章
推荐阅读