ITPub博客

首页 > IT职业 > IT职场 > 忙活了许久,知识掌握的还是不牢靠

忙活了许久,知识掌握的还是不牢靠

IT职场 作者:flynike 时间:2021-09-09 09:03:09 0 删除 编辑

package com.imooc;

import java.util.Comparator;

public class Card implements Comparator {

public String suit;//花色

public String point;//点数

public Card(){

}

public Card(String suit,String point){
    this.suit = suit;
    this.point = point;
}

@Override
public String toString() {

    return suit + point;
}

@Override
public int compare(Card o1, Card o2) {

    String suit = "方片 梅花 红桃  黑桃";
    String point = "2 3 4 5 6 7 8 9 10 J Q K A";
    int result = point.indexOf(o1.point) - point.indexOf(o2.point);
    if(result  0){
        return 1;
    }else{
        int result2 = suit.indexOf(o1.suit) - suit.indexOf(o2.suit);
        if(result2  0){
            return 1;
        }else{
            return 0;
        }
    }
}

}

package com.imooc;
import java.util.ArrayList;
import java.util.List;


public class Player {

public int id;//玩家id
public String name;//玩家姓名
public List handCards;//玩家手牌

public Player(int id,String name){
this.id = id;
this.name = name;
handCards = new ArrayList();
}
}

package com.imooc;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;

package com.imooc;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;


public class CardsTest {

public static void main(String[] args) {
System.out.println("**创建扑克牌****");
//创建存放扑克牌的list集合
List cardsList = new ArrayList();
//创建扑克牌的花色数组
String[] suits = {"方片","梅花","红桃","黑桃"};
//创建扑克牌的点数数组
String[] points = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
for(int i = 0;i for(int j = 0;j Card card = new Card(suits[i],points[j]);
cardsList.add(card);
}
}
System.out.println("**扑克牌创建成功****");
System.out.println("**创建的扑克牌为:" + "n" + cardsList);

System.out.println("******************洗牌开始*************************");
Collections.shuffle(cardsList);//集合中的混排
System.out.println("******************洗牌结束*************************");

System.out.println("******************创建玩家*************************");
//创建map用于存放玩家的id和name
Map map = new HashMap();
//创建list集合用于存储玩家对象
List playerList = new ArrayList();
for(int i = 0;i  entry : map.entrySet()){
    System.out.println("*******欢迎玩家:" + entry.getValue());
}

System.out.println("******************开始发牌********************");

//将第一张牌发给玩家1
playerList.get(0).handCards.add(cardsList.get(0));
System.out.println("*****玩家:" + playerList.get(0).name + "-拿牌");
//将第二张牌发给玩家2
playerList.get(1).handCards.add(cardsList.get(1));
System.out.println("*****玩家:" + playerList.get(1).name + "-拿牌");
//将第三张牌发给玩家1
playerList.get(0).handCards.add(cardsList.get(2));
System.out.println("*****玩家:" + playerList.get(0).name + "-拿牌");
//将第四张牌发给玩家2
playerList.get(1).handCards.add(cardsList.get(3));
System.out.println("*****玩家:" + playerList.get(1).name + "-拿牌");

System.out.println("******************发牌结束*********************");

System.out.println("******************开始游戏*********************");
//先比较玩家1手中的牌
Collections.sort(playerList.get(0).handCards, new Card());
//得到玩家1手中的最大牌
Card card1 = playerList.get(0).handCards.get(1);
System.out.println("玩家:" + playerList.get(0).name + "最大的牌为:" + card1);
//再比较玩家2手中的牌
Collections.sort(playerList.get(1).handCards, new Card());
//得到玩家2手中的最大牌
Card card2 = playerList.get(1).handCards.get(1);
System.out.println("玩家:" + playerList.get(1).name + "最大的牌为:" + card2);
//最后比较两个玩家手中的最大牌,分出胜负
List lastCardList = new ArrayList();
lastCardList.add(card1);
lastCardList.add(card2);
Collections.sort(lastCardList, new Card());
if(lastCardList.get(1).suit.equals(card1.suit) && lastCardList.get(1).point.equals(card1.point)){
    System.out.println("******************玩家:"+playerList.get(0).name+"获胜!*********************");
}else{
    System.out.println("******************玩家:"+playerList.get(1).name+"获胜!*********************");
}
//玩家各自的手牌
System.out.println("玩家各自的手牌为:" + "n" + playerList.get(0).name + ":" + playerList.get(0).handCards
        + "n" + playerList.get(1).name + ":" +playerList.get(1).handCards);

}
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2618/viewspace-2798954/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-26

  • 博文量
    205
  • 访问量
    9818