Hilfe bei einer Array Schulaufgabe

Status
Nicht offen für weitere Antworten.

SirNibo

Mitglied
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. :###
 
G

Guest

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

Ebenius

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

Dafür aber schlafen. Gute Nacht! Ebenius
 

diggaa1984

Top Contributor
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

Top Contributor
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

Top Contributor
ja das is mir klar :D .. 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

Mitglied
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

Top Contributor
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 :)
 

Ebenius

Top Contributor
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

Top Contributor
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!
 
S

stev.glasow

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

SirNibo

Mitglied
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

Bekanntes Mitglied
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:

Code:
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
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben