具体实现步骤如下:
实现扑克Card类,用于储存扑克牌,1-13代表点数,4-1代表花色(黑桃,红桃,梅花,分块)
实现扑克列表CardList类,用于实现生成一副牌,洗牌,发牌的功能
实现玩家Player类,用于储存玩家信息
实现玩家列表PlayerList类,用于储存所有玩家信息,并且实现玩家洗牌、发牌、比较牌大小的方法
主方法Index05类,用于启动扑克游戏
Card.java
/**
*
*/
package dk.card;
/**
* @author Administrator
* 扑克类
*/
public class Card implements Comparable{
private int number;//牌的点数--1到13
private int type;//牌的花色--4种花色:♠(黑桃):4 ♥(红桃):3 ♣(梅花):2 方块:1
public Card() {
super();
}
public Card(int number, int type){
if(number==1)
number=14;
this.number = number;
this.type = type;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + number;
result = prime * result + type;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Card other = (Card) obj;
if (number != other.number)
return false;
if (type != other.type)
return false;
return true;
}
@Override
public int compareTo(Card o) {
if(this.number>o.number)
return -1;
else if(this.number
return 1;
else
if(this.type>o.type)
return -1;
else if(this.type
return 1;
return 0;
}
public String toString(){
String str ="";
switch(this.type){
case 1: str = "方块";break;
case 2: str = "梅花";break;
case 3: str = "红桃";break;
case 4: str = "黑桃";break;
}
String n="";
switch(this.number){
case 14:n="A";break;
case 11:n="J";break;
case 12:n="Q";break;
case 13:n="K";break;
default:n=this.number+"";
}
return str+n;
}
}
CardList.java
package dk.card;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author Administrator
* 牌表操作类
*/
public class CardList {
public static List cardlist = new ArrayList(52);//储存扑克牌
public static List> poker;//储存发牌结果
//生成一副牌
public static void generateCard() {
for(int i=1;i<=13;i++){
for(int j=1;j<=4;j++){
Card c = new Card(i,j);
cardlist.add(c);
}
}
}
//打印一副牌
public static void printCardList(){
System.out.print("[");
for(Card c:cardlist){
System.out.print(c.toString()+" ");
}
System.out.pr