Multidesk.be » Forums » Java » Afsluiten + korten (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Dendeze op zaterdag 21 mei 2005 om 19:40:47.
Dendeze's avatar
Multiviteit: 1695
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
In school moesten we dus een spelltje \'Memory\' zeer simpel maken,
ik heb dit dus proberen uit te breiden....

Maar nu zint het me niet dat de code zo lang is, ziet iemand ergens iets dat korter kan.

CODE
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import javax.swing.border.*;
  5.  
  6. public class Frame1
  7.     extends JFrame implements ActionListener {
  8.  
  9.   private int[] plaatsen = {
  10.       0, 1, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 0, 1, 2, 3};
  11.   private JButton[] btns;
  12.   private int teller, a, b, c, d, w1, w2;
  13.   private String speler1, speler2;
  14.   private int speler = 1;
  15.   private ImageIcon leeg = new ImageIcon(\"leeg.jpg\");
  16.  
  17.   public static void main(String[] args) {
  18.     new Frame1();
  19.   }
  20.  
  21.   public Frame1() {
  22.     super(\"Memory\");
  23.     setSize(400, 400);
  24.  
  25.     speler1 = JOptionPane.showInputDialog(null, \"Geef de naam van speler 1\");
  26.     speler2 = JOptionPane.showInputDialog(null, \"Geef de naam van speler 2\");
  27.  
  28.     JOptionPane.showConfirmDialog(null, speler1 + \" mag beginnen spelen!\",
  29.                                   \"Begin\", JOptionPane.DEFAULT_OPTION);
  30.  
  31.     Container c = getContentPane();
  32.     c.setLayout(new GridLayout(4, 5));
  33.  
  34.     btns = new JButton[20];
  35.  
  36.     for (int i = 0; i < 20; i++) {
  37.       btns[i] = new JButton(leeg);
  38.       btns[i].addActionListener(this);
  39.       btns[i].setBackground(Color.WHITE);
  40.       c.add(btns[i]);
  41.     }
  42.  
  43.     setDefaultCloseOperation(Frame1.EXIT_ON_CLOSE);
  44.   }
  45.  
  46.   public void actionPerformed(ActionEvent e) {
  47.  
  48.     Border r, g;
  49.     r = BorderFactory.createLineBorder(Color.RED, 3);
  50.     g = BorderFactory.createLineBorder(Color.GREEN, 3);
  51.  
  52.     for (int i = 0; i < 20; i++) {
  53.  
  54.       if (e.getSource() == btns[i]) {
  55.         teller++;
  56.  
  57.         if (btns[i].getIcon() != leeg) {
  58.           JOptionPane.showConfirmDialog(null,
  59.                                         \"Deze afbeelding is al geraden!\",
  60.                                         \"Error\", JOptionPane.DEFAULT_OPTION);
  61.           teller--;
  62.         }
  63.         else {
  64.  
  65.           btns[i].setIcon(new ImageIcon(\"prent\" + plaatsen[i] + \".jpg\"));
  66.           if (teller == 2) {
  67.             b = plaatsen[i];
  68.             d = i;
  69.           }
  70.           else {
  71.             a = plaatsen[i];
  72.             c = i;
  73.           }
  74.  
  75.           if (a == b && teller == 2) {
  76.             JOptionPane.showConfirmDialog(null, \"Je hebt er twee juist!\",
  77.                                           \"Joepie\", JOptionPane.DEFAULT_OPTION);
  78.             if (speler == 1) {
  79.               w1++;
  80.               btns[c].setBorder(r);
  81.               btns[d].setBorder(r);
  82.             }
  83.             else {
  84.               w2++;
  85.               btns[c].setBorder(g);
  86.               btns[d].setBorder(g);
  87.             }
  88.             a = b = teller = 0;
  89.  
  90.           }
  91.           else {
  92.             if (teller == 2) {
  93.               JOptionPane.showConfirmDialog(null, \"Jammer je beurt is voorbij!\",
  94.                                             \"Jammer\",
  95.                                             JOptionPane.DEFAULT_OPTION);
  96.               btns[c].setIcon(leeg);
  97.               btns[d].setIcon(leeg);
  98.               teller = 0;
  99.  
  100.               if (speler == 1) {
  101.                 speler++;
  102.                 JOptionPane.showConfirmDialog(null,
  103.                                               speler2 + \" mag spelen!\",
  104.                                               \"Begin\",
  105.                                               JOptionPane.DEFAULT_OPTION);
  106.               }
  107.               else {
  108.                 speler = 1;
  109.                 JOptionPane.showConfirmDialog(null,
  110.                                               speler1 + \" mag spelen!\",
  111.                                               \"Begin\",
  112.                                               JOptionPane.DEFAULT_OPTION);
  113.               }
  114.             }
  115.           }
  116.         }
  117.       }
  118.     }
  119.  
  120.     int k = 0;
  121.     for (int j = 0; j < 20; j++) {
  122.       if (btns[j].getIcon() != leeg) {
  123.         k++;
  124.       }
  125.     }
  126.  
  127.     if (k == 20) {
  128.       JOptionPane.showConfirmDialog(null,
  129.                                     \"Het spel is gespeeld!\",
  130.                                     \"Einde\", JOptionPane.DEFAULT_OPTION);
  131.  
  132.       if (w1 == w2) {
  133.         JOptionPane.showConfirmDialog(null,
  134.                                       \"Het spel is geŽindigd op gelijkspel!\",
  135.                                       \"Gelijkspel\", JOptionPane.DEFAULT_OPTION);
  136.       }
  137.       else {
  138.         if (w1 > w2) {
  139.           JOptionPane.showConfirmDialog(null,
  140.                                         speler1 + \" heeft gewonnen met \" + w1 +
  141.                                         \" punten\n\" + speler2 +
  142.                                         \" heeft verloren met \" +
  143.                                         w2 + \" punten\n\" +
  144.                                         \"Er was een punten verschil van \" +
  145.                                         (w1 - w2),
  146.                                         \"Winnaar\", JOptionPane.DEFAULT_OPTION);
  147.         }
  148.         else {
  149.           JOptionPane.showConfirmDialog(null,
  150.                                         speler1 + \" heeft verloren met \" + w1 +
  151.                                         \" punten\n\" + speler2 +
  152.                                         \" heeft gewonnen met \" +
  153.                                         w2 + \" punten\n\" +
  154.                                         \"Er was een punten verschil van \" +
  155.                                         (w2 - w1),
  156.                                         \"Winnaar\", JOptionPane.DEFAULT_OPTION);
  157.         }
  158.       }
  159.  
  160.       int response = JOptionPane.showConfirmDialog
  161.           (null, \"Wilt u nog een spelltje spelen\",
  162.            \"Nog een keer?\", JOptionPane.YES_NO_OPTION,
  163.            JOptionPane.INFORMATION_MESSAGE);
  164.  
  165.       if (response == JOptionPane.YES_OPTION) {
  166.  
  167.         int response2 = JOptionPane.showConfirmDialog
  168.             (null, \"Wilt u dezelfde spelers gebruiken\",
  169.              \"Spelers\", JOptionPane.YES_NO_OPTION,
  170.              JOptionPane.INFORMATION_MESSAGE);
  171.  
  172.         if (response2 == JOptionPane.NO_OPTION) {
  173.  
  174.           speler1 = JOptionPane.showInputDialog(null,
  175.                                                 \"Geef de naam van speler 1\");
  176.           speler2 = JOptionPane.showInputDialog(null,
  177.                                                 \"Geef de naam van speler 2\");
  178.         }
  179.  
  180.         w1 = w2 = 0;
  181.  
  182.         for (int i = 0; i < 20; i++) {
  183.           btns[i].setIcon(leeg);
  184.           btns[i].setBorder(BorderFactory.createBevelBorder(1));
  185.         }
  186.         speler = 1;
  187.         JOptionPane.showConfirmDialog(null,
  188.                                       speler1 + \" mag spelen!\",
  189.                                       \"Begin\", JOptionPane.DEFAULT_OPTION);
  190.       }
  191.       else {
  192.         /*
  193.          ** Code om het programma te beŽindigen
  194.          */
  195.       }
  196.  
  197.     }
  198.   }
  199. }
  200.  



Ook had ik nog een vraag :

CODE
  1.       else {
  2.         /*
  3.          ** Code om het programma te beŽindigen
  4.          */
  5.       }
  6.  


Hoe kan ik via de code het project afsluiten, zodat als de gebruiker nee antwoord den boel afsluit...


De afbeeldingen worden nog steeds op een vaste plaats gezet maar dat wordt nog een uitbreiding als ik tijd en goesting heb..
^ Reactie #1 geschreven door rObkE op zaterdag 21 mei 2005 om 21:53:16.
rObkE heeft nog geen avatar toegevoegd
Multiviteit: 3765
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Dixit

Hoe kan ik via de code het project afsluiten, zodat als de gebruiker nee antwoord den boel afsluit...
System.exit(int)
Deze tekst werd het laatst bewerkt voor 11.34 % door rObkE op zaterdag 21 mei 2005 om 21:57:05.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten