StartTutorialsGame Makerchoose() - Der einfache Zufall

choose() – Der einfache Zufall

  • 2 Monaten 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

Revorix Update 1.9

1
Revorix hat ein neues Update bekommen: Patch 1.9 Hauptfeature sind Ressourcen-Events mit der Möglichkeit wechselnde Ressourcen spenden zu können gegen noch zu enthüllende Überraschungen. Außerdem...
ByteGame News

Godot 3.4.2 veröffentlicht

0
Kurz nach Version 3.4.1 wurde schon 3.4.2 der Spieleengine veröffentlicht. Grund für das schnelle Update war ein Fehler. Bein Rendering unter macOS konnte es...
ByteGame News

CRYENGINE 5.7 Roadmap enthüllt

0
Nach langer Wartezeit wurde nun die Roadmap für die CRYENGINE 5.7 enthüllt. Crytek räumt dabei interne Schwierigkeiten ein. Intern sind wir bei der Entwicklung auf...
GameJam-Logo von ManaSoup-GameJam (irgendwas mit Pizza)

Tolle Projekte in der Manasoup-Gamejam

0
Die Manasoup-GameJam ist zu Ende und es gibt viele tolle, unglaubliche Spiele, die man kostenfrei runterladen und spielen kann. Herzlichen Glückwunsch an die Gewinner -...
ByteGame News

Update bei Revorix

0
Beim Scifi-Browsergame Revorix wird geschraubt. Das Entwicklerteam hat ein Update eingespielt, welches vor allem eines zeigt: das Revorix-Universum lebt! Zitat eines Spielers / Venad Rheingold...
0
Would love your thoughts, please comment.x
()
x