user455318
user455318

Reputation: 3346

list of imageIcon

it is possible using a list like

    private LinkedList<Object> deckOfCards = new LinkedList<Object>();
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 13; j++) {
            deckOfCards.add(new Card(Rank.values()[j].toString(), Suit.values()[i].toString(), number[j], Image[j]));
        }
    }
}

and when i do

public Object pickRandomCard() {
        Random randomNumbers = new Random();
        rand = randomNumbers.nextInt(deckOfCards.size());
        System.out.println(deckOfCards.get(rand).toString());
        return deckOfCards.get(rand).toString();
    }


    //***********************

    public void setImage(ImageIcon Image) {
        this.cardImage = Image;
    }

    public ImageIcon getImage() {
        return deckOfCards.get(rand).getImage();
    }

i receive The method getImage() is undefined for the type LinkedList

At the moment i can return the name of card, but not the image, how i can do that?

contructor

package game;

import javax.swing.ImageIcon;

public class Card { private String face; private String suit; private int number; private ImageIcon Image;

Card(String faceCard, String faceSuit, int value, ImageIcon ImageO) {
    face = faceCard;
    suit = faceSuit;
    number = value;
    Image = ImageO;
}


public String toString() {
    return face + " of " + suit;
}


public ImageIcon getImage() {
    return Image;
}


public int toInt() {
    return number;
}


public String suit(){
    return suit;
}

}

Upvotes: 0

Views: 848

Answers (2)

Bert F
Bert F

Reputation: 87543

Use Card instead of Object:

private LinkedList<Card> deckOfCards = new LinkedList<Card>();
...
public Card pickRandomCard() {
...

Upvotes: 1

camickr
camickr

Reputation: 324128

I believe you want:

private LinkedList<Card> deckOfCards = new LinkedList<Card>(); 

Upvotes: 0

Related Questions