我正在尝试做记忆游戏。我有12个按钮和6个图像。
我想将图像随机设置为按钮。一个图像到2个按钮。
ImageIcon[] icons = {icon1,icon2,icon3,icon4,icon5,icon6};
JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;
我知道这个Random r = new Random();
但不知道我怎么能在这里使用它。
编辑:
你用过这个
for (int i = 0; i < buttons.length; i++)
buttons[i].setIcon( iconList.get(i) );
如何设置此图标的可见(错误)?
答案 0 :(得分:2)
不要为按钮设置12个不同的变量名称。而是创建一个数组来保存12个按钮。
使用ArrayList
包含12个图标(每个图像两个)。
然后,您可以使用shuffle(...)
的{{1}}方法对图标进行随机排序。
然后创建一个循环,将每个Icon分配给一个按钮。类似的东西:
ArrayList
编辑:
以上建议是在创建按钮时将图标分配给按钮。
如果您的游戏中有一个空图标,然后在单击按钮时显示图标,则需要采用不同的方法。
在ActionListener代码中,您需要搜索按钮数组以查看单击了哪个按钮。获得此按钮的索引后,您将获得匹配的图标:
for (int i = 0; i < buttons.length; i++)
buttons[i].setIcon( iconList.get(i) );
同一个ActionListener可以用于所有按钮,因为逻辑是通用的。