Advertisement
Stann

Switch Case generation

May 20th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.20 KB | None | 0 0
  1. package javaGame;
  2.  
  3. import java.awt.GridLayout;
  4.  
  5. import javax.swing.JFrame;
  6.  
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.ActionEvent;
  9. import java.util.Random;
  10.  
  11. import javax.swing.JButton;
  12. import javax.swing.ImageIcon;
  13. import javax.swing.Icon;
  14.  
  15. public class CardButton extends JFrame {
  16.     Clicked handler;
  17.     JButton hold;
  18.     JButton held;
  19.     int counter = 0;
  20.     Icon pic1;
  21.     Icon pic2;
  22.  
  23.     public JButton buttons[] = new JButton[16];
  24.     ImageIcon imagesicons[] = new ImageIcon[16];
  25.  
  26.     public CardButton() {
  27.         super("CardMatch");
  28.         setLayout(new GridLayout(4, 4));
  29.         handler = new Clicked();
  30.  
  31.         // generate the buttons
  32.         for (int i = 0; i < 16; i++) {
  33.             buttons[i] = new JButton();
  34.  
  35.             buttons[i].addActionListener(handler);// add button to action
  36.                                                     // listener
  37.             add(buttons[i]);// add button to grid
  38.         }
  39.  
  40.         // generate array with random images
  41.         int counter1 = 0;
  42.         int counter2 = 0;
  43.         int counter3 = 0;
  44.         int counter4 = 0;
  45.         int counter5 = 0;
  46.         int counter6 = 0;
  47.         int counter7 = 0;
  48.         int counter8 = 0;
  49.         for (int i = 0; i < 16; i++) {
  50.             Random rnd = new Random();
  51.             int num = 1 + rnd.nextInt(8);
  52.  
  53.             switch (num) {
  54.             case 1:
  55.                 if (counter1 < 2) {
  56.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  57.                             (num) + ".png"));
  58.                     counter1++;
  59.                 }
  60.  
  61.                 else {
  62.                     i--;
  63.                     continue;
  64.                 }
  65.  
  66.                 break;
  67.             case 2:
  68.                 if (counter2 < 2) {
  69.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  70.                             (num) + ".png"));
  71.                     counter2++;
  72.                 }
  73.  
  74.                 else {
  75.                     i--;
  76.                     continue;
  77.                 }
  78.  
  79.                 break;
  80.             case 3:
  81.                 if (counter3 < 2) {
  82.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  83.                             (num) + ".png"));
  84.                     counter3++;
  85.                 }
  86.  
  87.                 else {
  88.                     i--;
  89.                     continue;
  90.                 }
  91.  
  92.                 break;
  93.             case 4:
  94.                 if (counter4 < 2) {
  95.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  96.                             (num) + ".png"));
  97.                     counter4++;
  98.                 }
  99.  
  100.                 else {
  101.                     i--;
  102.                     continue;
  103.                 }
  104.  
  105.                 break;
  106.             case 5:
  107.                 if (counter5 < 2) {
  108.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  109.                             (num) + ".png"));
  110.                     counter5++;
  111.                 }
  112.  
  113.                 else {
  114.                     i--;
  115.                     continue;
  116.                 }
  117.  
  118.                 break;
  119.             case 6:
  120.                 if (counter6 < 2) {
  121.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  122.                             (num) + ".png"));
  123.                     counter6++;
  124.                 }
  125.  
  126.                 else {
  127.                     i--;
  128.                     continue;
  129.                 }
  130.  
  131.                 break;
  132.             case 7:
  133.                 if (counter7 < 2) {
  134.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  135.                             (num) + ".png"));
  136.                     counter7++;
  137.                 }
  138.  
  139.                 else {
  140.                     i--;
  141.                     continue;
  142.                 }
  143.  
  144.                 break;
  145.             case 8:
  146.                 if (counter8 < 2) {
  147.                     imagesicons[i] = new ImageIcon(getClass().getResource(
  148.                             (num) + ".png"));
  149.                     counter8++;
  150.                 }
  151.  
  152.                 else {
  153.                     i--;
  154.                     continue;
  155.                 }
  156.  
  157.                 break;
  158.  
  159.             default:
  160.                 break;
  161.             }
  162.            
  163.         }
  164.  
  165.        
  166.  
  167.     }
  168.  
  169.     private class Clicked implements ActionListener { // handles event
  170.  
  171.         public void actionPerformed(ActionEvent e) {
  172.  
  173.             hold = (JButton) e.getSource();
  174.             if (hold.getIcon() == null) {
  175.                 for (int i = 0; buttons[i] != hold; i++)
  176.  
  177.                     if (counter == 0) {
  178.                         hold.setIcon(imagesicons[i]);
  179.                         pic2 = imagesicons[i];
  180.                         counter++;
  181.                         held = hold;
  182.                     } else {
  183.                         hold.setIcon(imagesicons[i]);
  184.                         pic1 = imagesicons[i];
  185.                         // checkWinner(pic1,hold);TODO
  186.                         counter = 0;
  187.                     }
  188.             }
  189.         }
  190.  
  191.     }
  192.  
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement