Brauche Hilfe bei der Frage: Zug noch möglich??

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Brauche Hilfe bei der Frage: Zug noch möglich??

    Hallo, Leute,

    mein Spiel ist jetzt fast fertig, jedoch ich komme einfach um die Frage nicht umhin, ob auf dem Spielfeld nun noch ein Zug möglich ist. Dachte, das kann ich irgendwie umgehen, aber es geht nicht ohne.
    Zur Erklärung: Das Spielfeld sieht irgendwann z.B. so aus wie im Anhang.

    die Sprites sind 40x40 Pixel, heissen obj_diamond_blue, obj_diamond_red etc, sind allesamt solid (!) und haben das Eltern-Objekt obj_diamond_parents.

    Ich dachte, um die Frage zu klären, nehme ich jetzt erst mal eine Schleife und frage das gesamte Spielfeld ab.
    Innerhalb der Schleife frage ich an, welche id das dortige Objekt hat:

    GML-Quellcode

    1. my_id=place_meeting(i,j,object_index);

    aber schon das ergibt jedes Mal "0" als id (??).

    Und nun die Frage, ob das Feld auch nur einen umliegenden Stein gleicher Farbe hat - und das führt zu gar nix mehr. Dabei ist ein Zug nur dann nicht mehr möglich, wenn keine 3 Steine mehr aneinander grenzen - aber ich scheitere schon bei der Abfrage von nur einem Stein:

    GML-Quellcode

    1. var i,j, my_id;
    2. for (i=80;i<global.breite;i+=40) {
    3. for (j=80;j<global.hoehe;j+=40) {
    4. my_id=place_meeting(i,j,object_index);
    5. with (my_id)
    6. if !place_meeting(x-20,y,my_id) && !place_meeting(x+20,y,my_id) && !place_meeting(x,y-20,my_id) && !place_meeting(x,y+20,my_id)
    7. global.nozug=true;
    8. }
    9. }


    Vielleicht benutze ich einfach die falschen Befehle (Erinnerung: alle solid!)? Oder ich blicke es einfach nicht. Jedenfalls komme ich nicht weiter.
    Bitte: wer kann helfen bei der Abfrage, ob hier noch ein Zug möglich ist?

    Ich sage schon mal im voraus herzlichen Dank für jede Form der Unterstützung,
    Archie
    Bilder
    • diamanten.JPG

      47,25 kB, 502×561, 85 mal angesehen
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Ich habs jetzt nur grob überflogen und das Problem mit place_meeting ist folgendes:
    place_meeting gibt keine ID zurück sondern nur, ob dort eben etwas ist, oder nicht (1 oder 0). Du solltest es also mit collision_point versuchen, Damit erhältst du die ID in dem Fall dass eine Instanz dort ist.
    Wie gesagt den Rest habe ich nur überflogen, aber vielleicht hilft dir das bereits.

    © 2008 by Teamgrill Productions
  • MasterXY schrieb:

    place_meeting gibt keine ID zurück

    Ach, nicht?? Deshalb ernte ich nur lauter Nullen... :wacko:
    Ok, dann versuche ich es mal mit collision-point. Hoffe nur, es gehen dabei nicht wiederum etliche Tage rumwursteln drauf...
    Wenn also noch jemand eine "Lösung" hätte für mein Problem da oben, dann wäre ich nicht gerade undankbar... :whistling:

    Gruß Archie

    Also, hab das inzwischen mal umgeändert, jetzt gibt die Zeile

    GML-Quellcode

    1. my_id=collision_point(i,j,obj_diamond_parent,true,true);

    tatsächlich die id aus. Nur komme ich einfach nicht weiter: a) wie kann ich jetzt überprüfen, ob benachbarte Steine die gleichen sind und b) selbst wenn - nutzt mir das wenig, da ja ein Zug erst dann unmöglich ist, wenn keine 3 (und nicht 2) Steine hintereinander liegen.

    Wer kann mir denn bitte hier mal weiterhelfen? Muss doch eine Möglichkeit geben, oder....?
    Innigsten Dank schon mal im voraus!
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Archie ()

  • Benutzer online 1

    1 Besucher