Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package javaGame;
- import java.awt.GridLayout;
- import javax.swing.JFrame;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.util.Random;
- import javax.swing.JButton;
- import javax.swing.ImageIcon;
- import javax.swing.Icon;
- public class CardButton extends JFrame {
- Clicked handler;
- JButton hold;
- JButton held;
- int counter = 0;
- Icon pic1;
- Icon pic2;
- public JButton buttons[] = new JButton[16];
- ImageIcon imagesicons[] = new ImageIcon[16];
- public CardButton() {
- super("CardMatch");
- setLayout(new GridLayout(4, 4));
- handler = new Clicked();
- // generate the buttons
- for (int i = 0; i < 16; i++) {
- buttons[i] = new JButton();
- buttons[i].addActionListener(handler);// add button to action
- // listener
- add(buttons[i]);// add button to grid
- }
- // generate array with random images
- int counter1 = 0;
- int counter2 = 0;
- int counter3 = 0;
- int counter4 = 0;
- int counter5 = 0;
- int counter6 = 0;
- int counter7 = 0;
- int counter8 = 0;
- for (int i = 0; i < 16; i++) {
- Random rnd = new Random();
- int num = 1 + rnd.nextInt(8);
- switch (num) {
- case 1:
- if (counter1 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter1++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 2:
- if (counter2 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter2++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 3:
- if (counter3 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter3++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 4:
- if (counter4 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter4++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 5:
- if (counter5 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter5++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 6:
- if (counter6 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter6++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 7:
- if (counter7 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter7++;
- }
- else {
- i--;
- continue;
- }
- break;
- case 8:
- if (counter8 < 2) {
- imagesicons[i] = new ImageIcon(getClass().getResource(
- (num) + ".png"));
- counter8++;
- }
- else {
- i--;
- continue;
- }
- break;
- default:
- break;
- }
- }
- }
- private class Clicked implements ActionListener { // handles event
- public void actionPerformed(ActionEvent e) {
- hold = (JButton) e.getSource();
- if (hold.getIcon() == null) {
- for (int i = 0; buttons[i] != hold; i++)
- if (counter == 0) {
- hold.setIcon(imagesicons[i]);
- pic2 = imagesicons[i];
- counter++;
- held = hold;
- } else {
- hold.setIcon(imagesicons[i]);
- pic1 = imagesicons[i];
- // checkWinner(pic1,hold);TODO
- counter = 0;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement