为了账号安全,请及时绑定邮箱和手机立即绑定

通过set列表承载玩家的Key值,最后获取对应的玩家姓名时不知道该怎么实现! 求高手解答!

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("]");

}

}

}


正在回答

1 回答

这代码看着头疼

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

通过set列表承载玩家的Key值,最后获取对应的玩家姓名时不知道该怎么实现! 求高手解答!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信