JAVA集合练习:斗地主发牌

来源:互联网 发布:怎样看淘宝退款率 编辑:程序博客网 时间:2024/05/16 03:27

学完集合可以练习一个小题目: 斗地主发牌

package test1;import java.util.ArrayList;import java.util.Collections;//斗地主发牌程式编写public class TestPoker {public static void main(String[] args) {//三个玩家,起名Player p1 = new Player("RayLu");Player p2 = new Player("Bleach");Player p3 = new Player("Tom");//整副扑克牌对象创建Poker poker = new Poker();//洗牌poker.pokerShuffle();//发牌for(int i = 0; i < poker.getPoker().size(); i++){if( i % 3 == 0){p1.getPoker().add(poker.getPoker().get(i));}else if( i%3==1){p2.getPoker().add(poker.getPoker().get(i));}else if(i%3 ==2){p3.getPoker().add(poker.getPoker().get(i));}}//发牌完成,遍历每个玩家手中的牌for(int i = 0; i < p1.getPoker().size(); i++){System.out.println(p1.getName()+"手中第"+(i+1)+"张牌是:"+p1.getPoker().get(i));}for(int i = 0; i < p2.getPoker().size(); i++){System.out.println(p2.getName()+"手中第"+(i+1)+"张牌是:"+p2.getPoker().get(i));}for(int i = 0; i < p3.getPoker().size(); i++){System.out.println(p3.getName()+"手中第"+(i+1)+"张牌是:"+p3.getPoker().get(i));}}}class Poker{private String[] pokerColor = new String[]{"红桃","黑桃","方片","梅花"};private String[] pokerNum = new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};private ArrayList<String> poker;public Poker(){poker = new ArrayList<String>();for(int i =0; i < this.pokerColor.length; i++){for (int j = 0; j < this.pokerNum.length; j++){String str = pokerColor[i] + pokerNum[j];poker.add(str);}}poker.add("大王");poker.add("小王");}//获取整副扑克牌public ArrayList<String> getPoker(){return poker;}//重洗扑克牌public void pokerShuffle(){Collections.shuffle(poker);}}//斗地主玩家class Player{private String name;//玩家姓名private ArrayList<String> poker;//玩家手中的牌public ArrayList<String> getPoker() {return poker;}public void setPoker(ArrayList<String> poker) {this.poker = poker;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Player(String name) {super();this.name = name;poker = new ArrayList<String>();}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Player other = (Player) obj;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}}


0 0
原创粉丝点击