2014-11-20 69 views
0

功課我想一個精靈表添加到2D ArrayList的一個簡單的紙牌遊戲。我希望能夠像在普通的二維數組中那樣擁有它,只需要使用數組列表的動態能力,因爲我將不得不移除已經繪製的卡片。如何將圖像的部分添加到一個ArrayList - Java的

我使用一個號碼發生器,將產生(0 - 51)第一個和最後一個指標之間的數字包容性,它會顯示一張卡片在屏幕上,當用戶點擊抽獎卡按鈕。然後它將允許另一個用戶或AI抽出一張牌,並且它將確定誰擁有最高的牌並宣佈該人是該回合的贏家,移除兩張被抽取的牌並重復該循環,直到超過26圈爲止,該程序將全面獲勝並且獲得最全面勝利的玩家贏得整體遊戲。

我的問題是:我怎麼可以把我的一個精靈表到52節,並添加到我的ArrayList?

這是我到目前爲止。我知道它還沒有工作,但我不完全確定我是否在正確的軌道上。

//private ImageIcon[][] cards = new ImageIcon[4][13]; 
private BufferedImage img; 
private final int _WIDTH = 74; 
private final int _HEIGHT = 94; 

public CardGame1(ImageIcon[][] cards){ 
    try{ 
     img = ImageIO.read(getClass().getResource(
       "classic-playing-cards.png")); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 

    for(int r = 0; r < cards.length; r++){ 
     for(int c = 0; c < cards[r].length; c++){ 
      cards[r][c] = new ImageIcon(img.getSubimage(c * _WIDTH, 
        r * _HEIGHT, _WIDTH, _HEIGHT)); 
     } 
    } 

} 

有些人告訴我把ArrayList的另一類所以在這裏,它是:

private JFrame frame; 
private JPanel panel; 
private Random rand; 
private JButton drawCard; 
private JLabel card; 
private ArrayList<ArrayList<CardGame1>> _cardObj 
= new ArrayList<ArrayList<CardGame1>>(); 

public CardGameGUI(){ 
    gameBoard(); 
} 

public void gameBoard(){ 
    frame = new JFrame("Card Game"); 
    panel = new JPanel(); 
    frame.setSize(600, 500); 
    frame.setLayout(new GridLayout()); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setResizable(true); 
    frame.setVisible(true); 
    frame.add(panel); 
    panel.setBackground(Color.GREEN); 

    drawCard = new JButton("Draw Card!"); 
    drawCard.setSize(100, 50); 
    panel.add(drawCard); 
    drawCard.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent arg0) { 

     } 
    }); 
} 
+0

我不能按照你的過程。一些代碼/例如有助於。 – StackFlowed 2014-11-20 19:13:22

回答

相關問題