8.4

public void check6_horizontalOrVerticalOverlaps()

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

8.4
ist das gute Idee in die methode “public void check6_horizontalOrVerticalOverlaps()” zuerst die inhalt “strukturieren” (in neu array mit versidenen eingenschaften) um zu Overlap zu prüfen. oder es gibt was cleveres?


“Cleverer” wäre wohl direkt auf den Inhalten zu arbeiten ohne Kopien zu erstellen. Überlege dir anhand von einfachen Gitterrätseln Beispiele wie es zu einer Überschneidung kommen kann. Und dann überlege dir allgemein wie du diese Überschneidung erkennen kannst.

8.4 anforderung punkt 7
Hi,
will nicht extra einen neuen Thread eröffnen, daher schreibe ich hier rein.

Im Code steht bei Anforderung 7:

“(collect lengths for next stage)”

Ist das notwendig oder kann man das auch einfach in der nächsten Methode machen?
Und falls es notwendig ist: Wie kann ich die gesammelten Längen in die nächste
Methode rüberbringen?

Danke


Gut :stuck_out_tongue:

Du kannst, musst aber nicht.

Weitere (Hilfs-)Attribute anlegen.

Bitte :slight_smile:


Diesen Satz habe ich leider auch nicht verstanden. Welche Längen sind gemeint? Maximale X und Y Ausdehnung? Das habe ich schon in 3,4,5 erledigt. Und außerdem darf man doch keine privaten Attribute hinzufügen. Wo soll man dann die Daten hinspeichern?


[quote=Marcel[Inf]]
Diesen Satz habe ich leider auch nicht verstanden. Welche Längen sind gemeint? Maximale X und Y Ausdehnung? Das habe ich schon in 3,4,5 erledigt.
[/quote]

Die Länge der Wörter in wordSpec. wordSpec ist ein String-Array und enthält alle möglichen Wörter.

[quote=Marcel[Inf]]
Und außerdem darf man doch keine privaten Attribute hinzufügen. Wo soll man dann die Daten hinspeichern?
[/quote]

Doch, du darfst private Hilftsattribute anlegen. Alternativ kannst du dir auch Sachen in Methoden als Parameter merken. Beispiel:

public int multViaAdd(int a, int b, int zwischenErgebnis){ 
//im ersten Aufruf hat der Parameter zwischenErgebnis den Wert 0

    if(b==0)
        return zwischenErgebnis;
    zwischenErgebnis+=a;
    return multViaAdd(a,b-1,zwischenErgebnis); 
}

Wie sinnvoll die obige Implementierung ist, darüber lässt sich sicherlich streiten, aber es zeigt dir, wie du Daten als Parameter speichern kannst.