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;
}
}