StartTutorialsGame Makerchoose() - Der einfache Zufall

choose() – Der einfache Zufall

  • 1 Monat her
  • 2Minuten

Über Zufallszahlen und die verschiedenen Möglichkeiten gab es hier bereits einige Tutorials. Doch manchmal existieren Sonderfälle, für die es im GameMaker eine einfache Lösung gibt.

Was ist choose?

Wörtlich übersetzt heißt es “wählen”. Im Kern geht es um nichts anderes. Die Funktion wählt zufällig zwischen vorgegebenen Parametern aus. Die Verwendung ist dabei sehr einfach. Hier ein Beispiel:

Wie immer, wenn wir mit Zufallsgeneratoren im GameMaker arbeiten, brauchen wir randomise(). Wenn wir das nicht starten, erhalten wir beim Spielstart immer den selben Wert.

Anschließend definieren wir eine Variable, in diesem Fall names. Dahinter kommt auch schon die Funktion, in diesem Fall mit fünf weiblichen Namen gefüllt.

Wichtig: Strings werden natürlich in Anführungszeichen geschrieben.

Die Variable kann jetzt beliebig verwendet werden. Sie enthält eine der fünf Namen.

Alternative zu Switch

In vielen Fällen kann man auf Switch verzichten. Vor allem, wenn wir nur einen Parameter haben. Zur Verwendung empfehlen wir choose möglichst nur dann zu benutzen, wenn es wirklich nur einen Parameter gibt oder bewusst mehrere gewürfelt werden sollen. Etwa Namen und Farben. Mehrere Parameter mit einem Zusammenhang sind hingegen zu vermeiden. Hier ist eine Switch deutlich besser. Je nach Komplexität könnte man es auch mit Arrays lösen. Im Array definiert man die Parameter und würfelt die einzelnen Arrays aus. Etwa so:

Und dann im Draw-Event:

Resultat:

adnana

Anwendungsbeispiele

Die GameMaker-Hilfe zeigt bereits die Beispiele Namen, Sprites und Zahlen. Die Farben wurden schon genannt. Beispiel:

In Kombination mit dem ersten Code kann bspw. im Draw-Event “Claudia” in der Farbe Grün angezeigt werden.

Aber zurück zu den Zahlen. Oft hat man den Fall, dass nur aus ganz bestimmten Zahlen gewählt werden soll. Etwa 1, 2, 5 und 8. Hierfür ist choose perfekt.

Objekte kommen ebenfalls in Frage. An einer bestimmten Stelle im Level soll zufällig einer von drei möglichen Gegnern erscheinen? Kein Problem.

Oder dieses Beispiel:

Im Draw-Event ausgegeben sieht es dann so aus:

choose-beispiel

Das heißt, man kann auch das Problem mit längeren, zufälligen Texten, bspw. eines NPCs, damit lösen.

Fazit

In einigen speziellen Fällen ist choose() eine deutliche Erleichterung und bietet viele tolle Anwendungsmöglichkeiten. Einfach mal selbst probieren.

Sven Gramatke//www.gravitationart.com/
Schreibt gelegentlich Artikel. Schwerpunkte sind Gamedesign, Programmierung (GML, PHP und JS), Retro und Berichte.
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments

NEWS

ByteGame News

Gamedev Podcast 52 – Game Therapy

0
Wer in den letzten 20 Jahren eine deutsche Tagesklinik schon mal von innen gesehen hat, kennt vielleicht Cogpack. Bei Cogpack kann man am PC...
GameJam-Logo von ManaSoup-GameJam (irgendwas mit Pizza)

Manasoup GameJam

0
Die drei-tägige Manasoup GameJam startet am Freitag, den 03.12.2021! Bei dieser deutschsprachigen GameJam der Gamedev-Discord-Community Manasoup-Network (in Kooperation mit Game Dev Podcast und dem Magazin...
ByteGame News

Multiplayer in Godot 4.0

0
Im Godot-Blog gibt es nun einen Beitrag über das neue Multiplayer-Replikationssystem, das für Godot 4.0 entwickelt wird. Darin werden die Konzepte vorgestellt, auf deren...

Echtzeit-Charakteranimationsschulung in der Unreal Engine

0
Animationen sind ein wichtiger Bestandteil jeder Storyline. Neben der Vielzahl von Objekten, die man in der Unreal Engine animieren kann - Charaktere, Objekte, Materialien...
ByteGame News

Rudi ist der beste Spürhund!

0
Bei A Swift's Live 2 - The Journey hat der Hund Rudi eine Schnüffel-Fortbildung genossen und kann nun besser schnüffeln denn je. Als Resultat...
0
Would love your thoughts, please comment.x
()
x