简单的创建一副扑克牌

Java:
使用集合和对象创建一副简单的扑克牌,洗牌并发给三个玩家

//创建扑克对象Poker
package com.spj_poker;
/*
 * 扑克对象
 * 		花色
 * 		点数
 */
public class Poker {
	//花色
	private String pokerColor;
	//点数
	private String pokerNumber;
	//初始化
	public Poker() {
		
	}
	
	//get &set方法
	public String getPokerColor() {
		return pokerColor;
	}
	public void setPokerColor(String pokerColor) {
		this.pokerColor = pokerColor;
	}
	public String getPokerNumber() {
		return pokerNumber;
	}
	public void setPokerNumber(String pokerNumber) {
		this.pokerNumber = pokerNumber;
	}
	//toString方法
	@Override
	public String toString() {
		return "Poker [pokerColor=" + pokerColor + ", pokerNumber=" + pokerNumber + "]\n";
	}
	
}
//洗牌并发给三个玩家
package com.spj_poker;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;

public class Test{
	public static void main(String [] args) {
		//牌堆集合
		ArrayList<Poker> pokerStack= createPokers();
		//洗牌
		Collections.shuffle(pokerStack);
		//创建三个玩家集合
		ArrayList<Poker> player1=new ArrayList<Poker>();
		ArrayList<Poker> player2=new ArrayList<Poker>();
		ArrayList<Poker> player3=new ArrayList<Poker>();
		//遍历牌堆集合,留三张
		for(int i=0;i<pokerStack.size()-3;i++ ) {
			//获得每一张牌
			Poker poker=pokerStack.get(i);
			//发牌
			if(i%3==0) {
				player1.add(poker);
			}else if(i%3==1){
				player2.add(poker);
			}else if(i%3==2) {
				player3.add(poker);
			}
		}
		//创建底牌集合对象
		ArrayList<Poker> bottomCard=new ArrayList<Poker>();
		//添加到底牌集合,留三张牌做底牌
		for(int i=pokerStack.size()-3;i<pokerStack.size();i++) {
			Poker poker =pokerStack.get(i);
			bottomCard.add(poker);
		}
		
		//底牌
		System.out.println("底牌:");
		System.out.println(bottomCard);
		//玩家一
		System.out.println("玩家一:");
		System.out.println(player1);
		//玩家二
		System.out.println("玩家二:");
		//玩家三
		System.out.println("玩家三:");
		System.out.println(player2);
		
		
		
	}
	/*
	 * 创建一个扑克集合将扑克装上点数和花色
	 * 装入扑克集合
	 */
	//创建一盒扑克方法
		public static ArrayList<Poker> createPokers() {
			//创建扑克集合
			ArrayList<Poker> pokers=new ArrayList<Poker>();
			
			
			//创建两个数组装花色和点数
			String [] color= {"♥","♠","♣","♦"};
			String [] number= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
			//使用双层for将扑克装入点数和花色
			//外层color控制颜色
			for(int i=0;i<color.length;i++) {
				//内层控制number控制点数
				for(int j=0;j<number.length;j++) {
					//创建扑克对象
					Poker poker=new Poker();
					//设置点数
					poker.setPokerNumber(number[j]);
					//设置花色
					poker.setPokerColor(color[i]);
					//添加到扑克集合中
					pokers.add(poker);
				}
			}
			//创建俩王
			Poker smallWang=new Poker();
			Poker bigWang=new Poker();
			smallWang.setPokerColor("黑色");
			smallWang.setPokerNumber("小王");
			bigWang.setPokerColor("红色");
			bigWang.setPokerNumber("大王");
			//将小王添加
			pokers.add(smallWang);
			//将大王添加
			pokers.add(bigWang);
			
				return pokers;	
		}
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值