Test类:
import java.util.Comparator;
import java.util.linkedList;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("-----------------------------------------JJ斗地主-----------------------------------------");
System.out.println("正在洗牌中......");
Poker poker = new Poker();
poker.poker();
System.out.println("请输三个玩家的姓名:");
Scanner input = new Scanner(System.in);
String name1 = input.next();
String name2 = input.next();
String name3 = input.next();
System.out.println("进入发牌阶段.........");
linkedList cards1 = new linkedList<>();
linkedList cards2 = new linkedList<>();
linkedList cards3 = new linkedList<>();
System.out.println(poker.dealPoker(cards1,cards2,cards3,poker.getlinkedList()));
Gamer gamer1 = new Gamer(name1,cards1);
Gamer gamer2 = new Gamer(name2,cards2);
Gamer gamer3 = new Gamer(name3,cards3);
System.out.println("展示玩家手牌:");
System.out.println(gamer1);
System.out.println(gamer2);
System.out.println(gamer3);
System.out.println("请输入叫地主玩家的名字:");
String landLordName = input.next();
if(gamer1.getName().equals(landLordName)){
gamer1.getCards().addAll(poker.getlinkedList());
gamer1.getCards().sort(Comparator.comparingInt(Card::getGrade));
}else if(gamer2.getName().equals(landLordName)){
gamer2.getCards().addAll(poker.getlinkedList());
gamer2.getCards().sort(Comparator.comparingInt(Card::getGrade));
}else{
gamer3.getCards().addAll(poker.getlinkedList());
gamer3.getCards().sort(Comparator.comparingInt(Card::getGrade));
}
System.out.println("底牌是:"+poker.getlinkedList());
System.out.println("展示玩家手牌:");
System.out.println(gamer1);
System.out.println(gamer2);
System.out.println(gamer3);
}
}
Gamer类:
import java.util.linkedList;
public class Gamer {
private String name;
private linkedList cards;
public Gamer() {
}
public Gamer(String name, linkedList cards) {
this.name = name;
this.cards = cards;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public linkedList getCards() {
return cards;
}
public void setCards(linkedList cards) {
this.cards = cards;
}
@Override
public String toString() {
return name+""+cards;
}
}
Poker类:
import java.util.*;
public class Poker {
private final linkedList linkedList = new linkedList<>();
private static final String[] colors = {"♥","♦","♠","♣"};
private static final String[] numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
public Poker() {
}
public linkedList getlinkedList() {
return linkedList;
}
//向牌池容器中存入扑克
public void poker(){
for (String color : colors) {
for (int j = 0; j < numbers.length; j++) {
linkedList.add(new Card(color, numbers[j], j));
}
}
linkedList.add(new Card("大","",100));
linkedList.add(new Card("小","",99));
}
public linkedList dealPoker(linkedList cards1, linkedList cards2, linkedList cards3, linkedList pokers){
Collections.shuffle(pokers);
while(pokers.size()>3){
cards1.add(pokers.pollFirst());
cards2.add(pokers.pollFirst());
cards3.add(pokers.pollFirst());
}
cards1.sort(Comparator.comparingInt(Card::getGrade));
cards2.sort(Comparator.comparingInt(Card::getGrade));
cards3.sort(Comparator.comparingInt(Card::getGrade));
return pokers;
}
}
Card类:
public class Card {
private String color;
private String number;
private int grade;
public Card() {
}
public Card(String color, String number, int grade) {
this.color = color;
this.number = number;
this.grade = grade;
}
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;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
@Override
public String toString() {
return color+""+number;
}
}



