Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package braindrain;
- import java.awt.BorderLayout;
- import java.awt.GridLayout;
- import java.awt.Window;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.Scanner;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- /**
- *
- * @author mrniceguy
- */
- public class brain extends JFrame implements ActionListener{
- JFrame playerFrame = new JFrame();
- //MenuBar
- JMenuBar menuBar = new JMenuBar();
- JMenu datei = new JMenu("Datei");
- JMenu lösungsEingabe = new JMenu("Lösungs Auswahl");
- JMenu beenden = new JMenu("Beenden");
- JMenuItem neuesSpiel = new JMenuItem("Neues Spiel");
- JMenuItem spielBeenden = new JMenuItem("Spiel Beenden");
- JMenuItem computerEinfarbig = new JMenuItem("Computer Generiert Einfarbig");
- JMenuItem computerMehrFarbig = new JMenuItem("Computer Generiert MehrFarbig");
- JMenuItem spieler = new JMenuItem("Spieler eingabe");
- JMenuBar menuBar1 = new JMenuBar();
- JMenu hilfe = new JMenu("Hilfe");
- JMenuItem hier = new JMenu("Wie geht das?");
- //Buttons
- static JButton buttons[][] = new JButton[12][5];
- JButton playerButtons[] = new JButton[8];
- JButton ok = new JButton("OK");
- //JLabel
- JLabel label[] = new JLabel[12];
- JLabel errorDisplay = new JLabel("Error Meldungen");
- //Images
- ImageIcon icon[] = new ImageIcon[8];
- //Scanner
- Scanner sc = new Scanner(System.in);
- //Strings fuer die Pfade der Bilder (35x35)
- String liste[] = {"/Users/mrniceguy/Pictures/Braun.png", "/Users/mrniceguy/Pictures/Schwarz.png", "/Users/mrniceguy/Pictures/Rot.png", "/Users/mrniceguy/Pictures/Gelb.png", "/Users/mrniceguy/Pictures/Gruen.png", "/Users/mrniceguy/Pictures/Lila.png", "/Users/mrniceguy/Pictures/Orange.png", "/Users/mrniceguy/Pictures/blau.jpg"};
- //String liste2[] = {"Braun.png", "Schwarz.png", "Rot.png", "Gelb.png", "Gruen.png", "Lila.png", "Blau.png"};
- //Integers
- int ergebnis[] = new int[5];
- int deselectCount = 0;
- int rundenCount = 11;
- int arrayIndex = 0;
- int deselected[] = new int[5];
- public static void main(String[] argv){
- new brain();
- }
- public brain(){
- //SetMainFrame
- super("BrainDrain");
- setSize(500,800);
- setVisible(true);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- //Set playerFrame
- playerFrame.setTitle("Tool");
- playerFrame.setSize(275,800);
- playerFrame.setVisible(true);
- playerFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- playerFrame.setLocation(500, 0);
- //ActionListener For OK Button and JMenu
- ok.addActionListener(this);
- neuesSpiel.addActionListener(this);
- spielBeenden.addActionListener(this);
- spieler.addActionListener(this);
- computerEinfarbig.addActionListener(this);
- computerMehrFarbig.addActionListener(this);
- datei.add(neuesSpiel);
- lösungsEingabe.add(computerEinfarbig);
- lösungsEingabe.add(computerMehrFarbig);
- lösungsEingabe.add(spieler);
- beenden.add(spielBeenden);
- menuBar.add(datei);
- menuBar.add(lösungsEingabe);
- menuBar.add(beenden);
- hilfe.add(hier);
- menuBar1.add(hilfe);
- playerFrame.add(ok, BorderLayout.SOUTH);
- //Add Panels
- super.getContentPane().add(menuBar, BorderLayout.NORTH);
- super.getContentPane().add(createButtonsPanel());
- super.getContentPane().add(errorDisplay, BorderLayout.SOUTH);
- playerFrame.getContentPane().add(createPlayerButtonsPanel(), BorderLayout.EAST);
- playerFrame.getContentPane().add(createDisplayPanel(), BorderLayout.CENTER);
- playerFrame.getContentPane().add(menuBar1, BorderLayout.NORTH);
- //Set Icons on toggleButtons
- setIcon();
- setPlayerButtons();
- setErgebnisComputerEinfarbig();
- validate();
- }
- //Create Panel for Buttons
- private JPanel createButtonsPanel(){
- JPanel buttonsPanel = new JPanel(new GridLayout(12,5));
- for(int i = 0; i < 12; i++){
- for(int j = 0; j < 5; j++){
- buttons[i][j] = new JButton();
- buttons[i][j].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- for(int i = 0; i < 12; i++){
- for(int j = 0; j < 5; j++){
- if(e.getSource() == buttons[i][j]){
- if(buttons[rundenCount][j].getIcon() != null){//Falls Jemand ein leeren Button Anklickt
- buttons[rundenCount][j].setIcon(null);
- arrayIndex--;
- deselectCount++;
- deselected[deselectCount] = j;
- }
- }
- }
- }
- }
- });
- buttonsPanel.add(buttons[i][j]);
- //buttons[i][j].setEnabled(false); //Pictures are Displayed Gry if disabled
- }
- }
- return buttonsPanel;
- }
- //Create Panel for ToggleButtons
- private JPanel createPlayerButtonsPanel(){
- JPanel playerButtonsPanel = new JPanel(new GridLayout(8,1));
- for(int i = 0; i < playerButtons.length; i++){
- playerButtons[i] = new JButton();
- playerButtonsPanel.add(playerButtons[i]);
- }
- return playerButtonsPanel;
- }
- //Create Panel for Displays
- private JPanel createDisplayPanel(){
- JPanel displayPanel = new JPanel(new GridLayout(12,1));
- for(int i = 0; i < label.length; i++){
- label[i] = new JLabel("Ergebnis"+(i+1));
- displayPanel.add(label[i]);
- }
- return displayPanel;
- }
- //Set ToggleButton Icons
- private void setPlayerButtons(){
- for(int i = 0; i < playerButtons.length; i++){
- playerButtons[i].setIcon(icon[i]);
- playerButtons[i].addActionListener(new ActionListener(){
- @Override
- public void actionPerformed(ActionEvent e){
- for(int i = 0; i < playerButtons.length; i++){
- if(e.getSource() == playerButtons[i]){
- if(arrayIndex < 5){//Wenn weniger als 5 farben ausgewählt wurden
- if(deselectCount == 0){//Wenn vorher keine Farbe wieder gelöscht wurde
- errorDisplay.setText(rundenCount+"<- rC aI ->"+arrayIndex);
- buttons[rundenCount][arrayIndex].setIcon(icon[i]);
- arrayIndex++;
- } else {//Falls eine Farbe vorher gelöscht wurde
- buttons[rundenCount][deselected[deselectCount]].setIcon(icon[i]);
- deselectCount--;
- arrayIndex++;
- }
- } else {//Wenn mehr als 5 Farben ausgewählt wurden
- errorDisplay.setText("Schon 5 Ausgewählt, wenn fertig OK button drücken");
- }
- }
- }
- }
- });
- }
- }
- //Set String ergebnis with Random Path out of Liste (no dubletten)
- private void setErgebnisComputerEinfarbig(){
- System.out.println("Computer Einfarbig");
- boolean wert[] = new boolean[8];
- for(int i = 0; i < ergebnis.length; i++){
- int rnd = (int) (Math.random() * 8);
- if(!wert[rnd]){
- ergebnis[i] = rnd;
- wert[rnd] = true;
- System.out.println((i+1)+". Farbe: "+liste[rnd]);
- } else {
- i--;
- }
- }
- }
- //Set String ergebnis with Random Path out of Liste (bubletten possible)
- private void setErgebnisComputerMehrFarbig(){
- System.out.println("Computer Mehrfarbig");
- for(int i = 0; i < ergebnis.length; i++){
- int rnd = (int) (Math.random() * 8);
- ergebnis[i] = rnd;
- System.out.println((i+1)+". Farbe: "+liste[rnd]);
- }
- }
- //Set string via user
- public void setErgebnisSpieler(){
- System.out.println("SpielerEingabe(5 Zahlen (1-8):");
- int eingabe;
- for(int i = 0; i < 5; i++){
- eingabe = sc.nextInt();
- if(eingabe > 0 && eingabe < 9){
- ergebnis[i] = eingabe-1;
- System.out.println((i+1)+". Farbe: "+liste[eingabe-1]);
- } else {
- errorDisplay.setText("Zahl zwischen 1-8");
- i--;
- }
- }
- }
- //Icons array fuellen
- private void setIcon(){
- for(int i = 0; i < icon.length; i++){
- icon[i] = new ImageIcon(liste[i]);
- }
- }
- //Eingabe Ueberpruefen
- public void pruefen(){
- int count = 0;
- for(int i = 0; i < 5; i++){
- for(int j = 0; j < 5; j++){
- if(buttons[rundenCount][i].getIcon().equals(icon[ergebnis[j]])){
- count++;
- }
- }
- }
- int count1 = 0;
- for(int i = 0; i < 5; i++){
- if(buttons[rundenCount][i].getIcon().equals(icon[ergebnis[i]])){
- count1++;
- }
- }
- if(count1 == 5){
- label[rundenCount].setText("Alles Richtig");
- JOptionPane.showMessageDialog(null, "Geschafft");
- } else if(count == 5){
- label[rundenCount].setText("Farben: Alle / Farbe und Position:"+count1);
- } else{
- label[rundenCount].setText("Farben:"+count+"/ Farbe und Position:"+count1);
- }
- //return false;
- }
- /*public void actionPerfomedButtons(ActionEvent e){
- }*/
- @Override
- public void actionPerformed(ActionEvent e) {
- if(e.getSource() == neuesSpiel){//Neues Spiel erstellen
- for(int i = 0; i < 12; i++){
- for(int j = 0; j < 5; j++){
- buttons[i][j].setIcon(null);
- }
- label[i].setText("ergebnis"+(i+1));
- }
- for(;0 <= deselectCount; deselectCount--){
- //System.out.println(deselected[deselectCount]+"<-- Deslected Count ->>"+deselectCount);
- deselected[deselectCount] = 0;
- }
- arrayIndex = 0;
- rundenCount = 11;
- deselectCount = 0;
- setErgebnisComputerEinfarbig();
- } else if(e.getSource() == spielBeenden){//Beenden des Spiels
- System.exit(0);
- } else if(e.getSource() == spieler){//eingabe des Ergebnis
- setErgebnisSpieler();
- } else if(e.getSource() == computerEinfarbig){//cimputer generiertes ergebnis
- setErgebnisComputerEinfarbig();
- } else if(e.getSource() == computerMehrFarbig){//Computer generiertes ergebnis
- setErgebnisComputerMehrFarbig();
- } else if(e.getSource() == ok){//Druecken des Button ok (bestaetigung der Reihe
- if(arrayIndex == 5){
- pruefen();
- rundenCount--;
- arrayIndex = 0;
- } else {//Falls keine 5 farben ausgewählt wurden
- errorDisplay.setText("da fehlt noch was!");
- }
- }
- //Event PlayerButtons (Auswahl der Farben)
- //Event fuer Buttons (loeschen der Icons)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment