Hilfe bei einem Mosaikspiel

Christoph veit

Aktives Mitglied
Hallo erst mall
Ich habe ein Problem mit einer einer Aufgabe aus meinem Studium .
Hier kommt mal die klassen :
[Anhang anzeigen BildCanvas.javaSpielflaeche.jpgAnhang anzeigen MosaikModel.javaAnhang anzeigen MosaikIF.javaAnhang anzeigen MosaikEventHandler.javaAnhang anzeigen MosaikCanvas.javaAnhang anzeigen Mosaik.javaAnhang anzeigen FarbMosaik.javaAnhang anzeigen BildMosaik.javaAnhang anzeigen SteuerIF.java

Die „statistische Auswertung“ eines Mosaik-Spiels gibt bislang nur die Anzahl der Versuche aus. Erweitern Sie die Programmierung, sodass nach jedem Spiel die Anzahl der Versuche sowie der Reihe nach alle angeklickten Felder, z.*B. in der Form
zeile 4 / spalte 3
zeile 0 / spalte 2
über die Methode „getStatistikInfo“ ausgegeben werden. Dazu müssen Sie zu jedem angeklickten Feld die Zeilen- und Spaltennummer speichern. Ergänzen Sie diese Erweiterung auf der Grundlage der Applet-Version .
ich würde mich sehr freuen wen mier wer Helfen könte
LG Christoph
 
Wie Gucky schon sagt, ein Ansatz von dir wäre schon ein Anfang.

Im MosaikEventHandler holst du dir doch Spalte und Zeile ab, da wird dir doch bestimmt eine Möglichkeit einfallen es zu speichern (Liste oder ähnliches)
 
Ich habe eine wage ide , weil mein broblem ist das ich nicht weis wie ich Zeile und Spalte speichern kan und sie dan in der Mehtode getStatistikInfo aus gebe.
 
Guck dir bitte noch einmal die Grundzüge von Arrays und Listen an. Dieses Forum ist nicht dazu da um Dinge zu erklären, die schon tausend mal bei Google erklärt wurden.
 
Hallo Danke vür die Info , ich habe das Program schon ferdig gestelt .
Aber es trit eine felermeldung auf.
Fehlermeldung:
Anhang anzeigen 7665
Hier ist der brogram code :
Java:
import java.awt.Point;
import java.util.Vector;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.util.Hashtable;
import java.util.Enumeration;
public class MosaikEventHandler implements MouseListener
{
	Point point;
	Hashtable modelTable;
	Object key;
	Vector  vec = new Vector();
	public  Vector getVector()
	{
		return vec;
	}
	 public MosaikEventHandler()
	 {
	 }
	  public MosaikEventHandler(ModelIF model)
	 	 {
	 		 modelTable = new Hashtable();
	 		 addModel(model);
	 	 }
	 	 public void addModel(ModelIF model)
	 	 {
	 		 key = new Integer(model.hashCode());
	 		 modelTable.put(key,model);
	 	 }
	 	 public ModelIF removeModle(ModelIF model)
	 	 {
	 		 key = new Integer(model.hashCode());
	 		 return(ModelIF)modelTable.remove(key);
	     }
	    public void mouseEntered(MouseEvent me)
	 	{}
	 	public void mouseClicked(MouseEvent me)
	 	{}
	 	public void mouseExited(MouseEvent me)
	 	{}
	 	public void mousePressed(MouseEvent me)
	 	{}
	 	public void mouseReleased(MouseEvent me)
	{
		int a = 0;

		int zeile = ((MosaikIF)me.getSource()).getZeile();
		int spalte = ((MosaikIF)me.getSource()).getSpalte();
		Enumeration enum = modelTable.keys();
        while(enum.hasMoreElements())
		{
			key = enum.nextElement();
			((ModelIF)modelTable.get(key)).action(zeile,spalte);
		}
		while(a > vec.size())
		{
			point = new Point(zeile,spalte);
			vec.add(point);
		}
	}
}
hir ist der 2 code:
Java:
import java.util.Vector;
import java.awt.Point;
public class StatistikModel
{
    private int versuche ;
	MosaikEventHandler mosaikEvent= new MosaikEventHandler();
	String returnString = "Anzahl Versuche: ";
	public  StatistikModel()
	{
	}
	public void action(int zeile,int spalte)
	{
		versuche++;
	}
    public void putObj(int zeile,int spalte,MosaikIF mObj) {
    }
    public String getStatistikInfo()
    {
	    Vector vec2 = mosaikEvent.getVector();
		returnString += versuche;
	    returnString += "\n";
	    return returnString;
	    for(int i= 0;i>vec2.size();i++)
	    {
			System.out.println("cordinaten :"+vec2.get(i));
		}
	}
}
 
Zuletzt bearbeitet:
Du übergibst doch schon Zeile und Spalte, wo ist denn das Problem diese in einer Liste abzulegen?

(In 2 Zeilen Text 6 Rechtschreibfehler einzubauen ist übrigens auch eine Kunst für sich.)
 
Ich kann deinen Anhang leider nicht öffnen!

(Ungültige Angabe: Anhang
Wenn Sie einem normalen, gültigen Link im Forum gefolgt sind, wenden Sie sich bitte an den Webmaster.)
 
Zuletzt bearbeitet:
Auch dieser Anhang lässt sich nicht öffnen. Du musst die Fehlermeldung als Text kopieren.

Du definierst in Zeile 46 int a = 0; und ein paar Zeilen später verwendest du while (a < vec.size()) das macht keinen Sinn.
 
Zuletzt bearbeitet:
Hier ist dei Fehler meldung:
StatisikModel.java:23:unreachable srarement
for(int i =0;i>v>vec2.size();i++)
StatistikModel.java:27: missing return statement
}
und wieso macht es keinen sien , ich wil ja die a variabel auf 0 initialiseren ?
 
Zuletzt bearbeitet:
Wenn du die Fehlermeldung einmal ins Deutsche übersetzt steht da eigentlich alles, was du wissen musst, um den Fehler zu erkennen. In StatisikModel in der Zeile 23 ist etwas, was nicht erreichbar ist und damit erledigt sich auch die nächste Fehlermeldung. Mit einem return springst du aus der Methode heraus.
 

Zurück
Oben