定義一副紙牌,有發(fā)牌功能,3個人在玩,每個人10張,然后按花色排序看牌再按點數(shù)排序看牌應(yīng)該怎樣去做,3個人分別為張三,李四,王五
1 回答
已采納

未來的開拓者
TA貢獻1條經(jīng)驗 獲得超1個贊
import?java.util.ArrayList; import?java.util.Collections; import?java.util.Iterator; import?java.util.List; public?class?Main?{ ????public?static?Card?getBiggest(List<Card>?card){//得到最大的那張牌。 ????????if(card==null)return??null; ?????????Iterator<Card>iterator=card.iterator();//用Iterator遍歷集合 ?????????Card?temp=new?Card(Card.Points._3,?Card.Colour.黑桃?);//temp初始值為最小的牌 ?????????while?(iterator.hasNext()){ ?????????????Card?c=iterator.next(); ?????????????if(c.compareTo(temp)>0){ ?????????????????temp=c; ?????????????} ?????????} ?????????return?temp; ????} ????public?static?void?main(String[]?args)?{ ????????/* ????????* ????????*?創(chuàng)建有序牌堆 ????????*/ ????????List<Card>?card=new?ArrayList<Card>();//創(chuàng)建空牌堆 ????????for(Card.Points?p:Card.Points.values()){ ????????????for?(Card.Colour?c:?Card.Colour.values()){ ????????????????card.add(new?Card(p,c)); ????????????} ????????} //????????for(Card?c:card){ //????????????System.out.println(c.toString()); //????????} ????????/* ????????*?洗牌 ????????*?shuffle()方法 ????????* ????????*?*/ ????????Collections.shuffle(card); ????????/* ????????*?發(fā)牌 ????????* ????????*?*/ ????????List<Card>?player1=new?ArrayList<Card>(); ????????List<Card>?player2=new?ArrayList<Card>(); ????????List<Card>?player3=new?ArrayList<Card>(); ????????int?newPosition=1; ????????for?(Card?c:card ?????????????)?{ ????????????if(newPosition%3==0)player3.add(c); ????????????if(newPosition%3==1)player1.add(c); ????????????if(newPosition%3==2)player2.add(c); ????????????if(newPosition>=9)break;//修改參數(shù)可以改變剩余牌數(shù) ????????????newPosition++; ????????} //????????for(Card?c:player1){ //????????????System.out.println(c.toString()); //????????} ????????Card?p1=getBiggest(player1); ????????Card?p2=getBiggest(player2); ????????Card?p3=getBiggest(player3); ????????if(p1.compareTo(p2)>0&&p1.compareTo(p3)>0){ ????????????System.out.println("player1?has?the?biggest?card:"+p1.toString()); ????????}else??if(p2.compareTo(p1)>0&&p2.compareTo(p3)>0){ ????????????System.out.println("player2?has?the?biggest?card:"+p2.toString()); ????????}else?{ ????????????System.out.println("player3?has?the?biggest?card:"+p3.toString()); ????????} ????} }
基本功能是實現(xiàn)了,看看對你有沒有用。
添加回答
舉報
0/150
提交
取消