在Java中遇到我的纸牌游戏问题

时间:2013-10-23 22:13:19

标签: java

这是我的代码,我的问题是我的交易方法,如何在每次调用它时将其包含到不同的数字以及如何创建布尔方法。这是我的代码,我的问题是我的交易方法,如何在每次调用它时将其包含到不同的数字以及如何创建布尔方法。

package Card;

import java.util.Random;

/**
*
* @author Mr. Pierre
*/

public class Card {

    private int SuitRank;
    private int CardRank;
    private String cardValue;

    //My constructor
    public Card()
    {
        SuitRank=1;
        CardRank=2;
    }

    //My deal method
    void dealCard()
    {   
        SuitRank++;

        Random randomGenerator = new Random();
        int SuitRank = randomGenerator.nextInt(4)+1;

        CardRank++;

        Random randomGenerator1 = new Random();
        int CardRank= randomGenerator1.nextInt(13)+2;
    }

    //My compare method
    public int compare(Card otherCard)
    {
        if (otherCard.getCardRank() > CardRank)
            return  1;

        if (otherCard.getCardRank() == CardRank)
        {
            if (otherCard.getSuitRank() > SuitRank)
                return 1;
            if (otherCard.getSuitRank()< SuitRank)
            return -1;
            if (otherCard.getSuitRank()==SuitRank)
                return 0;
        }

        if (otherCard.getCardRank() < CardRank)
            return  -1;

        return CardRank;
    }

    //my Get suitrank method
    public int getSuitRank()
    {
        SuitRank++;
        return SuitRank;
    }

    public String  getSuitName ()    
    {
        String SuitName="";
        if( SuitRank == 1){
            SuitName = "Clubs";
        }
        else if(SuitRank == 2){
            SuitName = "Diamonds";
        }
        else if(SuitRank == 3){
            SuitName = "Hearts";
        }
        else if(SuitRank == 4){
            SuitName = "Spades";
        }

        return SuitName;
    }

    public int getCardRank ()
    {
        return CardRank;
    }

    public String getCardName ()
    {
        String CardName="";
        if(CardRank==2){
            CardName="Duce";
        }
        else if(CardRank==3){
            CardName="Three";
        }
        else if(CardRank==3){
            CardName="Three";
        }
        else if(CardRank==4){
            CardName="Four";
        }
        else if(CardRank==5){
            CardName="Five";
        }
        else if(CardRank==6){
            CardName="Six";
        }
        else if(CardRank==7){
            CardName="Seven";
        }
        else if(CardRank==8){
            CardName="Eight";
        }
        else if(CardRank==9){
            CardName="Nine";
        }
        else if(CardRank==10){
            CardName="Ten";
        }
        else if(CardRank==11){
            CardName="Jack";
        }
        else if(CardRank==12){
            CardName="Queen";
        }
        else if(CardRank==13){
            CardName="King";
        }
        else if(CardRank==14){
            CardName="Ace";
        }

        return CardName;
    }

    public String  toString()
    {
        return getCardName()+ " of " +getSuitName();
    }  
}

1 个答案:

答案 0 :(得分:1)

int SuitRank = randomGenerator.nextInt(4)+1;

int表示您正在创建局部变量而不是修改类成员。另外,如果您打算立即将SuitRank++设置为随机值,为什么还要调用SuitRank?同样适用于CardRank

至于布尔方法 - 它只是public Boolean method(...)