@param args
*/
private Listsqu;
private Maphum;
private Scanner sc = new Scanner(System.in);
public Test(){
this.hum = new HashMap();
this.squ = new ArrayList();
}
public void creatsqu(){
System.out.println("创建扑克牌");
int j = 0;
for(int i = 1;i <= 13;i++){
Squeezer sq = new Squeezer(j,i,"黑桃");
squ.add(sq);
Squeezer sq1 = new Squeezer((j+13),i,"红桃");
squ.add(sq1);
Squeezer sq2 = new Squeezer((j+26),i,"方片");
squ.add(sq2);
Squeezer sq3 = new Squeezer((j+39),i,"梅花");
squ.add(sq3);
j = i;
}
}
public void foreach(){
System.out.println("构建的扑克牌为:");
for (Squeezer sq : squ) {
switch (sq.getNumber()) {
case 11:
System.out.print(sq.getFlower()+"J"+" ");
break;
case 12:
System.out.print(sq.getFlower()+"Q"+" ");
break;
case 13:
System.out.print(sq.getFlower()+"k"+" ");
break;
default:
System.out.print(sq.getFlower()+sq.getNumber()+" ");
break;
}
}
}
public void creat(){
int id ;
for(int i = 0;i < 2;i++)
{
System.out.println("请输入玩家ID");
while(true) {
try{
id = Integer.parseInt(sc.nextLine().trim());;
if(hum.get(id)==null){
break;
}else{
System.out.println("此ID已被占用请重新输入");
continue;
}
}
catch (NumberFormatException e) {
System.out.println("请输入整数类型的ID!");
System.out.println("重新输入ID:");
continue;
}
}
System.out.println("输入姓名:");
String name = sc.nextLine();
Human player = new Human(id, name);
hum.put(id, player);
}
}
public void humforeach(){
Setkeyset = hum.keySet();
for (int st : keyset) {
Human sr = hum.get(st);
if(sr !=null){
System.out.println("-------欢迎玩家-------"+sr.getName());
}
}
}
public void shuffle(){
System.out.println("---------开始洗牌--------"); //随机打乱顺序用List方法
Collections.shuffle(squ);
System.out.println("---------洗牌结束----------");
}
public void dealCard(){
int i = 0;
int in[] = new int[2];
String str[] = new String[2];
Setkeyset = hum.keySet();
for (int st : keyset) {
Human sr = hum.get(st);
if(sr !=null){
in[i] = sr.getId();
str[i] = sr.getName() ;
i++;
}
}
System.out.println("给"+str[0]+"发牌");
hum.get(in[0]).cards.add(squ.get(0));
System.out.println("给"+str[1]+"发牌");
hum.get(in[1]).cards.add(squ.get(2));
System.out.println("给"+str[0]+"发牌");
hum.get(in[0]).cards.add(squ.get(1));
System.out.println("给"+str[1]+"发牌");
hum.get(in[1]).cards.add(squ.get(3));
}
public void Startgame(){
int i = 0;
int in[] = new int[2];
String str[] = new String[2];
Setkeyset = hum.keySet();
for (int st : keyset) {
Human sr = hum.get(st);
if(sr !=null){
in[i] = sr.getId();
str[i] = sr.getName() ;
i++;
}
}
System.out.println("------开始游戏--------");
Collections.sort(hum.get(in[0]).cards);
Squeezer maxCard= (Squeezer) hum.get(in[0]).cards.get(1);
System.out.print("玩家:"+hum.get(in[0]).getName()+"最大的手牌是:"+maxCard.getFlower());
switch (maxCard.getNumber()) {
case 11:
System.out.println("J");
break;
case 12:
System.out.println("Q");
break;
case 13:
System.out.println("k");
break;
default:
System.out.println(maxCard.getNumber());
break;
}
Collections.sort(hum.get(in[1]).cards);
Squeezer maxCard1= (Squeezer) hum.get(in[1]).cards.get(1);
System.out.print("玩家:"+hum.get(in[1]).getName()+"最大的手牌是:"+maxCard1.getFlower());
switch (maxCard1.getNumber()) {
case 11:
System.out.println("J");
break;
case 12:
System.out.println("Q");
break;
case 13:
System.out.println("k");
break;
default:
System.out.println(maxCard1.getNumber());
break;
}
List list = new ArrayList();
list.add(maxCard1);
list.add(maxCard);
Collections.sort(list);
if(list.get(0).getNumber() == maxCard.getNumber()&&list.get(0).getFlower().equals(maxCard.getFlower())){
System.out.println("-------玩家"+hum.get(in[0]).getName()+"赢了--------");
}else {
System.out.println("-------玩家"+hum.get(in[1]).getName()+"赢了--------");
}
}
public static void main(String[] args) {
//
System.out.println("欢迎游戏");
Test te = new Test();
te.creatsqu();
te.foreach();
System.out.println("");
te.creat();
te.humforeach();
te.shuffle();
te.dealCard();
te.Startgame();
}