欢迎光临
我们一直在努力

网络在线游戏开发心得(服务器端)(四)-JSP教程,资料/其它

建站超值云服务器,限时71元/月

四、扑克牌的生成

  游戏中需要为用户生成随机的扑克牌,首先我们需要初始化一副牌,放到一个hashmap中,每张牌以一个字节表示,高为代表花色,的为代表数字,生成整副牌:

private static hashmap cards = new hashmap();

int tmp=0;

for (int i = 0; i <4; i++) {

for (int m = 0; m < 13; m++) {

tmp=((byte)(i)<<4)|((byte)m); //使用位操作构造一张牌

cards.put(new integer(i * 13 + m),new byte((byte)tmp));

}

}

cards.put(new integer(53), new byte((byte)0x4d)); //大王

cards.put(new integer(54), new byte((byte)0x4e)); //小王

  如何随机地得到其中的n张牌呢?我们的做法是生成一个0-55的随机数,用这个随机数作主键从hashmap中获得对象,取得之后,把该对象从队列中删除,以免重复取得。由于java中的随机数是根据时间生成的,所以有可能导致用户得到的牌不够散,每个用户都摸到一条龙岂不是笑话?所以在生成随机数的时候我们加入了一个大素数来作运算:

long cardid=new long((math.round(math.random() * 87) % 55)).intvalue();

通过修改这个大素数,可以控制某个用户的牌比较好。

下一篇:关于线程

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 网络在线游戏开发心得(服务器端)(四)-JSP教程,资料/其它
分享到: 更多 (0)

相关推荐

  • 暂无文章