public class TestGame {List<PlayCard>cardlist=new ArrayList<PlayCard>();//用來存放手牌Set<PlayCard>setPlayCard;//用來洗牌的setList<PlayCard> cardlistNew=new ArrayList<PlayCard>();//用來存放一洗過的手牌List<Player>playerlist=new ArrayList<Player>();//存放玩家List<PlayCard>playerCard_1=new ArrayList<PlayCard>();//1玩家抽到的手牌List<PlayCard>playerCard_2=new ArrayList<PlayCard>();//2玩家抽到的手牌List<PlayCard>playerFinallyCard=new ArrayList<PlayCard>();//玩家最大手牌集合public String a;public String b;public TestGame(){?this.cardlist=new ArrayList();?this.playerlist=new ArrayList();?this.setPlayCard=new HashSet();}public void addPlayCard(){?PlayCard[]playcard={new PlayCard("紅桃","1"),new PlayCard("紅桃","2"),new PlayCard("紅桃","3"),new PlayCard("紅桃","4"),new PlayCard("紅桃","5"),new PlayCard("紅桃","6"),new PlayCard("紅桃","7"),new PlayCard("紅桃","8"),new PlayCard("紅桃","9"),new PlayCard("紅桃","10"),new PlayCard("紅桃","11"),new PlayCard("紅桃","12"),new PlayCard("紅桃","13"),new PlayCard("黑桃","1"),new PlayCard("黑桃","2"),new PlayCard("黑桃","3"),new PlayCard("黑桃","4"),new PlayCard("黑桃","5"),new PlayCard("黑桃","6"),new PlayCard("黑桃","7"),new PlayCard("黑桃","8"),new PlayCard("黑桃","9"),new PlayCard("黑桃","10"),new PlayCard("黑桃","11"),new PlayCard("黑桃","12"),new PlayCard("黑桃","13"),new PlayCard("方片","1"),new PlayCard("方片","2"),new PlayCard("方片","3"),new PlayCard("方片","4"),new PlayCard("方片","5"),new PlayCard("方片","6"),new PlayCard("方片","7"),new PlayCard("方片","8"),new PlayCard("方片","9"),new PlayCard("方片","10"),new PlayCard("方片","11"),new PlayCard("方片","12"),new PlayCard("方片","13"),new PlayCard("梅花","1"),new PlayCard("梅花","2"),new PlayCard("梅花","3"),new PlayCard("梅花","4"),new PlayCard("梅花","5"),new PlayCard("梅花","6"),new PlayCard("梅花","7"),new PlayCard("梅花","8"),new PlayCard("梅花","9"),new PlayCard("梅花","10"),new PlayCard("梅花","11"),new PlayCard("梅花","12"),new PlayCard("梅花","13")?};?cardlist.addAll(Arrays.asList(playcard));?for(PlayCard pc:cardlist){?System.out.println("創(chuàng)建撲克牌成功"+pc.Colour+":"+pc.Count);}}public void addPlayer(){???Scanner input=new Scanner(System.in);?for(int i=0;i<2;i++){??System.out.println("請(qǐng)輸入玩家ID");?? String a=input.next();??System.out.println("請(qǐng)輸入玩家姓名");?? String b=input.next();??playerlist.add(new Player(a,b,null));??}?for(Player pl:playerlist){??System.out.println("玩家有"+pl.id +":"+pl.name);?}}public void shuffle(){?System.out.println("開始洗牌");?for(PlayCard pc:cardlist){??setPlayCard.add(new PlayCard(pc.Colour,pc.Count));?}?for(PlayCard pc1:setPlayCard){??cardlistNew.add(new PlayCard(pc1.Colour,pc1.Count));?}?System.out.println("洗牌結(jié)束");?}public void startGame(){PlayCard[] pd_1={??cardlistNew.get(0),cardlistNew.get(2)};PlayCard[]Pd_2={?cardlistNew.get(1),cardlistNew.get(3)?};playerCard_1.addAll(Arrays.asList(pd_1));//玩家1抽到的手牌playerCard_2.addAll(Arrays.asList(Pd_2));//玩家2抽到的手牌for(int i=0;i<2;i++){?System.out.println("玩家"+playerlist.get(0).name+"拿牌");?System.out.println("玩家"+playerlist.get(1).name+"拿牌");}playerlist.set(0, new Player(playerlist.get(0).id,playerlist.get(0).name,playerCard_1));//往玩家1信息里面填寫手牌信息playerlist.set(1, new Player(playerlist.get(1).id,playerlist.get(1).name,playerCard_2));//往玩家2里面填寫手牌信息}//開始比較手牌大小public void compare(){?Collections.sort(playerCard_1);??System.out.println("玩家:"+playerlist.get(0).name+"最大手牌為"+playerCard_1.get(0).Colour+playerCard_1.get(0).Count);?System.out.println("玩家:"+playerlist.get(1).name+"最大手牌為"+playerCard_2.get(1).Colour+playerCard_2.get(1).Count);?playerFinallyCard.add(new PlayCard(playerCard_1.get(0).Colour,playerCard_1.get(0).Count));?playerFinallyCard.add(new PlayCard(playerCard_1.get(1).Colour,playerCard_1.get(1).Count));?Collections.sort(playerFinallyCard);?if(playerFinallyCard.get(0).equals(playerCard_1.get(0))){??System.out.println("--------"+playerlist.get(0).name+"獲勝"+"------------");?}else{??System.out.println("---------"+playerlist.get(1).name+"獲勝"+"------------");?}??}public void showCard(){?System.out.println("玩家各自的手牌為");?System.out.println(playerlist.get(0).name+":"+playerCard_1.get(0).Colour+playerCard_1.get(0).Count+":"+playerCard_1.get(1).Colour+playerCard_1.get(1).Count);?System.out.println(playerlist.get(1).name+":"+playerCard_2.get(0).Colour+playerCard_2.get(0).Count+":"+playerCard_2.get(1).Colour+playerCard_2.get(1).Count);}public static void main(String[] args){?TestGame tg=new TestGame();?tg.addPlayCard();?tg.addPlayer();?tg.shuffle();?tg.startGame();?tg.compare();?tg.showCard();}}
撲克牌游戲運(yùn)行成功 請(qǐng)大家?guī)兔纯凑艺义e(cuò)
猛禽斬側(cè)衛(wèi)
2016-01-21 08:50:46