Simon

skull_crusher

Neues Mitglied
ich habe ein problem mit dem spiel simon(says) , weil ich nicht weiß wie ich abfragen soll welche buttons geklickt werden .
Weiß jemand wie man eine Funktion macht die zurückgiebt welche buttons geklickt wurden ?
hier ist mein gesamter code bis jetzt:


Java:
package test;


import javax.swing.*;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Random;
import java.util.concurrent.TimeUnit;
//import java.io.*;
//import javax.imageio.*;

public class frame2 {
 

        public static void main(String[] args) throws InterruptedException {
           JFrame f = new JFrame("hii");
           JPanel panel = new JPanel();
           JButton button = new JButton("Start");
           JButton button1 = new JButton("");
           JButton button2 = new JButton("");
           JButton button3 = new JButton("");
           JButton button4 = new JButton("");
           JLabel label = new JLabel("Willkommen zu Simon :");
        
           panel.add(button);
           panel.add(button1);
           panel.add(button2);
           panel.add(button3);
           panel.add(button4);
           panel.add(label);
           f.add(panel);
        
        
           f.pack();
           f.setResizable(true);
           f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           f.setSize(830, 830);
           f.setVisible(true);
           panel.setLayout(null);
           button.setBounds(230,300,350,100);
           button.setBackground(Color.cyan);
           button.setFont(new Font("Arial", Font.PLAIN, 50));
           button.setForeground(Color.BLUE);
           label.setForeground(Color.cyan);
           label.setFont(new Font("Arial",Font.PLAIN,60));
           label.setBounds(100,100,800,200);
           button1.setBackground(Color.GREEN.darker());
           button1.setBounds(100,100,300,300);//buttons am fenster einrichten:
           button1.setVisible(false);
           button2.setBackground(Color.blue.darker());
           button2.setBounds(400,100,300,300);
           button2.setVisible(false);
           button3.setBackground(Color.red.darker());
           button3.setBounds(100,400,300,300);
           button3.setVisible(false);
           button4.setBackground(Color.yellow.darker());
           button4.setBounds(400,400,300,300);
           button4.setVisible(false);
           panel.setBackground(Color.black.darker());
 
    
    
       /*try {
           f.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("C:\\Users\\User\\Documents\\Programmieren\\Java\\Projekte\\test\\Bäume2.jpg")))));
       }catch (IOException e) {
           System.out.println("keider nein");
       }*/

        
    
       button.addActionListener(new ActionListener() {
        
    
    
           @Override
           public void actionPerformed(ActionEvent e) {
               //myFrame.setSize(100, 100);
               button.setVisible(false);
               button1.setVisible(true);
               button2.setVisible(true);
               button3.setVisible(true);
               button4.setVisible(true);
               panel.setBackground(Color.cyan);
               label.setVisible(false);
            
            
            
            
        
                
            
                
            
               /*
                    new javax.swing.Timer(500, new ActionListener() {
                     private final Color color1 = Color.GREEN;
                     private final Color color2 = Color.GREEN.darker();

                
                     public void actionPerformed(ActionEvent e) {
                  
                         if (color1 == button1.getBackground()) {
                         button1.setBackground(color2);
                       } else {
                         button1.setBackground(color1);
                       }
                  
                
                     }
                
                   }).start();
            
               */
               boolean creatingPattern = false;
        
            
                   if (!creatingPattern) {
        
                       button1.addMouseListener(new java.awt.event.MouseAdapter() {
                   public void mouseEntered(java.awt.event.MouseEvent evt) {
                       button1.setBackground(Color.GREEN);
                   }

                   public void mouseExited(java.awt.event.MouseEvent evt) {
                       button1.setBackground(Color.GREEN.darker());
                   }
               });
            
               button2.addMouseListener(new java.awt.event.MouseAdapter() {
                   public void mouseEntered(java.awt.event.MouseEvent evt) {
                       button2.setBackground(Color.blue.brighter());
                   }

                   public void mouseExited(java.awt.event.MouseEvent evt) {
                       button2.setBackground(Color.blue.darker());
                   }
               });
            
               button3.addMouseListener(new java.awt.event.MouseAdapter() {
                   public void mouseEntered(java.awt.event.MouseEvent evt) {
                       button3.setBackground(Color.red);
                   }

                   public void mouseExited(java.awt.event.MouseEvent evt) {
                       button3.setBackground(Color.red.darker());
                   }
               });
               button4.addMouseListener(new java.awt.event.MouseAdapter() {
                   public void mouseEntered(java.awt.event.MouseEvent evt) {
                       button4.setBackground(Color.yellow);
                   }

                   public void mouseExited(java.awt.event.MouseEvent evt) {
                       button4.setBackground(Color.yellow.darker());
                   }
               });

               }
            
                
                   /*if(x==3){
                       try{
                           Thread.sleep(5000);
                           }
                           catch(Exception w){}
                               for(int i = 0 ;i<10;i++) {
                           button.setBackground(Color.GREEN);
                           label.setText("grün");
                           //System.out.println("grün");
                           try{
                               Thread.sleep(5000);
                               }
                               catch(Exception w){}
                           button.setBackground(Color.GREEN.darker());
                           System.out.println("grün dunkel");
                       }
                            
                   }   */
           }
        
        
        
        
        } );
    
 
       int grün=1 ;
       int blau=2;
       int rot=3;
       int gelb=4;
       int[]array = new int[10];
       for (int j =0;j<10;j++) {
        
        
       for (int i = 1;i<=j;i++) {
        
           int random = new Random().nextInt(4)+1;
           if (random==grün) {
           button1.setBackground(Color.GREEN.brighter());
           TimeUnit.MILLISECONDS.sleep(500);
           button1.setBackground(Color.green.darker());
       }
       else if (random==blau){
           button2.setBackground(Color.BLUE.brighter());
           TimeUnit.MILLISECONDS.sleep(500);
           button2.setBackground(Color.BLUE.darker());
       }
       else if (random==rot) {
           button3.setBackground(Color.RED.brighter());
           TimeUnit.MILLISECONDS.sleep(500);
           button3.setBackground(Color.RED.darker());
        
       }
       else if (random==gelb) {
           button4.setBackground(Color.yellow.brighter());
           TimeUnit.MILLISECONDS.sleep(500);
           button4.setBackground(Color.YELLOW.darker());
           }
       array[i]=random;
       //System.out.println(random);
       }
       TimeUnit.MILLISECONDS.sleep(2000);
      

      
      
      
      

      
      
        }

    
}
 
Zuletzt bearbeitet von einem Moderator:

Robat

Top Contributor
Wenn du auf einem Button drückst speicherst du dir einfach ab, das dieser gedrückt wurde. Das geht bspw. in einem Array, einer Liste oder einem anderen Container dieser Art. Du fügst den Button einfach dem Container hinzu, wenn er gedrückt wurde und noch nicht vorhanden ist.

Das nächste mal Code bitte in [code=Java]Your Code[/code] Tags
 

Neue Themen


Oben