// {{{ dispose() method
 @Override
 public void dispose() {
   instance = null;
   EditBus.removeFromBus(this);
   EditBus.removeFromBus(installer);
   super.dispose();
 } // }}}
Beispiel #2
0
 // 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);
     }
   }
 }