功课我想一个精灵表添加到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) {
}
});
}
我不能按照你的过程。一些代码/例如有助于。 – StackFlowed 2014-11-20 19:13:22