首页 > 解决方案 > 如何创建放置 4 张桌子卡片的类/方法?

问题描述

我正在尝试创建一个名为 Scopa 的纸牌游戏。老实说,我不知道自己在做什么,因此目前我正在观看有关如何创建 Uno 游戏的教程视频,并尝试对其进行调整以使其适用于我的游戏。然而,我坚持创建一种方法,将 4 张牌从一副牌放在桌子上开始游戏。这些桌牌可以被玩家拿走,并且可以添加更多的牌。每张卡都有一个特定的值,玩家可以通过它来获取它们(通过匹配值,例如 7 的硬币可以获取 7 的剑)。我也很困惑如何对其进行编程,以便桌面卡可以变化。任何建议都将不胜感激,我也是 Java 新手,所以如果你能用外行的术语解释它,那就更好了。谢谢。到目前为止,这是我的 Game 类的代码:

package scopa;

import java.util.ArrayList;
import java.util.Arrays;

public class Game {

    private int currentPlayer;
    private String[] playerIds;

    private ScopaDeck deck;
    private ArrayList<ArrayList<ScopaCard>> playerHand;
    private ArrayList<ScopaCard> stockpile;
    private ArrayList<ScopaCard> validRank;

    boolean gameDirection;

    public Game(String[] pids) {
        deck = new ScopaDeck();
        // deck.shuffle();
        stockpile = new ArrayList<ScopaCard>();

        playerIds = pids;
        currentPlayer = 0;
        gameDirection = false;

        playerHand = new ArrayList<ArrayList<ScopaCard>>();

        for (int i = 0; i < pids.length; i++) {
            ArrayList<ScopaCard> hand = new ArrayList<ScopaCard>(Arrays.asList(deck.drawCard(3)));
            playerHand.add(hand);
        }
    }

    public void start(Game game) {
        ScopaCard card1 = deck.drawCard();
        validRank = card1.getRank();
        stockpile.add(card1);
        ScopaCard card2 = deck.drawCard();
        validRank = card2.getRank();
        stockpile.add(card2);
        ScopaCard card3 = deck.drawCard();
        validRank = card3.getRank();
        stockpile.add(card3);
        ScopaCard card4 = deck.drawCard();
        validRank = card4.getRank();
        stockpile.add(card4);

    }

    public ScopaCard getTableCards() {
        return new ScopaCard(validRank);
    }
}

标签: javaeclipse

解决方案


我看不到太多,因为我不太了解您的代码中发生了什么。如果可以,请打开视频并检查说明/评论,看看代码是否粘贴在任何地方,并将其与您的代码进行比较。如果不是,请尝试重新观看视频并检查代码的每个部分是否与视频相同。


推荐阅读