rundenbasierte kämpfe

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

  • rundenbasierte kämpfe

    hallo!

    ich habe keine ahnung wie ich rundenbasierte kämpfe programmieren kann... wie zb. in final fantasy... ich greife an, dann greift der gegner an usw.

    und wie mach ich es das die gegner auf einem feld "auftauchen"? zb. man läuft rum und per zufall erscheinen die gegner

    danke
  • Naja, ich würd des halt mit einer Variable machen. Wenn der Kampf startet wird ermittelt ob der Spieler oder der Gegner den Erstschlag hat z.B. mit weristdran = choose(1,2), 1 steht für den Spieler und 2 für den Gegner. Dann wird der Angriff ausgeführt, wenn der beendet ist, ist der Andere dran. Ich kann's jetzt nicht genauer erklären, wie ich des mein, weil ich nicht weiss wie der Rest vom KS programmiert wäre. Auf jeden Fall mit na Variable.

    Zu deiner zweiten Frage: Da gibts viele möglichkeiten. Du könntest z.B. bei der Tastendruckabfrage vom Spieler, also bei den Tasten die gedrückt werden, damit er läuft, einer Variable nen zufälligen Wert zuweisen. Zum Beispiel:

    GML-Quellcode

    1. if keyboard_check(vk_up)
    2. {
    3. //code fürs nach oben latschen
    4. obkampf = round(random(20))
    5. if obkampf = 10 then //starte kampf
    6. }


    Oder du lässt instancen eines objects, dass den Kampf auslöst, im Raum umherwandern (oder auf den Spieler zulaufen). Bei collision mit dem Spieler wird dann ein Kampf ausglöst.

    Hoff des hilft dir etwas weiter :)
    Anderer Leuten Signaturen sind... anderer Leuten Signaturen!


  • Sorry, hab übersehen das Du Drag & Drop-Einsteiger bist. Du solltest dich aber gleich in GML einarbeiten, wenn du gute Ergebnise erzielen willst. (deutsche Game Maker Hilfe )

    random(x) Gibt eine zufällige Zahl zwischen 0 und x wieder. Die Zahl ist immer kleiner als x.
    round(x) Gibt x gerundet auf den nächsten Integer wieder. Z.B. wird 5.6 zu 6 und 7.3 zu 7

    Du willst ne Textbox erstellen, mit Schreibmaschineneffekt nehm ich an? Hab ich auch noch nie gemacht aber hab das hier gefunden: hier und das Tut hier von Defmaster. Habs mir nicht näher angesehn, könnt dir aber weiterhelfen.

    Ein Blick ins Tutorialarchiv ist übrigens nie verkehrt! ;)
    Anderer Leuten Signaturen sind... anderer Leuten Signaturen!


  • also ich hab das in nem spiel von mir mit einem extra controller geregelt. (Tales of Lunaris [erstmal eigenwerbung betreiben]) ;)
    ich will ja nicht zuviel verraten, weil ich nicht genau weiß wo das problem liegt, weil
    das in meinen augen eine sehr komplexe angelegenheit ist.
    die kämpfe laufen bei mir in etwa so ab:
    zuerst werden alle kämpfer des spielers in eine liste eingetragen, dann die gegner in eine andere
    dann wird per zufall entschieden wer anfängt.
    angenommen die gruppe des spielers beginnt:
    die variable die festlegt wer dran ist wir auf 1(spieler) gesetzt.
    nach einer aktion eines gruppenmitgliedes des spielers
    wird eine variable für die bereits agierten spieler hochgezählt.
    sollte diese gleich der größe der vorher angelegten liste sein, schaltet
    die variable wer dran ist auf 0 (gegner)
    dort passiert im prinzip das gleiche.

    ich kann dir das auch gerne nochmal genauer erklären, aber da musst
    du mir dann deine speziellen probleme erläutern.

    ich hoffe der ansatz hilft dir schonmal weiter

    edit: UPS :D jetzt seh ich was dein problem ist.. und.. naja.. vielleicht hilft dir das irgendwann weiter.. sorry

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von HIM666 ()