慕粉3460894
2016-07-11 11:26
package com.imooc.carGame;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class PlayGame {
public static void main(String[] args) {
PukeList pukeList=new PukeList();
WanjiaMap wjMap=new WanjiaMap();
pukeList.pukesAdd();
pukeList.pukesPrint();
pukeList.xipai();
pukeList.pukesPrint();
wjMap.wanjiaAdd();
System.out.println("----------开始发牌----------");
int k=0;
Set<Integer> wjIds=wjMap.wanjiaMap.keySet();
for (int i = 0; i < 2; i++) {
for (Integer integer : wjIds) {
System.out.println("----玩家:"+wjMap.wanjiaMap.get(integer).name+"-拿牌");
wjMap.wanjiaMap.get(integer).wjPukes.add(pukeList.pukes.get(k));
k++;
}
}
System.out.println("----------发牌结束----------\n----------开始游戏----------");
Puke maxPuke,pk;
List<Puke> maxPukes=new ArrayList<Puke>();
for (Integer integer : wjIds) {
maxPuke=null;
for (int i = 0; i < 2; i++) {
pk=wjMap.wanjiaMap.get(integer).wjPukes.get(i);
if (maxPuke==null) {
maxPuke=pk;
}else if (maxPuke.compareTo(pk)<0) {
maxPuke=pk;
}
}
System.out.println("玩家:"+wjMap.wanjiaMap.get(integer).name+"最大手牌为:"+maxPuke.huase+maxPuke.dianshu);
maxPukes.add(maxPuke);
}
//maxPukes列表中承载的是2个玩家各自的最大值 //想通过下面的判断获得对应的玩家,不知道该怎么操作 //wjMap.wanjiaMap.get(1).name 这里用1,2只有玩家ID输入的是1和2才能成功。
if (maxPukes.get(0).compareTo(maxPukes.get(1))>0) {
System.out.println("----------玩家:"+wjMap.wanjiaMap.get(1).name+"获胜!----------");
}else {
System.out.println("----------玩家:"+wjMap.wanjiaMap.get(2).name+"获胜!----------");
}
System.out.println("玩家各自的手牌为:");
for (Integer integer : wjIds) {
System.out.print("玩家:"+wjMap.wanjiaMap.get(integer).name+":[");
for (int i = 0; i < 2; i++) {
System.out.print(wjMap.wanjiaMap.get(integer).wjPukes.get(i).huase+
wjMap.wanjiaMap.get(integer).wjPukes.get(i).dianshu+",");
}
System.out.println("]");
}
}
}
这代码看着头疼
Java入门第三季
409792 学习 · 4340 问题
相似问题