ITPub博客

首页 > IT职业 > IT职场 > Java入门第三季习题,简易扑克牌游戏

Java入门第三季习题,简易扑克牌游戏

IT职场 作者:netroop 时间:2021-09-09 08:57:01 0 删除 编辑
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

public class PlayCard {
    public static void main(String[] args){
        Player player1=new Player();
        Player player2=new Player();
        String[] dot={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
        String[] color={"","","",""};
        List pokers = new ArrayList();
        for(int i=0;i pokers1 = player1.getMyPokers();
        Collections.sort(pokers1);
        List pokers2 = player2.getMyPokers();
        Collections.sort(pokers2);
        System.out.println("玩家:"+player1.getName()+"最大的手牌为:"+pokers1.get(1));
        System.out.println("玩家:"+player2.getName()+"最大的手牌为:"+pokers2.get(1));
        if(pokers1.get(1).compareTo(pokers2.get(1))>0)
            System.out.println("-------------玩家"+player1.getName()+"获胜-------------");
        else
            System.out.println("-------------玩家"+player2.getName()+"获胜-------------");
        System.out.println("玩家各自的手牌为:");
        System.out.println(player1.getName()+":"+pokers1);
        System.out.println(player2.getName()+":"+pokers2);
        sc.close();
    }
}

public class Poker implements Comparable{
    private String dot;
    private String color;
    public Poker(String dot,String color){
        this.dot = dot;
        this.color = color;
    }
    //将扑克牌的点数变成权值方便比较大小
    private int dotWeihgts(){
        switch(this.dot){
            case "3":return 3;
            case "4":return 4;
            case "5":return 5;
            case "6":return 6;
            case "7":return 7;
            case "8":return 8;
            case "9":return 9;
            case "10":return 10;
            case "J":return 11;
            case "Q":return 12;
            case "K":return 13;
            case "A":return 14;
            case "2":return 15;
            default: return 0;
        }
    }

    //将扑克牌的花色转换成权值方便比较大小,我们这里是黑桃最大,方片最小。。。
    private int colorWeights(){
        switch(this.color){
            case "":return 1;
            case "":return 2;
            case "":return 3;
            case "":return 4;
            default:return 0;
        }
    }

    public int compareTo(Poker poker){
        if(this.dotWeihgts()>poker.dotWeihgts())
            return 1;
        else if(this.dotWeihgts()==poker.dotWeihgts()){
            if(this.colorWeights()>poker.colorWeights())
                return 1;
            else if(this.colorWeights()==poker.colorWeights())
                return 0;
            else
                return -1;
        }
        else
            return -1;
    }

    @Override
    public String toString() {
        return color+dot;
    }
}

public class Player {
    private int id;
    private String name;
    private List myPokers;

    public Player(){
        myPokers = new ArrayList();
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setMyPokers(Poker poker){
        this.myPokers.add(poker);
    }

    public List getMyPokers() {
        return myPokers;
    }

    @Override
    public String toString() {
        return "Player{" +
                "id=" + id +
                ", name='" + name + ''' +
                '}';
    }
}

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

上一篇: 图片不能显示
请登录后发表评论 登录
全部评论

注册时间:2019-04-25

  • 博文量
    152
  • 访问量
    1069