# Hilfe bei einer Array Schulaufgabe



## SirNibo (11. Dez 2008)

Hallo, ich muss eine Hamster Ausgabe mit Arrays realisieren. Es soll ein Hamster Land in der  dem mit folgendem aussehen dargestellt werden.

##############
##.1...3.........9....##
##...6.....6....##..##
##...4..##.........4##
##..##........##...##
##.1..^2.......5....##
#############

Das Array Feld soll aber nicht mit zeichen realisiert werden sondern mit zahlen und jedes arrayFeld soll durch zwei Zeichen dargestellt werden

-2 Bedeutet Mauer im Feld ##
-1 Die Mauer die drum herum geht ##
0 ..........................
^ Bedeutet Hamster
alle höheren zahlen sollen als Zahl dargestellt werden. Quasi die Anzahl der Körner

Das Meiste und ich glaube auch das Leichteste habe ich geschaft. die Außenmauer und alle Punkte werden dargestellt.

Jetzt kommt der schwierige Teil für mich. Die Mauern dadrin bekomme ich nicht hin.  Bei der Initalisierung dürfen die Mauern nicht Benachbart sein, es müssen mindestens 2 Felder Vertiakl, Horizontal und Diagonal dazwischen Platz sein. Die freien Felder mit bis zu 9 Körnern belegen.

Der Prof hat dazu noch so eine Formel beigelegt, die ich aber nicht verstehe.

n = Maximum{0, Minimum{anzZeilen – 3, anzSpalten – 3} }
- die freien Kacheln zufällig mit insgesamt n Körnern belegt werden,
n = Maximum {0, (anzZeilen – 2) * (anzSpalten – 2) + 1}

Kann mir bitte jemand Helfen.  :###


----------



## Guest (12. Dez 2008)

Was ist den jetzt genau das Problem? Das du die Formel nicht verstehst? Ich versteh sie so zusammenhangslos auch nicht.


----------



## Ebenius (12. Dez 2008)

Meine Freundin hat jetzt Meerschweine. Die mag ich aber nicht. Und Hamster auch nicht. Und Hausaufgaben.

Dafür aber schlafen. Gute Nacht! Ebenius


----------



## diggaa1984 (12. Dez 2008)

also ich muss sagen ich hab die Aufgabe im Detail nichtma verstanden. Irgendwas mit mauern und hamstern und körnern gut, aber _Das Array Feld soll aber nicht mit zeichen realisiert werden sondern mit zahlen und jedes arrayFeld soll durch zwei Zeichen dargestellt werden_ .. entzieht sich meinem Horizont. Hm vielleicht das ganze nochma präzisieren oder wie auch immer. Und eigene Ideen sind immer willkommen, sonst ist bei Hausaufgaben mit Hilfe eher schlecht.


----------



## Ebenius (12. Dez 2008)

diggaa1984 hat gesagt.:
			
		

> _Das Array Feld soll aber nicht mit zeichen realisiert werden sondern mit zahlen und jedes arrayFeld soll durch zwei Zeichen dargestellt werden_ .. entzieht sich meinem Horizont.



Damit meint er, dass das ganze nicht in einer GUI läuft, sondern nur auf stdout eine Art Ascii-Grafik erstellen soll (wie im Originalpost zu sehen). EDIT: Jedes Element im Feld mit zwei Characters.

Ebenius


----------



## diggaa1984 (12. Dez 2008)

ja das is mir klar  .. aber Zeichen nein, nur Zahlen und dann wieder 2 Zeichen ^^ .. naja ich mein ich kanns mir vom Bild oben herleiten ... hm nuja .. ma abwarten ob er/sie noch eigene Ansätze präsentieren.

edit: oder meinter er/sie zeichnen statt zeichen? weil das 2. wort Zeichen wurde ja gross geschrieben ^^

editit: 





> EDIT: Jedes Element im Feld mit zwei Characters.


 Hey du hast recht, nu versteh ich das ^^


----------



## SirNibo (12. Dez 2008)

Ich habe das Wichtigste vergessen mit zu schreiben. Die Mauern im Feld sollen radom mäßig erstellt werden. Aber so das immer 2 Felder Diagonal, Horizontal und Vertikal dazwischen Platz ist. Die Mauern im Feld sollen mit einer -2 deklariert werden.


----------



## Ebenius (12. Dez 2008)

SirNibo hat gesagt.:
			
		

> Ich habe das Wichtigste vergessen mit zu schreiben. Die Mauern im Feld sollen radom mäßig erstellt werden. Aber so das immer 2 Felder Diagonal, Horizontal und Vertikal dazwischen Platz ist. Die Mauern im Feld sollen mit einer -2 deklariert werden.



Das hatte ich auch schon _geraten_


----------



## FenchelT (12. Dez 2008)

@digga:
Also das mit den Mauern und Koerner, Hamstern und Java kannst Du Dir hier kurz angucken :
http://www.java-hamster-modell.de/

 :wink:


----------



## Ebenius (12. Dez 2008)

Lieber SirNibo, wenn Du Dich wunderst, dass so wenig Hilfe kommt: Schreib einen Ansatz, beschreib ihn, poste ein bisschen Quelltext und stell eine konkrete Frage.

Ebenius


----------



## ARadauer (12. Dez 2008)

ich habe auch einen hamster

http://www.meinvz.net/Photos/Album/...2b7daabb4b/i/448f1977d49fa30a5cff838ddd07c527

der trinkt manchmal bier ;-)


----------



## ARadauer (12. Dez 2008)

Ebenius hat gesagt.:
			
		

> Lieber SirNibo, wenn Du Dich wunderst, dass so wenig Hilfe kommt: Schreib einen Ansatz, beschreib ihn, poste ein bisschen Quelltext und stell eine konkrete Frage.
> 
> Ebenius


oder zahle bier!

nicht für mich fürn hamster!


----------



## stev.glasow (12. Dez 2008)

spam mal nich so rum hier *vaddigesicht mach* dein bild führt übrigens zum vz login


----------



## SirNibo (14. Dez 2008)

Mein Konstruktor schaut so aus. 

for (int z = 0;  z < anzZeilen; z++)
        {
            for (int s = 0; s< anzSpalten; s++)
            {
                if (z == 0 || z == anzZeilen-1 || s == 0 || s == anzSpalten-1)
                    this.dieKacheln[z] = -1;
                else
                    this.dieKacheln[z] = 0;
            }
        }


############
##....................##
##...................##
##...................##
##...................##
##...................##
############

Ich weiß einfach nicht wie ich die Hindernisse Random mäßig rheinkriegen soll. Das alle 2 Lücken Horizontal, Vertika und Diagonal Platz ist


----------



## Semox (24. Jan 2009)

Hi

Bist du noch daran interessiert wie das gehen könnte?

Versuche es doch mal mit einen Array und die entsprechenden Felder manuell zu füllen. Variabel kannst Du das ja süäter immer noch machen...

Woher ich das weiß? Ich habe vor ein paar Tagen ein Labyrinth mit Ariadne Automatik programmiert. Da stand ich vor demselben Problem.

Hier ein Beispiel, was ich meine:


```
public class Labyrinth{
  static char[][] l1 = {{'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x'},
                        {'x', ' ', ' ', ' ', ' ', ' ', 'x', ' ', ' ', 'x'},
                        {'x', ' ', 'x', 'x', ' ', ' ', 'x', 'x', 'x', ' '},
                        {'x', ' ', ' ', ' ', 'x', 'x', 'x', ' ', ' ', ' '},
                        {'x', ' ', ' ', ' ', 'x', ' ', ' ', ' ', 'x', 'x'},
                        {'x', 'x', ' ', ' ', 'x', 'x', ' ', ' ', 'x', ' '},
                        {' ', ' ', ' ', 'x', ' ', ' ', 'x', ' ', 'x', ' '},
                        {'x', ' ', ' ', ' ', 'x', ' ', ' ', ' ', 'x', 'x'},
                        {'x', ' ', 'x', 'x', 'x', 'x', ' ', 'x', 'x', 'x'},
                        {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}};
```

Liebe Grüße
SemoX


----------

