文章标题

来源:互联网 发布:塔吉特百货大数据 编辑:程序博客网 时间:2024/06/13 14:21

发牌小游戏

import java.util.*;//创建一个牌的类public class Card {    private int playerNumber;    private int cardNimer;    String [] huase;    String [] paivalue;    List<String> cardList;    //初始化器    public Card(){}    //初始化器    public Card(int p, int c){        this.setPlayerNumber(p);        this.setCardNimer(c);        //huase ={"红桃","黑桃","梅花","方块"};不能通过此方法初始化数组        huase = new String[4];        huase[0] = "红桃";        huase[1] = "黑桃";        huase[2] = "梅花";        huase[3] = "方块";        paivalue = new String[13];        paivalue[0] = "A";        for(int i=1; i<=9; i++){            paivalue[i] = String.valueOf(i+1);        }        paivalue[10] = "J";        paivalue[11] = "Q";        paivalue[12] = "K";        cardList = new ArrayList<String>();        //将牌添加到集合中        for(int i=0; i<huase.length; i++){            for(int j=0; j<paivalue.length; j++){                cardList.add(huase[i]+paivalue[j]);            }        }    }    public int getPlayerNumber() {        return playerNumber;    }    public void setPlayerNumber(int playerNumber) {        this.playerNumber = playerNumber;    }    public int getCardNimer() {        return cardNimer;    }    public void setCardNimer(int cardNimer) {        this.cardNimer = cardNimer;    }    /**     * 洗牌     */    public void xipai(){        //使用集合中的shuffle打乱集合中顺序        Collections.shuffle(cardList);    }    /**     * 发牌     */    public void fapai(){        //截取每次发牌张数的,并形成一个子集合,将其展示出来,并清除,同时会影响到父集合的删除        List<String> list = cardList.subList(0, this.getCardNimer());        for(int i=0; i<list.size(); i++){            System.out.println(list.get(i));        }        list.clear();    }}/** * 测试发牌 * @author Administrator * */public class TestCard {    public static void main(String[] args) {        Card card = new Card(3,1);//初始化玩家数量与,每个玩家的牌数        card.xipai();        //一个玩家发一次牌        for(int i=1;i<=card.getPlayerNumber(); i++){            System.out.println("第"+i+"个玩家的牌是:");            card.fapai();        }        System.out.println("还剩下:"+card.cardList.size()+"牌未发");    }}
0 0