我现在正在尝试制作一款受“冒险资本主义”和#34;作为Java的学校项目。我创建了一个包含值(临时,将会改变)的数组,当我按下一个按钮(upgradeButton)时,我想要一个数组/来搜索数组的正确位置到对象的正确位置。
例如,对象3中的5个从15 $(起始值)升级到20 $。我已经尝试过,似乎什么都没有用,我是Java的新手,2016年9月创建了Java。这是我的代码,对它有所了解,它有点乱,但我和#39;一旦我完成所有工作就将它清理干净:) ATM我只使用1个对象才能让它工作,但后来我会用列表等重写。
"投资类"
public class Investments {
public int x, y, bX, bY, bWidth, bHeight, width, height, yLoad, money;
int worth[] = { 10, 20, 30, 40, 50, 60, 70, 80};
float Loading;
//String path;
//boolean ifAdd = false;
GamePanel gp;
Image invest;
ImageIcon investImage = new ImageIcon("images/image.png");
public Investments(int x, int y, int worth, float Loading) {
this.x = x;
this.y = y;
this.Loading = Loading;
width = 64;
height = 64;
yLoad = 0;
bX = x + 75;
bY = y + 30;
bWidth = 60;
bHeight = 20;
}
JPanel类
public GamePanel() {
if (isRunning)
return;
//invest = createInvestList(8);
invest = new Investments(30, 30, 20, 1f);
moneyButton = new JButton("$$$"); moneyButton.setBounds(175, 61, 55, 20); add(moneyButton); moneyButton.addActionListener(this);
upgradeButton = new JButton("^"); upgradeButton.setBounds(175, 37, 55, 20); add(upgradeButton); upgradeButton.addActionListener(this);
this.setBackground(Color.GRAY);
addMouseListener(this);
thread = new Thread(this);
thread.start();
}
JPanel进一步向下,按钮方法
if(ae.getSource() == upgradeButton){
//what to do here? perhaps a for loop that scans the array and then attach it to the specific object?
}
}
代码非常混乱,是的。如上所述,如果难以阅读/理解,请对其进行清理。正如我之前提到的,从今年9月的Java开始,有点新的,我需要一些帮助,如何获得正确的"值得"到了正确的对象。(值得[i] =对象[3]等)
答案 0 :(得分:0)
您是否看过使用地图(地图< K,V>)?https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
您可以将对象映射到值(或其他对象)。所以,像这样:
Map<String, Integer> upgradeMap = new HashMap<String, Integer>();
upgradeMap.put("level1", 10);
...
value += upgradeMap.get("level1");