AsciiImage - Linien zeichnen mit Arrays

  • Hi!

    Ich bins mal wieder ;)

    Hab diesmal folgendes Problem: Wir sollen ein Programm schreiben, dass ein Charakter Array erstellt, und dann mit der Funktion drawLine Linien zeichnen kann. Ich habe ein Problem mit der AsciiImage Klasse, da das im Drawline-Komplex aufgerufene AsciiImageObjekt anscheinend nicht von oben übernommen kann.. Alle anderen Probleme hab ich mal soweit ausgemerzt, auch wenn in der Formel zur Linienzeichnung sicher gröbere Logikfehler sind. Der Algorythmus ist der Bresenhams line algorythm:




    Bin für jede Hilfe dankbar,


    L.G.: emptyvihttp://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm

  • uhm du machst in deinem constructor ein 2d char array namens "AsciiImage"

    diese variable hat nur einen lokalen gültikgeitsbereich (existiert nur innerhalb vom constructor) und in der drawLine funktion gibt es diese variable nicht mehr also kannst du auch nicht auf sie zugreifen so wie du es dir vorstellst

    du musst dieses 2d char array zu den member variablen (attributen) der klasse dazuhauen damit es innerhalb der instanz deiner klasse für alle methoden bekannst ist

    das kompiliert ja auch sicher nicht oder? ich denke java sollte dich die variable garnicht so nennen lassen wie die klasse (klasse heißt AsciiImage und dieses 2d char array heißt auch AsciiImage)

    man sollte variablennamen immer kleinschreiben und du solltest dem eher nen namen geben wie "imageData" oder so

    also auf die art

    und gleichzeitig macht es auch nicht viel sinn diese ganzen variablen die du nur innerhalb von nur einer funktion immer brauchst in den klassen scope (klassen variablen = member variablen = attribute) zu hauen

    zb der string toString, es reicht wenn du den einfach nur in die toString() methode reintust und nicht in die klasse gleich (du brauchst ihn ja nur in toString()) - abgesehen davon wäre "imageString" oder so auch nen besserer name als toString

    [FONT=Arial, Helvetica, sans-serif](\__/) [/FONT]
    [FONT=Arial, Helvetica, sans-serif] (='.'=) [/FONT]This is Bunny. Copy Bunny into your signature to help
    [FONT=Arial, Helvetica, sans-serif](")_(")[/FONT] him on his way to world domination.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!