import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.ArrayList; class Brett extends JPanel { private HRute[][] ruter; private ImageIcon skip, hav; private int antSkudd, antSunkedeSkip; private ArrayList skipene; public Brett() { ruter = new HRute[10][10]; skip = new ImageIcon("skip.png"); hav = new ImageIcon("hav.png"); skipene = new ArrayList<>(); initGUI(); leggTilSkip(); } private void initGUI() { setLayout(new GridLayout(10, 10)); Trykker t = new Trykker(); for (int i = 0; i < ruter.length; i++) { for (int j = 0; j < ruter[i].length; j++) { HRute r = new HRute(j, i); r.setIcon(hav); r.addActionListener(t); ruter[i][j] = r; add(r); } } } public HRute[][] hentRuter() { return ruter; } private class Trykker implements ActionListener { @Override public void actionPerformed(ActionEvent e) { HRute klikket = (HRute)e.getSource(); antSkudd++; if (klikket.hentSkip() != null) { klikket.setIcon(skip); klikket.trykk(); if (skipene.size() == antSunkedeSkip) { vunnet(); } } } } private void leggTilSkip() { skipene = new ArrayList<>(); skipene.add(new HSkip(this, ruter[0][0], 2)); skipene.add(new VSkip(this, ruter[0][7], 6)); } public void skipNede() { antSunkedeSkip++; } public void vunnet() { JOptionPane.showMessageDialog(null, "Du har vunnet!\nAntall skudd: " + antSkudd); } }