2017-09-27 3 views
-1

プログラマ ここをクリックしてください。 私はWhotに取り組んでいます!トランプゲーム。 私は、カード、デッキ、スーツ用のクラスを作成し以下のランクなど マイカードのクラスのサンプルAndroidスタジオのデッキカード内の各カードにユニークイメージを割り当てる方法

package com.giftedegware.wrex; 

    import android.media.Image; 
    import android.widget.ImageView; 

    public class Card { 
    private Suit suit; 
    private Rank rank; 
    public boolean isFaceUp; 
    public Image front; 
    private Image back; 

    /** 
    * 
    * @param rank 
    * @param suit 
    */ 
    public Card(Rank rank, Suit suit) { 
    this.rank = rank; 
    this.suit = suit; 
    isFaceUp = true; 
    this.front = front; 
    this.back = back; 
    } 



    //public methods 
    public String getSuit() { 
    return suit.printSuit(); 
    } 

    public String printRank() { 
    //get Rank as a string 
    return rank.printRank(); 
    } 

    //flipCard 
    public void flipCard() { 

    isFaceUp = !isFaceUp; 
    } 

    //Get Rank 
    public int getRank() { 

    return rank.getRank(); 
    } 

    public String toString() { 
    String str = ""; 
    if (isFaceUp) { 
    str += rank.printRank() + "of" + suit.printSuit(); 
    } else { 
    str = "Face Down (nothing to see here)"; 
    } 
    return str; 
    } 
    } 

私はデッキ内のすべてのカードを生成するための私のDeck.java(デッキクラス)で使用されるコードであります次のとおりです。

for (Suit suit: Suit.values()){ 
     for (Rank rank: Rank.values()){ 
      Card card = new Card(rank, suit); 
      card.flipCard(); 
      this.add(card); 
     } 
} 

私のDrawableフォルダにすべてのカードイメージがあります。 各画像をそれぞれのカードに割り当てるにはどうすればよいですか?

私は事前にあなたの助けに感謝します。

答えて

0

あなたは、現在のカードクラス

に描画可能のリソースidフィールドを定義する必要があります。

private Suit suit; 
    private Rank rank; 
    public boolean isFaceUp; 
    public Image front; 
    private Image back; 

変化に:

private Suit suit; 
    private Rank rank; 
    public boolean isFaceUp; 
    public int front;//todo pass resource id drawable 
    private int back;//todo resource id drawable 

使用:

card.front=R.drawable.image_name; 
+0

おかげでたくさん。私は変更を加えましたが、私のデッキの人口コードはもう機能していません。 (スーツスーツ:Suit.values()){ for(ランクランク:Rank.values()){ カードカード=新しいカード(ランク、スーツ); card.flipCard(); this.add(card); } – Gsoft

+0

すべてのカードと画像を生成するために、// forループ内に//card.front=R.drawable.image_name//を実装するにはどうすればよいですか?または私は画像の配列を作成する必要がありますか?どのように私はカードにそれらをリンクするのですか? – Gsoft

+0

はい。あなたは画像の配列を作成し、位置番号とそれらをリンクする必要があります... –

関連する問題