首页 > IT职业 > IT职场 > Java第三季 简易扑克牌游戏
/**
* 扑克牌类
* @author:凌_惜
* @date:2016年11月7日 下午1:56:12
*/
public class Card {
private String color; //花色
private String number; //牌数
public Card() {
}
public Card(String color, String number) {
this.color = color;
this.number = number;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
} /**
* 玩家
* @author:凌_惜
* @date:2016年11月7日 下午2:06:37
*/
public class Player {
private String id; //ID
private String name; //姓名
private List cards; //手牌
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getCards() {
return cards;
}
public void setCards(List cards) {
this.cards = cards;
}
} /**
* 比较规则类
* @author:凌_惜
* @date:2016年11月7日 下午2:26:59
*/
public class Compara implements Comparator {
@Override
public int compare(Card o1, Card o2) {
String colors = "方块 梅花 红桃 黑桃";
String numbers = "2 3 4 5 6 7 8 9 10 J Q K A";
//比较数字大小,选出最大的手牌
int result = numbers.indexOf(o1.getNumber()) - numbers.indexOf(o2.getNumber());
if (result 0) {
return 1;
} else {
//比较花色大小,选出最大的手牌
int result2 = colors.indexOf(o1.getColor()) - colors.indexOf(o2.getColor());
if (result2 0) {
return 1;
} else {
return 0;
}
}
}
} /**
* 测试类
* @author:凌_惜
* @date:2016年11月7日 下午2:38:59
*/
public class CardGameTest {
public static void main(String[] args) {
System.out.println("==========开始创建一副扑克牌(不含大小王)==========");
String[] colors = {"方块","梅花","红桃","黑桃"};
String[] numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
List cardList = new ArrayList();
for (String c : colors) {
for (int i = 0; i list = new ArrayList();
for (int i = 1; i p1 = new ArrayList();
List p2 = new ArrayList();
for (int i = 0; i BigCards = new ArrayList();
BigCards.add(p1.get(1));
BigCards.add(p2.get(1));
//拿两个玩家最大的牌进行比较
Collections.sort(BigCards,new Compara());
System.out.println("***玩家:" + list.get(0).getName() + "最大的手牌为:" + p1.get(1).getColor() + p1.get(1).getNumber());
System.out.println("***玩家:" + list.get(1).getName() + "最大的手牌为:" + p2.get(1).getColor() + p2.get(1).getNumber());
//比较谁获胜
if (BigCards.get(1).equals(p1.get(1))) {
System.out.println("==========玩家:" + list.get(0).getName() + "获胜==========");
} else {
System.out.println("==========玩家:" + list.get(1).getName() + "获胜==========");
}
//显示玩家获取的手牌
String card1 = p1.get(0).getColor() + p1.get(0).getNumber();
String card2 = p1.get(1).getColor() + p1.get(1).getNumber();
String card3 = p2.get(0).getColor() + p2.get(0).getNumber();
String card4 = p2.get(1).getColor() + p2.get(1).getNumber();
System.out.println("---玩家" + list.get(0).getName() + "的手牌为:[" + card1 + ","+ card2 + "]");
System.out.println("---玩家" + list.get(1).getName() + "的手牌为:[" + card3 + ","+ card4 + "]");
}
} 
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1331/viewspace-2807505/ ,如需转载,请注明出处,否则将追究法律责任。