zoukankan
html css js c++ java
派发牌算法的实现 (java)
import
java.util.
*
;
/** */
/**
* 派发牌算法的实现
* 要求:把2副牌,也就是108张,发给4个人,留8张底牌
*/
public
class
PaiPai
{
int
[] pokerpai
=
new
int
[
54
];
int
[] allpai
=
new
int
[
108
];
int
[][] playerpai
=
new
int
[
4
][
25
];
int
[] dipai
=
new
int
[
8
];
int
m_turn;
Random rdm
=
new
Random(System.currentTimeMillis());
int
getRandom(
int
size)
{
return
(rdm.nextInt()
&
0x7FFFFFFF
)
%
size;
}
public
PaiPai()
{
initPai();
faPai();
}
public
void
initPai()
{
m_turn
=
0
;
int
randomsite;
int
temppai;
//
赋初值--发牌一般形式:1.按点数发 2.牌数和花色发
//
下面是按点数发
for
(
int
i
=
0
;i
<
pokerpai.length;i
++
)
{
pokerpai[i]
=
(i
+
1
)
%
55
;
}
//
给两副牌
for
(
int
i
=
0
;i
<
2
;i
++
)
for
(
int
j
=
0
;j
<
pokerpai.length;j
++
)
{
allpai[m_turn]
=
pokerpai[j];
m_turn
++
;
}
//
洗牌
for
(
int
i
=
0
;i
<
allpai.length;i
++
)
{
randomsite
=
getRandom(allpai.length);
temppai
=
allpai[randomsite];
allpai[randomsite]
=
allpai[i];
allpai[i]
=
temppai;
}
}
public
void
faPai()
{
//
一轮发四人牌,共25轮
for
(
int
i
=
0
;i
<
25
;i
++
)
for
(
int
j
=
0
;j
<
playerpai.length;j
++
)
{
m_turn
--
;
playerpai[j][i]
=
allpai[m_turn];
}
//
留底牌
for
(
int
i
=
0
;i
<
dipai.length;i
++
)
{
m_turn
--
;
dipai[i]
=
allpai[m_turn];
}
//
显示四家牌
for
(
int
j
=
0
;j
<
playerpai.length;j
++
)
showPai(playerpai[j]);
//
显示底牌
showPai(dipai);
}
public
void
showPai(
int
[] m_pai)
{
System.out.println(
"
Showpai:start.
"
);
for
(
int
i
=
0
;i
<
m_pai.length;i
++
)
{
System.out.print(
"
"
+
m_pai[i]);
}
System.out.println();
System.out.println(
"
Showpai:end.
"
);
}
public
static
void
main(String[] args)
{
new
PaiPai();
}
}
查看全文
相关阅读:
软件工程第四次作业
软件工程第三次作业
图片
软件工程第二次作业
软件工程第一次作业
我的大学生活-3-35-任延勇
我的未来只有我知道
cpu占用率高排查知识点
LeetCode字符串题目
hashmap
原文地址:https://www.cnblogs.com/bluespot/p/911755.html
最新文章
程序员应该知道的13个设计技巧
Signs your Java program wants to be written in Scala
How Scala killed the Strategy Pattern
Design Patterns in Dynamic Programming
A Java Fork/Join Framewor
Peng Gong:我的算法学习之路
著名 Emacs 用户列表
Teach Yourself Programming in Ten Years——用十年教会自己编程
aa
冒泡排序
热门文章
spring框架是干什么用的
时间复杂度和空间复杂度详解
java中的super()是什么
tab 键技巧小结
Java 理论与实践: 处理 InterruptedException
java常用正则表达式
Eclipse如何显示行号(两种方法)
mvn install 错误
vb.net学习笔记
软件工程第五次作业(结对作业)
Copyright © 2011-2022 走看看