【发布时间】:2017-03-25 04:34:48
【问题描述】:
EDIT2:对不起......我相信这是由于缺乏对问题的理解导致了这种误解。通读后,我认为他们想要的是 getWinningPoint() 的返回值是玩家中最大的数字,但仍然
我想了解如何访问 arraylist 中的特定对象,以便我可以在其上转换方法。总体而言,我能够制作适用于播放器数组列表(distributeCardsToPlayer)中所有项目的方法。但是我的getWinningPoints() 的第二种方法是一个 int,它总结了 arraylist 玩家中特定玩家拥有的所有牌。获胜点是一个个人结果,最终将用于printWinners() 方法。我只熟悉使用“Player player = players.get(0);”访问 obj,但在这种情况下,“玩家”本身将调用 getWinningPoints() 来检查自己的结果。
P.S - 我不知道如何正确表达,希望有人能指出正确的方向。
import java.util.*;
public class ModifiedBlackJack
{
protected ArrayList<Card> gameDeck;
protected ArrayList<Player> players;
public ModifiedBlackJack(ArrayList<Player> players)
{
this.players=players;
}
public void distributeCardsToPlayers()
{
Scanner console = new Scanner(System.in);
for (Player player : players)
{
player.drawACard(getACardFromDeck());
player.drawACard(getACardFromDeck());
System.out.println(player.getName()+": " + player.toString());
System.out.print("Draw another card? (y/n): ");
char input = console.nextLine().toLowerCase().charAt(0);
if(input == 'y')
{
player.drawACard(getACardFromDeck());
}
}
EDIT2:通读后,我认为他们想要的是 getWinningPoint() 的返回值是玩家中最大的数字,但仍然
public int getWinningPoints()
{
int wp=0;;
int point=0;
for (Player player:players)
{
point = player.getCardsPoints();
if (point>=21 && point>wp)
{
wp=point;
}
}
return wp;
}
在Player类中,有一个汇总所有牌点的函数
public int getCardsPoints()
{
int point=0;
for (Card c: cards)
{
point=point+c.getPoints();
}
return point;
}
我是 Java 新手,非常感谢任何帮助或指导。 谢谢你
【问题讨论】:
-
澄清一下:你的目标是在游戏结束时打印出所有玩家的分数,对吗?
-
在 printWinners(int min) 中它将打印出总和点。但是要获得总和点是通过 getWinningPoint() 方法。但我不确定如何构建 getWinningPoint() 方法,因为我没有明确的对象来引用我的 Player 类中的方法