public class Test {
public static List<Card> cardList = new ArrayList<Card>();
public static String[] cardNum = new String[]{"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
public static String[] cardClass = new String[]{"方块","梅花","红桃","黑桃"};
public static Player player1;
public static Player player2;
public static void main(String[] args) {
initPlayer();
initCard();
showCard();
shuffleCard();
drawCard();
showHandCard();
compareCard();
}
public static void initPlayer(){
System.out.println("初始化玩家");
player1 = new Player("赌神");
player2 = new Player("赌圣");
}
public static void initCard(){
System.out.println("\n创建一副牌\n");
for (int i = 0; i < 13; i++) {
for (int j = 0; j < 4; j++) {
cardList.add(new Card(cardNum[i],cardClass[j],i*13+j));
}
}
}
public static void showCard(){
System.out.println("查看牌\n");
int count = 0;
for (Card card : cardList){
System.out.print(card.toString() + "\t");
if(++count % 10 == 0 || count == 52){
System.out.println();
}
}
}
public static void shuffleCard(){
System.out.println("\n洗牌\n");
Collections.shuffle(cardList);
}
public static void drawCard(){
System.out.println("双方抽牌\n");
List<Card> player1CardList = new ArrayList<Card>();
List<Card> player2CardList = new ArrayList<Card>();
for (int i = 52; i > 48; i--) {
int j = (int)(Math.random()*i);
player1CardList.add(cardList.get(j));
cardList.remove(j);
j = (int)(Math.random()*--i);
player2CardList.add(cardList.get(j));
cardList.remove(j);
}
player1.setCardList(player1CardList);
player2.setCardList(player2CardList);
}
public static void showHandCard(){
System.out.println("双方公开手牌\n");
System.out.println("player1" + player1.getName() + "的手牌是");
System.out.println(player1.getCardList() + "\n");
System.out.println("player2" + player2.getName() + "的手牌是");
System.out.println(player2.getCardList() + "\n");
}
public static void compareCard(){
System.out.println("双方比较手牌\n");
Card player1MaxCard = new Card();
Card player2MaxCard = new Card();
if (player1.getCardList().get(0).getWeight() > player1.getCardList().get(1).getWeight()){
player1MaxCard = player1.getCardList().get(0);
} else {
player1MaxCard = player1.getCardList().get(1);
}
System.out.println("player1最大的牌是" + player1MaxCard);
if (player2.getCardList().get(0).getWeight() > player2.getCardList().get(1).getWeight()){
player2MaxCard = player2.getCardList().get(0);
} else {
player2MaxCard = player2.getCardList().get(1);
}
System.out.println("\nplayer2最大的牌是" + player2MaxCard);
if (player1MaxCard.getWeight() > player2MaxCard.getWeight()){
System.out.println("\n场上最大的牌是" + player1MaxCard);
System.out.println("\n胜者是player1" + player1.getName());
} else {
System.out.println("\n场上最大的牌是" + player2MaxCard);
System.out.println("\n胜者是player2" + player2.getName());
}
System.out.println("\n游戏结束");
}
}
public class Player {
private String name;
private List<Card> cardList;
public Player() {
}
public Player(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Card> getCardList() {
return cardList;
}
public void setCardList(List<Card> cardList) {
this.cardList = cardList;
}
}
public class Card {
private String num;
private String type;
private int weight;
public Card() {
}
public Card(String num, String type, int weight) {
this.num = num;
this.type = type;
this.weight = weight;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
@Override
public String toString() {
return type + num;
}
}