Irritierende Steuerung perfekt umsetzen.

  • Irritierende Steuerung perfekt umsetzen.

    Hallo zusammen. Ich habe wiedermal ein Problem. Ich will ein "Hackspiel" machen das ganz simpel mit den Pfeiltasten gesteuert wird. Allerdings geht es in richtung "Simon Say's". Man bekommt Die Codes und mit denen muss man sich zum PC hacken, schaut selbst.

    Alles-sagendes Bild

    Wie geh ich da denn nun vor, so dass der Player schrittweise weitergeht? Wenn ihr das Bild gesehen habt wird alles klar.
  • keyboard_key_pressed_left - Event

    GML-Quellcode

    1. x-=32

    keyboard_key_pressed_right - Event

    GML-Quellcode

    1. x+=32

    keyboard_key_pressed_up - Event

    GML-Quellcode

    1. y-=32

    keyboard_key_pressed_down - Event

    GML-Quellcode

    1. y+=32


    ,-Megamag

    Magical dream time!
  • Soll das nach einem bestimmten Muster passieren, oder irrational für jeden Schritt manuell zugewiesen werden?

    bei letzterem empfehle ich: Instance Creation Code
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Neues Problem:
    Ich will ja das der player durch die "Leitung" geht, die im Bild sichtbar ist. Aber das player_object geht unten durch ich will aber das es bündig über den Codes ist -.- Und sobald es auf dem code ist muss man halt die zum code gehörende taste drücken um weiter zu kommen, drückt man die falsche ist das spiel aus. also dann geht das player_object gegen die wand -.-.-.-.-.


    man startet zb. auf dem code 01, das heisst RUNTER drücken um zur nächsten platte zu kommen, die rechts nebenan liegt. nichts nach rechts drücken sondern nach unten, jetzt ist man bei einem neuen code (ich habe vier: 01, 11, 10, 00) zb. 10 und das heisst links drücken um zur nächsten nebenanluegenden platte zu kommen die dann auch wieder ein code hat. drückt man den falschen ist das spiel aus. je schneller man durch die leitung ist, desto besser (wie geht dass denn, je weniger "desto 1.er")
  • Ich will ja das der player durch die "Leitung" geht, die im Bild sichtbar ist. Aber das player_object geht unten durch ich will aber das es bündig über den Codes ist -.- Und sobald es auf dem code ist muss man halt die zum code gehörende taste drücken um weiter zu kommen, drückt man die falsche ist das spiel aus. also dann geht das player_object gegen die wand -.-.-.-.-.
    Meinst du dein Object ist verdeckt? Wenn ja musst du zu deinem Object gehen und denn depth ändern.
  • ich finde die idee perfekt für ein schnelles minispiel.

    also da gibt es mehrer lösungsansätze, ich würde ein array machen. Dort drin sind dann jeweils die werte gespeichert etwa so:

    feld[0] = 1
    feld[1] = 0
    feld[2] = 1
    feld[3] = 1
    feld[4] = 0
    feld[5] = 0
    feld[6] = 0
    feld[7] = 0
    feld[8] = 1
    etc.

    zusätzlich eine zählvariable z.B.:

    aktuell = 0;

    jedesmal wenn man also eine taste gedrückt wird, wird überprüft ob im feld[aktuell] die variable drinsteht die gedrückt wurde. Wenn ja, dann mache weiter, wenn nicht dann höre auf.

    GML-Quellcode

    1. if(feld[aktuell] == 1) {
    2. aktuell += 1;
    3. ...
    4. } else {
    5. ...
    6. }


    Auf diesem System kannst du den rest aufbauen, zb. per zufall die felder generieren ob sie 1 oder 0 haben sollen und so weiter.

    ah ich sehe das du noch objekte dafür benutzt. Diese kannst du in einem weiteren array speichern (oder das erste 2 dimensional erweitern) und jeweils wieder mit der gleichen zählvariable aufrufen zb. objekt[aktuell].x oder so

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dur'Rean ()

  • Danke ich bin bei deinem Code noch nicht draus gekommen aber von nichts kommt nichts werde mal den Code studieren.
    Hmmm.... wie schwach ich doch bin!! Ich komme nicht drauss. Also es ist wichtig dass Ihr mich versteht und ich hoffe ihr tut das!



    Also die Figur die man spielt steuert nicht mit den Arrow Keys 1:1, es kommt auf die Platte (mit einem Code, nur mit Nullen und Einsen) an, auf der man sich befindet. Ich starte z.B. auf einer Platte mit einem 01 (neben 00, 11 und 10) und als Hilfe steht:

    01 = DOWN Um weiter zu kommen.
    00 = UP Um zum nächsten zu kommen.
    10 = LEFT Um weiter zu kommen.
    11 = RIGHT Um weiter zu kommen.

    ---R---R---R---R----R---R---R---R----------------
    S[01][00][01][00][01][00][10][11]F
    ---D---U---D---U----D---U---L---R----------------

    Rot ist also falsch.


    PS: Die Bahn muss nicht unbedingt gerade sein, das ist das schwierige. Und den Player bündig auf die Felder "legen lassen".
    Es soll verschiedene "Bahnen" geben die die Felderzahlen zufalls generieren.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von DayNexe ()