Map Zeichnen...

  • Ich versage schon beim ersten Array X(
    Habe mal versucht eine Map zu zeichnen...
    Ein ArrayDisplay von $MAP[0] zeigt mir ein Array von 0 bis 6,
    wenn ich aber $MAP[0][0] ausgeben will gibts nen error...
    Vieleicht kann ja mal jemand der sich mit GDI+ und vorallem auch 2D berechnung auskennt, mal drübergucken.
    Ich sehe schon direkt, dass es so wie ich es vorhabe NUR geht, wenn sich der player genau um ein feld bewegt. Fals der player sich aber nicht genau um ein feld bewegt sondern ein halbes oderso gibt es wieder fehler bei meiner berechnung...
    Also, Profis sind gefragt ^^
    Alles benötigte im Anhang
    PS: In der tiles.au3:

    $TILES[1][0] = 1
    $TILES[1][1] = 3
    $TILES[1][2] = 1

    [0] steht immer für X und [1] für Y auf der tiles.png. beginnt bei 1 zu zählen.
    die [2] ist derzeit noch unbenutzt, soll mal heißen: 1 = begehbar, 0 = nicht begehbar.
    Das ganze Script im anhang.

  • Ganz einfach.

    [autoit]

    Global $MAP[1] ;Eindimensional
    _FileReadToArray("map.txt", $MAP) ;Eindimensional
    _ArrayDelete($MAP, 0) ;Eindimensional
    For $i = 0 to UBOUND($MAP)-1 ;Eindimensional
    $MAP[$i] = StringSplit($MAP[$i], ";", 2) ;Eindimensional
    Next
    _ArrayDisplay($MAP[0]) ;Eindimensional
    msgbox(0, "", $MAP[0][0]) ;Zweidimensional 8|

    [/autoit]

    Du kannst einen eindimensionalen Array nicht einfach so in einen Zweidimensionalen verwandeln
    Kannst du mir mal den Sinn dieser Variablen erklären.
    Dein Script hat nicht genug Kommentare, um ohne weiteres zu erkennen, was genau passiert.

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"


  • Also in der Schleife sollte eigentlich doch ein 2D array draus werden, da ja in jedes element wieder ein array kommt.
    Ich versuche die MAP zu laden, sodass ich dann $MAP[x][y] dann den wert aus der map.txt hab.
    ich seh schon, dass es wohl $MAP[y][x] wird, aber ich sehe keine bessere lösung...

  • Öhm
    Wie soll die Map.txt aussehen, btw:

    [autoit]


    Global $Array[1 "Dimension"][2 "Dimension"]

    [/autoit]

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • nein ich rede von den BPS (stehen links oben)
    bei dieser map (wenn ich ein bisschen reinlaufe) gehen die ziemlich runter...