import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class PokerGame {
/**定义为静态以简化代码量*/
static List<Player> players;
static ArrayList<Poker> list = new ArrayList<>();
static String[] flowers = {"梅花","黑桃","方块","红桃"};
static String[] pointers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
int bossIndex;
static{
for(int i = 0;i < flowers.length;i++){
for(int j = 0;j < pointers.length;j++){
Poker p = new Poker(flowers[i],pointers[j],j);
list.add(p);
}
}
list.add(new Poker("小","王",13));
list.add(new Poker("大","王",14));
players = Arrays.asList(
new Player(1,"胡灿"),
new Player(2,"戴豪杰"),
new Player(3,"马涛")
);
}
/**随机地主*/
public void pushBoss(){
/**随机一个索引,随到的为地主*/
Random r = new Random();
bossIndex = r.nextInt(players.size());
players.get(bossIndex).setBoss(true);
}
/**洗牌功能*/
public void XiPai(){
/**用Collections中的一个静态方法实现随机顺序集合*/
Collections.shuffle(list);
}
/**发牌功能*/
public void FaPai(){
/**每次按顺序给每人发一张牌直到51张牌发完*/
for(int i = 0;i < 51;i+=3){
players.get(0).getPokers().add(list.get(i));
players.get(1).getPokers().add(list.get(i+1));
players.get(2).getPokers().add(list.get(i+2));
}
/**将剩余的三张牌发给地主*/
for(int j = 51;j < 54;j++){
players.get(bossIndex).getPokers().add(list.get(j));
}
}
/**排序功能*/
public void PaiXu(){
/**用Collections的sort方法实现排序功能*/
Collections.sort(players.get(0).getPokers());
Collections.sort(players.get(1).getPokers());
Collections.sort(players.get(2).getPokers());
}
/**开始游戏*/
public void start(){
pushBoss();
XiPai();
FaPai();
PaiXu();
for(Player p:players){
System.out.println(p.getPokers());
}
}
}
|