# Hilfe zu Hausaufgabe (Hamsterprogramm)



## Peregrin (13. Dezember 2004)

Hi

ich habe für morgen eine hausaufgabe auf und bin langsam am Verzweifeln. Also es geht um das Hamsterprogramm, wir sollen folgendes Territorium Programmieren 

http://mitglied.lycos.de/bartsimpson4483/Feld.bmp

Zu diesem territorium haben wir folgende Hinweise bekommen 
/11/ Es gibt die int-Klassenattribute AnzReihen, AnzSpalten. Sie geben die Größe des Territoriums an und werden mit 10 initialisiert. Es gibt das int Klassenattribut AlleKoerner, das die Summe aller Körner auf allen Kacheln speichert. Schreiben Sie die get- Operationen zu allen Attributen.
/12/ Das Klassenattribut Koerner ist ein geschachteltes int- Feld. Es ist so groß wiedas Territorium. Es wird mit Koernerzahlen zwischen 0 und 9 je Kachel initialisiert.Denken Sie sich eine Wertekombination für die Initialisierung aus.
/13/ Das Klassenattribut Mauer ist ein geschachteltes boolean-Feld. Es ist so groß, wie das Territorium. Es wird mit true (Mauer da) oder false (keine Mauer) initialisiert. Denken Sie sich eine Wertekombination für die Initialisierung aus. Beachten Sie, dass entweder eine Mauer auf einer Kachel steht oder Körner dort liegen.
/14/ Schreiben Sie eine Prozedur aendereKoernerAufKachel(int r, int s, int anz), die die Anzahl der Koerner an der Position r, s um anz addiert.
/15/ Es gibt eine Prozedur setInitialAlleKoerner(), die das Attribut AlleKoerner auf die Summe aller Körner im Feld Koerner setzt. Diese Prozedur wird aus der TestTerritorium- Klasse aufgerufen.
/16/ Schreiben Sie eine Operation aendereAlleKoerner(int anz), die anz zu dem Attribut AlleKoerner addiert.
/17/ Schreiben Sie eine Funktion int getKoernerAufKachel(int r, int s), die die Anzahl der Körner im Feld Koerner an der Position r, s zurückgibt.
/18/ Schreiben Sie eine Funktion boolean getMauer(int r, int s), die den Wert true zurückliefert, wenn an der Stelle r, s eine Mauer ist; sonst liefert sie false zurück.


----------



## Peregrin (13. Dezember 2004)

Also habe folgendes problem ich scheitere schon am 2 Punkt  



```
public class Territoriumx

{

int AnzReihen =10;

int AnzSpalten = 10;

int AlleKoerner;



static int Koerner [][];

static boolean Mauer [][];







public Territoriumx (int AnzSpalten, int AnzReihen) {

this.AnzSpalten = AnzSpalten;

this.AnzReihen = AnzReihen;

Mauer = new boolean[AnzSpalten][AnzReihen];

Koerner = new int[AnzSpalten][AnzReihen];

}



public static boolean getMauer(int reihe, int spalte) 



{ 

return true; 



} 





public static int getAnzahlKoerner(int reihe, int spalte)



{ 



return 0; 

}



public void setAnzReihen(int anzr)

{

AnzReihen = anzr;

}



public void setAnzSpalten(int anzs)

{

AnzSpalten = anzs;

}





public void setAlleKoerner(int allek)

{

AlleKoerner = allek;

}





public int getAnzReihen()

{

return AnzReihen;

}





public int getAnzSpalten()

{

return AnzSpalten;

}



public int getalleKoerner()

{

return AlleKoerner;

}

}
```
 
soviel habe ich geschafft nur jetzt weiß ich nciht wie ich die felder mit mauern und Koerner initialisieren


----------



## Franz Degenhardt (13. Dezember 2004)

Hi!

Ich möchte dir den Spass bei der Umsetzung nicht nehmen, deswegen geb ich dir bloss ein paar Tipps.

Da in der Aufgabe keine Regel für die Anordnung von Mauer definiert sind, kannst du per Zufall Mauer in dem Territorium verteilen. D.h. du iterierst über alle Felder des Spielfeldes und initalisiert in beiden Arrays das jeweilige Feld. Dabei gilt natürlich, wenn eine Mauer auf dem Feld steht, dürfen keine Körner an der Stelle sein. Das Körnerfeld muss dann aber trotzdem initialisiert werden.

Da fehlen einige Leerzeichen z.B. bei publicclass. Kann natürlich auch sein, dass die beim copy-pasten weggekommen sind.

Wenn du noch keins besitzt, dann besorg dir ein ordentliches IDE, mit dem du prima programmieren kannst, z.B eclipse

Grüsse TrueSun


----------

