斗地主 洗牌、发牌机制
需求:
- 1.创建Card类,定义花色suit和点数rank的属性,添加相应的构造方法,在Card中覆盖toString,hashCode,equals方法
- 2.创建玩家类 Player类 ,定义名字name ,手牌 cards (Card[]),添加相应的构造方法,在Player中覆盖toString,hashCode,equals方法
- 3.创建一副扑克牌,54张
- 4.实现洗牌
- 5.实现轮流发牌
- 6.最终结果需要看到XXX手上的牌:[XXX,XXXX,XXXX…]
1.创建Card类,定义花色suit和点数rank的属性。
- 添加相应的构造方法,在Card中覆盖toString,hashCode,equals方法
public class PlayCard {
String[] suit = {
"♠","♥","♣","♦"};
String[] rank = {
"3","4","5","6","7","8","9","10","J","Q","K","A","2","小王","大王"};
public PlayCard() {
super();
}
public PlayCard(String[] suit, String[] rank) {
super();
this.suit = suit;
this.rank = rank;
}
//在Card中覆盖toString,hashCode,equals方法(练习,与题目无关,可忽略)
public String toString() {
String str = Arrays.toString(suit)+Arrays.toString(rank);
return str;
}
public int hashCode() {
System.out.println("扑克牌!");
return 0;
}
public boolean equals (Object obj) {
//判断obj是否为空
if (obj==null) {
return false;
}
//判断obj是否是this本身
if (obj==this) {
return true;
}
//判断obj是否和this本身类有关
if (obj instanceof PlayCard) {
return true</