# Hilfe bei  einem  Mosaikspiel



## Christoph veit (2. Apr 2015)

Hallo erst mall
Ich habe ein Problem mit einer einer Aufgabe aus meinem Studium .
Hier kommt mal die klassen :
[Anhang anzeigen BildCanvas.javaAnhang 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


----------



## Gucky (2. Apr 2015)

Du hast keine Frage gepostet. Hast du selber schon etwas versucht?


----------



## Joose (2. Apr 2015)

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)


----------



## Christoph veit (2. Apr 2015)

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.


----------



## Gucky (2. Apr 2015)

Du könntest es mit einer Liste vom Typ int Array versuchen.


----------



## Christoph veit (2. Apr 2015)

Wie kan ich da 2 werte speichern und wie gebe ich die werte dan so aus : 0/2?


----------



## Gucky (2. Apr 2015)

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.


----------



## Christoph veit (20. Apr 2015)

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 :

```
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:

```
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));
		}
	}
}
```


----------



## sti (20. Apr 2015)

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.)


----------



## Christoph veit (20. Apr 2015)

Es ist auch kein Problem und das habe ich auch nicht  Gefrage . 
Ich habe gefragt was diese Fehler meldung  bedeutet !


----------



## sti (20. Apr 2015)

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.)


----------



## Christoph veit (20. Apr 2015)

Oh ok hier ist der anhang
Anhang anzeigen 7666


----------



## Gucky (20. Apr 2015)

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.


----------



## Christoph veit (20. Apr 2015)

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 ?


----------



## Gucky (20. Apr 2015)

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.


----------



## sti (20. Apr 2015)

Auf deutsch: 

du returnst deinen String "returnString" vor deiner forschleife. damit wird diese nicht mehr erreicht.


----------



## Christoph veit (20. Apr 2015)

Ok danke für die Hilfe .


----------

