我正在开发一个小游戏,玩家单击一个按钮,其值来自二维数组。这就是游戏的外观。如果玩家想要恢复他的操作,我想将玩家采取的步骤保存在列表中,当他单击“恢复”按钮时,列表的最后一项将被恢复。问题是我不知道如何将二维数组的索引保存到列表中。
我的代码很远,因为数组如下
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[i].length; j++) {
counter++;
buttons[i][j] = new JButton("" + counter);
buttons[i][j].setBackground(Color.white);
buttons[i][j].addActionListener(new ButtonPress());
fenster.add(buttons[i][j]);
ActionListener 的代码在这里:
public void actionPerformed(ActionEvent e) {
amountMoves++;
moves.setText("Moves: " + amountMoves);
int x = 0;
int y = 0;
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[i].length; j++) {
if (((JButton) e.getSource()).equals(buttons[i][j])) {
x = i;
y = j;
break;
}
}
}
}
列表不是我的强项,到目前为止我只有这个:
ArrayList<Integer> steps = new ArrayList<Integer>();
我知道我可以添加一个元素并steps.add()删除最后一个元素steps.remove(steps.size() - 1);,但到目前为止就是这样
任何帮助是极大的赞赏
编辑:在@Johnny Mopp 和@SSP 的帮助下,我想出了该怎么做。首先,我创建了一个 String 类型的列表ArrayList<String> steps = new ArrayList<String>();(您也可以使用 JButton 类型的列表)并将其添加到 Actionlister 中steps.add(buttons[i][j].getText());
弑天下
相关分类