Locations nahe eines Spielers

Dieses Thema im Forum "Programmierung" wurde erstellt von Sabbertran, 8. August 2013.

  1. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Hey,
    ich würde gerne, wenn das möglich ist, die alle Locations in einem bestimmten Radius um einen Spieler herum sammeln und z.b. in einem Array speichern. Nur habe ich keine Idee wie ich da vorgehen könnte.
    Kann mir da jemand helfen, bzw. nen kleinen Gedankenanstoß geben? :)
    Gruß Sabbertran
     
    #1
  2. Chrisliebaer
    Online

    Chrisliebaer

    Locations gibt es nahezu unendlich viele. Du könntest höchstens alle Blöcke im Umkreis speichern. Aber ich vermute mal, dass du etwas ganz anderes machen willst, und dass es eine viel bessere Lösung gibt. Erklär doch mal bitte, was du amchen willst.
     
    #2
  3. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Ich möchte in einem bestimmten Radius um einen Spieler herum ein oder mehrere Items auf den Boden spawnen. Dazu kam mir in den Sinn, das ich die Locations, bzw. die Blöcke in diesem Radius speichere und dann per Zufall einen auswähle und dort die Items spawne.
     
    #3
  4. Chrisliebaer
    Online

    Chrisliebaer

    Das habe ich vermutet. Dein Ansatz ist aber ungeschickt. Macht das stattdessen anderst: Immer, wenn du ein Item spawnen willst, dann nimmst du einfach die Position des Spielers und berechne von dieser Position aus einen zufälligen Wert in der Nähe des Spielers.

    Wenn es ein Kreis sein muss, dann mach passt das hier vielleicht ganz gut:
    http://stackoverflow.com/questions/5837572/generate-a-random-point-within-a-circle-uniformly
     
    #4
  5. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Verstehe ich das richtig, dass ich das über die Koordinaten rechnen soll?
    Also:
    1. Spieler Koordinaten holen
    2. Werte dazurechnen/verändern
    3. Item spawnen usw.
     
    #5
  6. Chrisliebaer
    Online

    Chrisliebaer

    Exakt. Dabei können 2 Probleme auftreten:

    1. Du wilst nicht IN einem Block spawnen. In diesem Fall musst zu zuerst den Block an der zufällig gewählten Position holen und prüfen, ob du darauf ein Item spawnen kannst. Außerdem musst du danach noch prüfen, ob das Item somit noch in Range ist.

    2. Du willst einen Kreis. In diesem Fall hilft dir der Link von mir. Einfache zufällige Werte in einem bestimmten Bereich reichen hierfür nicht aus.

    Ich würde es so machen: Ich berechne Radius und Winkel zufällig. Danach rechne ich diese Position auf die Welt um. Damit das Item nun nicht im Block spawnt, hole ich mir den höchsten Block an dieser Stelle und spawne das Item drauf.
     
    #6
  7. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Jap, so in der Art hatte ich mir das vorgestellt.
    Danke für die Hilfe. Werde mich morgen mal dransetzen. Ich meld mich dann nochmal, obs klappt oder nicht ;)

    - - - Aktualisiert - - -

    Ok, jetzt hat mich der Reiz doch gepackt. Habs einfach mal probiert und es klappte perfekt.
    Danke für die Hilfe :)
     
    #7