永发信息网

用java ArrayList集合编写扑克牌洗牌与发牌

答案:1  悬赏:0  手机版
解决时间 2021-01-26 15:13
用java ArrayList集合编写扑克牌洗牌与发牌
最佳答案
import java.util.ArrayList;
import java.util.Random;

public class PokerDemo {
ArrayList<Card> poker = new ArrayList<Card>();
Player[] players;
int n = 4;
String[] name = {"Wang", "Zhang", "Li", "Yuan"};

public PokerDemo() {
players = new Player[n];
for(int i = 0; i < players.length; i++)
players[i] = new Player(name[i]);
for(int i = 0; i < 4; i++)
for(int j = 0; j < 13; j++)
poker.add(new Card(i, j));
System.out.println("洗牌前: " + poker);
xipai();
System.out.println("洗牌后: " + poker);
fapai();
System.out.println("发牌后: ");
for(int i = 0; i < players.length; i++)
System.out.println(players[i]);
}

public void xipai() {
Random r = new Random();
ArrayList<Card> tmp = new ArrayList<Card>();
while(!poker.isEmpty()) {
int index = r.nextInt(poker.size());
Card card = poker.get(index);
tmp.add(card);
poker.remove(index);
}
poker = new ArrayList<Card>(tmp);
}

public void fapai() {
int p = 0;
while(!poker.isEmpty()) {
Card card = poker.get(0);
players[p].add(card);
p = (p + 1) % n;
poker.remove(0);
}
}

public static void main(String[] args) {
new PokerDemo();
}
}

class Card {
int val, sty;
final String[] value = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
final String[] style = {"黑桃", "红心", "梅花", "方块"};
public Card(int s, int v) {
sty = s;
val = v;
}
public String toString() {
return style[sty]+ " " + value[val];
}
}

class Player {
ArrayList<Card> cards = new ArrayList<Card>();
String name;
public Player(String n) {
name = n;
}

public void add(Card card) {
cards.add(card);
}

public String toString() {
return name + ":\t" + cards;
}

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
发信息他都不回信息说不想回没啥聊的,问他我
魅蓝note可以升级到Flyme5吗
股票回购的正面作用包括
我下了个手机植物大战僵尸但是跟我在电脑上玩
现在有一份公司前台文员的工作同意我去上班,
玉龙雪山大索道是不是要检修暂停使用了?
皇帝身后的打羽毛扇的问题
房贷逾期被广州住房公积金起诉到法院怎么办
成语兴文匽武的意思是什么啊?有知道释义的请
什么十分什么填空题
化灰复( )-( )眉之( )-( )功近( )-( )欲熏( )
我跟我女朋友已经到谈婚论嫁的地步了,但我女
一个小数,如果小数部分扩大3倍,这个数变成5.4
海里没有水,有城没人住。有山没有树,有路没
上好体育课应具备哪些条件
推荐资讯
家里是平房,想重新装修,墙面不知道怎么办
昨晚梦见我骑马,后来马被老虎咬死了
青岛集贤中学地址在哪,我要去那里办事
故意撞车在交通法是什么违法行为
韵达快递(桃渚镇东洋大道大转盘北侧)地址好找
求 :”走是灯笼“ “ 伟大的悲剧” 伟大的悲
火线精英的霸气头像
世上最长的海洋动物
小于21岁有不有必要
晓冬移动营业厅地址在哪,我要去那里办事
Maybe you are more interested in sports th
魔兽世界术士精通
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?