Frage von Max0981, 13

Mehrere Sachen ausführen geht nicht wegen Interpreter (Er liest ja alles einzeln hintereinander) in Ruby?

Also ich möchte Wissen wie man bestimmten Code gleichzeitig ausführen kann in der Programmiersprache Ruby. Denn wenn ich da jetzt Code habe dann schreibe ich ihn wie jeder andere auch natürlich hintereinander in einzelne Zeilen.

Aber der Interpreter liest ja von oben nach unten wie kann ich es schaffen das er bestimmte Sachen gleichzeitig ausführt ? (Ist für ein Textadventure) Hier mal ein kleines Beispiel wenn ich jetzt ein Textadventure habe wo das Spiel läuft und noch ein Timer wodurch das Spiel nach bestimmter Zeit aushört und den Score ausrechnet. (Wie ja bei den meisten Spielen)

def Timer

Code

end

def Game

Code

end

Timer()

Game()

Hierbei würde erstmal der Timer runterlaufen und dann erst das Spiel anfangen. Wie geht das nun richtig ? Ich bitte um normale Antworten! Ich weiß es nun mal nicht.

Antwort
von maximilianus7, 12

googeln: ruby threads

Kommentar von Max0981 ,
thr = Thread.new { KeyActions()
Timer() }
thr.join

Okay und was bringt mir das jetzt ? Was bringen Threads ? Mehrere Sachen gleichzeitig kann ich immer noch nicht machen.

Denn wenn ich da jetzt zum Beispiel mein Script einfüge wo er Tastendrücke ohne Enter Taste sofort anerkennt dann wartet er immer noch bis die nächste Tasten Eingabe kommt und dann läuft erst die Zeit ab.

Ich verstehe das nicht.

Kommentar von maximilianus7 ,

doch, du musst halt mehrere Thread.new aufrufe machen, für jede aktionsfolge die parallel laufen soll eine.

Kommentar von Max0981 ,

Danke ! Endlich weiß ich wie das geht!

Wie kann ich mich bei dir bedanken ?

Kommentar von maximilianus7 ,

beste antwort? (die auswahl ist ja nicht so gross ;-)

Keine passende Antwort gefunden?

Fragen Sie die Community