// {{{ dispose() method @Override public void dispose() { instance = null; EditBus.removeFromBus(this); EditBus.removeFromBus(installer); super.dispose(); } // }}}
// Action - vad som händer om man klickar på de olika knapparna public void actionPerformed(ActionEvent e) { // Om man trycker på startknappen if (e.getSource() == go) { for (int i = 0; i < 4; i++) { // Skapar spelare och AI, beroende på om textfälten och checkboxarna är ifyllda if (textfields.get(i).getText().length() > 0) { // Om checkboxen är itryckt, skapa ett AI if (boxes.get(i).isSelected()) { try { if (Integer.parseInt(intfields.get(i).getText()) >= 0) { players.add( new AI( textfields.get(i).getText(), Integer.parseInt(intfields.get(i).getText()))); } // Om intellegensen är angivet negativt använder vi ett minne av storleken 0. else { players.add(new AI(textfields.get(i).getText(), 0)); } } // Om intellegensen inte är angiven i siffror, använd standardintellegensen på 20 korts // minne catch (NumberFormatException ex) { players.add(new AI(textfields.get(i).getText(), 20)); } } // Om spelaren inte är ett AI, lägg till en vanlig spelare else { players.add(new Player(textfields.get(i).getText())); } } } // Stänger ner menyn och startar spelet, skickar med spelarinfon if (players.size() >= 1) { this.dispose(); f.dispose(); new Memory(players); } } // Om man trycker på hjälpknappen visas en ruta med lite instruktioner if (e.getSource() == help) { f.setVisible(true); f.setBounds(300, 200, 500, 200); f.setResizable(false); String text = "<html>Om inställningar:<br>Skriv in spelarnas namn för att lägga till dem.<br>" + "Om AI önskas: Klicka i rutan och ange intellegens. (Antal kort AIn kommer ihåg.)<br>" + "Tryck på 'Starta' för att starta spelet.<br><br>" + "Hur man spelar:<br>Spelaren vars tur det är får sitt namn markerat med grön färg längst ner.<br>" + "För att göra ditt drag, tryck på korten. Du kan inte välja samma kort två gånger<br><br>" + "Det är ett vanligt memory, lets go!</html>"; f.add(new JLabel(text), BorderLayout.NORTH); } for (int i = 0; i < boxes.size(); i++) { // Om checkboxarna är ikryssade lägger den till ett eget namn för AIn som ska skapas och visar // rutan för intellegensbestämning if (boxes.get(i).isSelected()) { textfields.get(i).setText("AI " + (i + 1)); textfields.get(i).setEnabled(false); intfields.get(i).setText("" + 20); intfields.get(i).setVisible(true); } // Om checkboxarna blir urklickade igen, nollställ textfälten, och ta bort rutan för // intellegensbestämning else if (!boxes.get(i).isSelected()) { if (textfields.get(i).getText().indexOf("AI") != -1) { textfields.get(i).setText(""); intfields.get(i).setVisible(false); } textfields.get(i).setEnabled(true); } } }