Vergleichen von Arrays

Status
Nicht offen für weitere Antworten.

blitz

Mitglied
Hallo,

ivh bin Umschüler und in den Anfängen der Java-Programmierung, für ein Projekt brauche ich Hilfe, da ich mich irgendwie festgefahren haben :-(


Beschreibung: Als Projekt soll ein einfaches Mastermind in einem JFrame erstellt werden hierzu verwende ich drei Dateien Start, Haupt, Auswertung.

das Programm ist fast fertig ich habe die Überprüfung, ob die Farbe (eine von sechs) an der richtigen Position ist fertig leider komme ich nicht weiter, wo nicht überprüft werden soll ob Farbe und Pos. richtig ist, sondern ob eine der getippten Farben vorhanden ist, dieses soll im Code bei Frichtige ermittelt werden, die farben werden mit code per zufall erzeugt 4 von 6, die Eingabe werden per klick auf das Farbige Button erzeugt.
Wenn einer sich mal den Code anschauen kann wäre ich glücklich, wahrscheinlich sehe ich den Wald vor Bäimen nicht :-(
Start
Code:
public class MastermindStart {


	public static void main(String[] args) {
		new MastermindFrame();
	

	}

}
Frame
Code:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MastermindFrame extends JFrame implements ActionListener {
	
	private JButton bNeu;
    private JButton bVerwerfen;
    private JButton []b;
    private JButton bAuswerten;
    private JPanel po;
    private JPanel pb;
    private JPanel p;
    private JPanel jb;
   // private PlayButton[] b;
	private JLabel l;
	private JLabel lleer;
	private JLabel lv;
	private int n;	//zähler
	private int z;
	private int kugeln;
	private Auswertung aus;
	
	public MastermindFrame (){
	super("Mastermind Layoutvorschlag"); 
	

	
	po=new JPanel();
	po.setLayout(new GridLayout(1,4));
	po.setBorder(BorderFactory.createLineBorder(Color.black,4));
	add(po,BorderLayout.NORTH);
	
	bAuswerten=new JButton("Auswerten");
	bAuswerten.addActionListener(this);
	bAuswerten.setEnabled(false);
	po.add(bAuswerten);
	
	bVerwerfen=new JButton("Auswahl verwerfen");
	bVerwerfen.addActionListener(this);
	po.add(bVerwerfen);
	
	lleer=new JLabel("");
	po.add(lleer);
	
	bNeu=new JButton("Neues Spiel");
	bNeu.addActionListener(this);
	po.add(bNeu);
	
	p=new JPanel();
	n=1;
	kugeln=0;
//	Felder erzeugen
	aus = new Auswertung();
	z=0;
	
	neueZeile();
	
//	Farbige Buttons 
	jb=new JPanel();
	jb.setLayout(new GridLayout(1,6));
	jb.setBorder(BorderFactory.createLineBorder(Color.red,4));
	add(jb,BorderLayout.SOUTH);
	
	b=new JButton[6];
	
	ImageIcon rot=new ImageIcon("rot.gif");
	b[0]=new JButton(rot);
	b[0].addActionListener(this);
	b[0].setEnabled(true);
	jb.add(b[0]);
	
	ImageIcon blau=new ImageIcon("blau.gif");
	b[1]=new JButton(blau);
	b[1].addActionListener(this);
	b[1].setEnabled(true);
	jb.add(b[1]);
	
	ImageIcon gruen=new ImageIcon("gruen.gif");
	b[3]=new JButton(gruen);
	b[3].addActionListener(this);
	b[3].setEnabled(true);
	jb.add(b[3]);
	
	ImageIcon lila=new ImageIcon("lila.gif");
	b[2]=new JButton(lila);
	b[2].addActionListener(this);
	b[2].setEnabled(true);
	jb.add(b[2]);
	
	ImageIcon schwarz=new ImageIcon("schwarz.gif");
	b[4]=new JButton(schwarz);
	b[4].addActionListener(this);
	b[4].setEnabled(true);
	jb.add(b[4]);
	
	ImageIcon gelb=new ImageIcon("gelb.gif");
	b[5]=new JButton(gelb);
	b[5].addActionListener(this);
	b[5].setEnabled(true);
	jb.add(b[5]);
//	Farbige Buttons ENDE
	
	pack();
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true); 				 
	
}

    public void neueZeile() {
//        neueFarben();
        p.setLayout(new GridLayout(n,2));// Zeilen mit Farbfeldern, 2 Spalten
        p.setBorder(BorderFactory.createLineBorder(Color.yellow,4));
        pb=new JPanel();
//        panel im panel. 1 panel und der button-teil ist wieder im panel
        pb.setLayout(new GridLayout(1,4));
        pb.setBorder(BorderFactory.createLineBorder(Color.blue,4));
        lv=new JLabel(n+". Versuch:");
        pb.add(lv);
        for (int i = 0; i < 4; i++) {
        	switch (aus.getEingabe(i)){
        	case 0:
	            ImageIcon ROT=new ImageIcon("rot.gif");
	    		JLabel lrot=new JLabel(ROT);
	    		lrot.setIcon(ROT);
	    		lrot.setBorder(BorderFactory.createLineBorder(Color.CYAN));
	    		pb.add(lrot);
	    		break;
        	case 1:
	            ImageIcon BLAU=new ImageIcon("blau.gif");
	    		JLabel lblau=new JLabel(BLAU);
	    		lblau.setIcon(BLAU);
	    		pb.add(lblau);
	    		break;
        	case 2:
	            ImageIcon LILA=new ImageIcon("lila.gif");
	    		JLabel llila=new JLabel(LILA);
	    		llila.setIcon(LILA);
	    		pb.add(llila);
	    		break;
        	case 3:
	            ImageIcon GRUEN=new ImageIcon("gruen.gif");
	    		JLabel lgruen=new JLabel(GRUEN);
	    		lgruen.setIcon(GRUEN);
	    		pb.add(lgruen);
	    		break;
        	case 4:
	            ImageIcon SCHWARZ=new ImageIcon("schwarz.gif");
	    		JLabel lschwarz=new JLabel(SCHWARZ);
	    		lschwarz.setIcon(SCHWARZ);
	    		pb.add(lschwarz);
	    		break;
        	case 5:
	            ImageIcon GELB=new ImageIcon("gelb.gif");
	    		JLabel lgelb=new JLabel(GELB);
	    		lgelb.setIcon(GELB);
	    		pb.add(lgelb);
	    		break;

        	}
		}
        p.add(pb);
        l = new JLabel("Kommentar");
//        nachfolgend muss panel 30*5 sein, damit es genauso groß ist wie die
//        5 buttons zusammen. die 2 spalten müssen im grid-layout gleich groß sein
        l.setPreferredSize(new Dimension(30*4,30));
        p.add(l);
        add(p,BorderLayout.CENTER);
    }

    public void actionPerformed(ActionEvent e) {
    	
    	b[0].setEnabled(true);
		b[1].setEnabled(true);
		b[2].setEnabled(true);
		b[3].setEnabled(true);
		b[4].setEnabled(true);
		b[5].setEnabled(true);
		bAuswerten.setEnabled(false);
		lv.setText(n+". Versuch:");
		
    	if(e.getSource()==bAuswerten){
    		if(n<8){
        		n++;
            	neueZeile();
            	pack();
            	kugeln=0;
            	l.setText("  Richtige "+aus.Richtige());
            	
    		}
    		else{
    		l.setText("Sie haben keinen weiteren Versuch");
    		}
    	}
    	if(e.getSource()==b[1]){
    		aus.setEingabe(kugeln,1);
    		kugeln++;	
    		}
    	if(e.getSource()==b[5]){
    		aus.setEingabe(kugeln,5);
    		kugeln++;	
    		}
    	if(e.getSource()==b[0]){
    		aus.setEingabe(kugeln,0);
    		kugeln++;	
    		}
    	if(e.getSource()==b[3]){
    		aus.setEingabe(kugeln,3);
    		kugeln++;	
    		}
    	if(e.getSource()==b[2]){
    		aus.setEingabe(kugeln,2);
    		kugeln++;	
    		}
    	if(e.getSource()==b[4]){
    		aus.setEingabe(kugeln,4);
    		kugeln++;	
    		}
    	if(e.getSource()==bVerwerfen){
			kugeln=0;
//			pb.removeAll();
			lv.setText(n+". Versuch:");
			
		}
		System.out.println("kugeln="+kugeln);
    	if(kugeln>=4){
    		b[0].setEnabled(false);
    		b[1].setEnabled(false);
    		b[2].setEnabled(false);
    		b[3].setEnabled(false);
    		b[4].setEnabled(false);
    		b[5].setEnabled(false);
    		bAuswerten.setEnabled(true);
    	}
    }

}

Auswertung

Code:
public class Auswertung {
	
	//Zufallszahlen
	private int[] code;
	// erfolgter Tipp
	private int[] eingaben;
	// Prüfung ob richtige Farbe und Position
	private int richtige;
	// Prüfung ob nur Farbe richttig ist
	private int frichtige;
	


	public Auswertung() {
		super();
		code = new int[4];
		eingaben = new int[4];
		neuesSpiel();
	}
	
	
	// Zufälliger Code (Zahlen die erreaten werden müssen
	public void neuesSpiel(){
		for (int i = 0; i < code.length; i++) {
			code[i]= (int) (0+Math.random()*5);
			System.out.println("Code"+code[i]);
		}
		
	}
	
	public void setEingabe(int i,int farbe){
		eingaben[i]=farbe;
		System.out.println("set eingaben:"+eingaben[i]);
		
	}
	
	public int getEingabe(int i){
		return eingaben[i];
			
	}
	public int Frichtige() {
		frichtige=0;
		for (int i = 0; i < eingaben.length; i++) {
			if (eingaben[i] ==code[i]) {
				frichtige=frichtige+1;
				System.out.println("FRICHTIGE: "+frichtige);
			}
		}
		return richtige;
		
	}
	public int Richtige() {
		richtige=0;
		for (int i = 0; i < eingaben.length; i++) {
			
		
		if (eingaben[i]==code [i]) {
			richtige=richtige+1;
			System.out.println("richtige: "+richtige);
			}
		}
		return richtige;
		
		
	}
	
	
}

Schon mal vielen Dank!!!!
 

blitz

Mitglied
???:L
Bitte kann mir Einer Helfen... bevor ich mir ein Strick kaufen muß und mich damit erschiesse :bahnhof:
 

blitz

Mitglied
Ja, habe ich ich muß aus dem INt "Code" und "eingaben" "welche jeweils eine Array ist wobei der Code per Zufall erzeugt wird und zwischen 0 und 6 liegt, die Eingabe wird erzeugt wenn ich einrn der farbigen Button Klicke erzeugt" die eingaben sind dann von 0-3 nun muß verglichen werden ob eine Zahl (Farbe identisch ist, aber dieses unabhängig der position im Panel.

Ich versuche es nochmaö mit anderen Worten: es müssen 4 Farben von 6 erraten werden nun habe ich im Vergleich ob Farbe und Postion in der Methode Richtige passt hinkommen, und es wird im Label dann angezeigt nun sollte aber nicht nur die Position verglichen werden, sondern auch ob die Farbe zumidestens stimmt ausgewertet werden in dem JLabel:
Code:
l.setText("  Richtige " +aus.Richtige()+ " Richtige Farben: "+aus.Frichtige());

Ich bekomme es nicht hin, dass jeder einzelne Wert überprüft wird ;-(
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
N 2D Arrays jedes xy vergleichen Java Basics - Anfänger-Themen 7
J zwei String Arrays miteinander vergleichen Java Basics - Anfänger-Themen 18
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
A Methoden Char-Arrays auf aufeinanderfolgende Elemente vergleichen! Java Basics - Anfänger-Themen 7
J 2 Arrays vergleichen (Unterschiedliche Längen) Java Basics - Anfänger-Themen 42
Shizmo Arrays miteinander vergleichen Java Basics - Anfänger-Themen 22
D Erste Schritte Arrays vergleichen Java Basics - Anfänger-Themen 1
R 2 mit Arrays bestückte LinkedLists durchsuchen/vergleichen Java Basics - Anfänger-Themen 3
J arrays vergleichen Java Basics - Anfänger-Themen 6
1 Zeichenfolgen in Arrays vergleichen Java Basics - Anfänger-Themen 8
1 Elemente von 2 Arrays vergleichen Java Basics - Anfänger-Themen 12
D Arrays vergleichen Java Basics - Anfänger-Themen 4
D Methoden Arrays vergleichen Java Basics - Anfänger-Themen 10
N Arrays miteinander vergleichen Java Basics - Anfänger-Themen 11
J 2 Arrays vergleichen Java Basics - Anfänger-Themen 16
J Inhalt eines Arrays vergleichen? Java Basics - Anfänger-Themen 8
Fab1 char Arrays vergleichen Java Basics - Anfänger-Themen 4
R Erste Schritte Arrays vergleichen und boolean Java Basics - Anfänger-Themen 5
E Elemente innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 7
J Dimensionen zweier Arrays vergleichen Java Basics - Anfänger-Themen 4
M 2 Arrays mit komplexen Datentyp vergleichen Java Basics - Anfänger-Themen 8
C Arrays vergleichen und Fehlinhalt ausgeben Java Basics - Anfänger-Themen 5
J Zeilen eines Arrays vergleichen Java Basics - Anfänger-Themen 2
N Arrays als Mengen vergleichen Java Basics - Anfänger-Themen 5
J arrays vergleichen Java Basics - Anfänger-Themen 3
T Arrays vergleichen Java Basics - Anfänger-Themen 5
V Inhalt von arrays vergleichen Java Basics - Anfänger-Themen 6
R String Arrays Inhalte vergleichen Java Basics - Anfänger-Themen 4
M Arrays vergleichen Java Basics - Anfänger-Themen 2
H Mehrdimensionale Arrays vergleichen Java Basics - Anfänger-Themen 6
P arrays vergleichen geht nicht? Java Basics - Anfänger-Themen 3
D Arrays vergleichen (oder wie man das auch nennen will). Java Basics - Anfänger-Themen 13
J Mehrdimensionale Arrays inhaltlich vergleichen. Java Basics - Anfänger-Themen 3
M Felder innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 2
N Mischen und vergleichen von Arrays Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
J ArrayList vergleichen im spiel Mastermind Java Basics - Anfänger-Themen 2
J Array.list vergleichen Java Basics - Anfänger-Themen 1
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
W LocalDate vergleichen mit Equals? Java Basics - Anfänger-Themen 7
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
S String mit Int input vergleichen Java Basics - Anfänger-Themen 5
S Den Minimumberechnen 2 codes vergleichen Java Basics - Anfänger-Themen 4
S Chars vergleichen ohne Betrachtung der Groß und Kleinschreibung Java Basics - Anfänger-Themen 7
S Aktuell beste Methode um zwei Bilder zu vergleichen..? Java Basics - Anfänger-Themen 1
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
districon Vergleichen von Objekten Java Basics - Anfänger-Themen 20
M Strings vergleichen Java Basics - Anfänger-Themen 10
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
Stephan_kl Reihenwert-Berechnung, Ergebnis mit vorherigem Ergebnis vergleichen Java Basics - Anfänger-Themen 11
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
O String mit Character vergleichen Java Basics - Anfänger-Themen 3
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
M Matrix Elemente vergleichen Java Basics - Anfänger-Themen 11
I Alle Elemente von zwei Listen vergleichen Java Basics - Anfänger-Themen 1
R String vergleichen Java Basics - Anfänger-Themen 59
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
C System.in.read() Boolsche Werte vergleichen Java Basics - Anfänger-Themen 8
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
A Daten auslesen/vergleichen Java Basics - Anfänger-Themen 3
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
A Suffix vergleichen Java Basics - Anfänger-Themen 2
L Erste Schritte Elemente zwei Schlangen vergleichen Java Basics - Anfänger-Themen 14
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
F Input/Output 2 Textdateien mit einander vergleichen Java Basics - Anfänger-Themen 11
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
M String vergleichen Java Basics - Anfänger-Themen 5
T Datentypen Kann Java 2 verschiedene Datentypen vergleichen? Java Basics - Anfänger-Themen 2
S Array, Geburtsdatum, Vergleichen Java Basics - Anfänger-Themen 28
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
L Variablen Versionsnummern vergleichen Java Basics - Anfänger-Themen 5
N Methoden int[]'s vergleichen Java Basics - Anfänger-Themen 4
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
T JPasswordFielder vergleichen Java Basics - Anfänger-Themen 16
K Datentypen Einträge zweier Matrizen vergleichen Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Werte in Liste mit Nachfolger vergleichen Java Basics - Anfänger-Themen 5
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
J Zahlensequenz mit einer anderen Sequenz vergleichen Java Basics - Anfänger-Themen 6
P String größer kleiner gleich vergleichen Java Basics - Anfänger-Themen 6
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
J Methoden BinaryStrings vergleichen Java Basics - Anfänger-Themen 12
C arrey mit string vergleichen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben