• 代码实现:模拟斗地主洗牌和发牌,牌没有排序


    package com.loaderman.test;
    
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class Test {
    
    	/**
    	 * * A:案例演示
    	 * 模拟斗地主洗牌和发牌,牌没有排序
    	 * 
    	 * 分析:
    	 * 1,买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去
    	 * 2,洗牌
    	 * 3,发牌
    	 * 4,看牌
    	 */
    	public static void main(String[] args) {
    		//1,买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去
    		String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    		String[] color = {"红桃","黑桃","方片","梅花"};
    		ArrayList<String> poker = new ArrayList<>();
    		
    		//拼接花色和数字
    		for(String s1 : color) {
    			for(String s2 : num) {
    				poker.add(s1.concat(s2)); 			//concat连接两个字符串
    			}
    		}
    		poker.add("小王");
    		poker.add("大王");
    		//2,洗牌
    		Collections.shuffle(poker);
    		//3,发牌
    		ArrayList<String> gaojin = new ArrayList<>();
    		ArrayList<String> longwu = new ArrayList<>();
    		ArrayList<String> me = new ArrayList<>();
    		ArrayList<String> dipai = new ArrayList<>();
    		
    		for(int i = 0; i < poker.size(); i++) {
    			if(i >= poker.size() - 3) {
    				dipai.add(poker.get(i));					//将三张底牌存储在底牌集合中
    			} else if(i % 3 == 0) {
    				gaojin.add(poker.get(i));
    			} else if(i % 3 == 1) {
    				longwu.add(poker.get(i));
    			} else {
    				me.add(poker.get(i));
    			}
    		}
    		
    		//4,看牌
    		System.out.println(gaojin);
    		System.out.println(longwu);
    		System.out.println(me);
    		System.out.println(dipai);
    	}
    }
    
  • 相关阅读:
    使用 cordova-plugin-wechat 分享返回后闪退解决方法
    恢复删除的表
    移动端还原设计图
    js文本差异比较
    windows使用nvm安装nodejs后升级npm报错
    windows添加右键菜单"在此处打开cmd窗口"
    cordova热更新
    js变量提升
    c# 判断字符串是否是日期格式需要注意的一点小问题
    剑指offer_和为S的两个数字
  • 原文地址:https://www.cnblogs.com/loaderman/p/6516557.html
Copyright © 2020-2023  润新知