如何创建一个放置4个表卡的类/方法?

h6my8fg2  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(277)

我正在尝试创建一个名为scopa的纸牌游戏。老实说,我不知道我在做什么,所以目前我正在看一个教程视频如何创建一个uno游戏,并试图适应它,使它适合我的游戏。然而,我坚持创建一个方法,从4张牌的甲板上的表开始游戏。这些桌牌可以被玩家拿走,并且可以添加更多的牌。每一张牌都有一个特定的值,玩家可以用这个值(通过匹配这些值,例如一个7硬币可以用一个7剑)。我也被困在如何编程,使表卡可以不同。任何建议将不胜感激,而且我是新的java,所以如果你能解释它在外行的话,那就更好了。谢谢。以下是我目前游戏类的代码:

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);
    }
}
qcuzuvrc

qcuzuvrc1#

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

相关问题