亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

參考了做了下

public class Card implements Comparable<Card>{

private String cardColor;

private String cardNum;

public Card(String color,String num){

this.setCardColor(color);

this.setCardNum(num);

}

public String getCardColor() {

return cardColor;

}

public void setCardColor(String cardColor) {

this.cardColor = cardColor;

}

public String getCardNum() {

return cardNum;

}

public void setCardNum(String cardNum) {

this.cardNum = cardNum;

}


@Override

public int compareTo(Card o) {

// TODO Auto-generated method stub

String colorstr = "方塊,梅花,紅桃,黑桃";

String numstr = "2,3,4,5,6,7,8,9,10,J,Q,K,A";

int k;

k = numstr.indexOf(this.getCardNum())-numstr.indexOf(o.getCardNum());

if(k==0){

k= colorstr.indexOf(this.getCardColor())-colorstr.indexOf(o.getCardColor());

}

return k;

}

}

===========================================

import java.util.ArrayList;

import java.util.List;


public class Porker {

private List<Card> cardList;

public List<Card> getCardList() {

return cardList;

}


public Porker(){

cardList = new ArrayList<Card>();

String[] colorlist = {"黑桃","紅桃","梅花","方塊"};

String[] numlist = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};

for(int i=0;i<colorlist.length;i++){

for(int j=0;j<numlist.length;j++){

cardList.add(new Card(colorlist[i],numlist[j]));

}

}

}


}

==================================================

import java.util.ArrayList;

import java.util.List;


public class Person {

private int id;

private String name;

private List<Card> handcards;

public Person(int id,String name){

this.setId(id);

this.setName(name);

handcards = new ArrayList<Card>();

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public List<Card> getHandcards() {

return handcards;

}

}

=====================================


import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Scanner;


public class TestPaly {

public Porker porker;

public TestPaly(){

porker = new Porker();

}

public void showPorker(List<Card> cards){

System.out.print("撲克牌包含:[");

for(int i=0;i<cards.size();i++){

Card card = cards.get(i);

if(i==(cards.size()-1)){

System.out.print(card.getCardColor()+card.getCardNum());

}else{

System.out.print(card.getCardColor()+card.getCardNum()+",");

}

}

System.out.println("]");

}

public static void main(String[] args){

System.out.println("開始玩撲克牌了,創建一付撲克牌");

TestPaly tp = new TestPaly();

System.out.println("撲克牌創建成功!");

List<Card> cards = tp.porker.getCardList();

tp.showPorker(cards);

System.out.println("開始洗牌");

Collections.shuffle(cards);

System.out.println("洗牌結束");

System.out.println("創建2名玩家");

Scanner scanner = new Scanner(System.in);

List<Person> plist = new ArrayList<Person>();

int i=0;

while(i<2){

try{

System.out.println("請輸入用戶ID:");

int id = scanner.nextInt();

System.out.println("請輸入用戶名:");

String name = scanner.next();

plist.add(new Person(id,name));

i++;

}catch(Exception e){

System.out.println("輸入有誤,請重新輸入");

scanner.next();

}

}

System.out.println("開始發牌");

for(int j=0;j<2;j++){

for(Person p:plist){

Card card = cards.get(0);

p.getHandcards().add(card);

cards.remove(0);

}

}

System.out.println("發牌結束");

System.out.println("開始比較大?。?);

Collections.sort(plist.get(0).getHandcards());

Collections.sort(plist.get(1).getHandcards());

List<Card> comparelist = new ArrayList<Card>();

for(Person p:plist){

Card card = p.getHandcards().get(p.getHandcards().size()-1);

comparelist.add(card);

System.out.println("玩家:"+p.getId()+":"+p.getName()+"最大的牌:["+card.getCardColor()+card.getCardNum()+"]");

}

Collections.sort(comparelist);

Card max = comparelist.get(comparelist.size()-1);

for(Person p:plist){

if(p.getHandcards().contains(max)){

System.out.println("獲勝的是:"+p.getId()+":"+p.getName());

}

}

System.out.println("玩家的牌為:");

for(Person p:plist){

System.out.print("玩家:"+p.getId()+":"+p.getName());

tp.showPorker(p.getHandcards());

}

}

}


正在回答

2 回答

card的compareTo()方法貌似有誤,只是闡述了數值相同的情況

0 回復 有任何疑惑可以回復我~

贊一個

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

參考了做了下

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號