斗地主游戏

 

package it.gao.Game;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class GameDemo {
// 先定义一个集合容器类存放 所有扑克牌
     public  static List<Card> allCard=new ArrayList<>();

    static {
        //定义点数:
        String[] sizes={"3","4","5","6","7","8","9","10","J","Q","K","A","2",};
        //定义花色
        String[] colors={"♥","♠","♦","♣"};
       int index=0;
        //遍历 进行组合
        for (String size : sizes) {
            index++;
            for (String color : colors) {
                Card c=new Card(size,color,index);
                allCard.add(c);

            }
        }
        Card c1=new Card("","🃏",++index);
        Card c2=new Card("","🃏",++index);
        Collections.addAll(allCard,c1,c2);
        System.out.println("新牌:" + allCard);

    }


    public static void main(String[] args) {
        //洗牌
        Collections.shuffle(allCard);
        System.out.println("洗牌后:"+allCard);

        //给三个人进行发牌
        //首先定义三个人 用集合容器
        List<Card> linghuchong=new ArrayList<>();
        List<Card> zhangwuji=new ArrayList<>();
        List<Card> zhaomin=new ArrayList<>();
         //利用轮询  来进行牌的分配
        for (int i = 0; i < allCard.size(); i++) {
            Card c = allCard.get(i);
            if (i % 3 ==0){
                linghuchong.add(c);

            }else if (i % 3 ==1){
                zhangwuji.add(c);
            }else  if (i % 3 ==2){
                zhaomin.add(c);
            }

        }

        //给他们的牌进行排序
     sortCard(linghuchong);
     sortCard(zhangwuji);
     sortCard(zhaomin);





        // 输出他们的牌
        System.out.println("令狐冲的牌"+linghuchong);
        System.out.println("张无忌的牌"+zhangwuji);
        System.out.println("赵敏"+zhaomin);
    }
   //在card类中定义一个index索引
//    在进行定义牌的时候 每当一个牌配完花色就让他的index+1 
//    最后用index进行排序
    private static void sortCard(List<Card> cards) {
        Collections.sort(cards, ( o1,  o2) ->  o1.getIndex()-o2.getIndex() );



    }

}

package it.gao.Game;

public class Card {
    private  String size;
    private String color;
    private int index;

    public Card() {
    }

    public Card(String size, String color, int index) {
        this.size = size;
        this.color = color;
        this.index = index;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public String getSize() {
        return size;
    }

    public void setSize(String size) {
        this.size = size;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;

    }

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值