程序实现前提:
1.了解java集合框架
2.Collections工具类
3.Comparable,Comparator接口
游戏要求:
游戏有两个玩家,分别会得到两张纸牌,然后进行比较大小,拿到纸牌最大者获胜,比较规则:比较数字(2,3,4,5,6,7,8,9,10,J,Q,K,A)按这个顺序,越往后越大,数字一样则比较花色(黑桃,红桃,梅花,方块),越往后越大。
代码分析:
首先需要有Player类,Card类,里面封装了玩家和纸牌的属性和方法,然后还需要GameBegin类开始游戏,这个类需要实现以下功能,创建一副扑克牌,洗牌,创建人物,发牌,比较大小,有几个要点需要注意:
1.先后顺序很重要,先创建扑克牌后创建人物,发牌
2.创建人物时注意初始化List,以防空指针异常
3.发牌:List.get(index),所以只需要产生随机数即可实现发牌这个效果
4.比较大小需要重新Compara方法
实现效果图:
实现代码:
/**
* 牌类
*/
public class Card {
public String number;
public String color;
public Card(String color,String number) {
super();
this.number = number;
this.color = color;
}
public String getNumber() {
return number;
}
public String getColor() {
return color;
}
}
/**
* 玩家类
*/
public class Player {
public String name;
public List<Card> list=