Das Leben könnte so einfach sein, wären da nicht die komplexen Wünsche.
Mein Raumschiff kann bis zu 9 Waffen haben, die man zwischen zwei Missionen in einem Shop kaufen kann. Waffe 1 hat das Raumschiff von Anfang an, die 8 weiteren KANN man sich kaufen, muss man aber nicht.
Im Prinzip ist es einfach. Aktuell kann man mit Ctrl schießen und mit den Zahlen 1-9 schaltet man die Waffen durch. Ob die Waffe da ist, wird durch eine globale Variable geprüft.
Nun will ich dem Spieler die Möglichkeit geben, mit Alt durch die Waffen zu schalten. Ist Waffe 1 aktiv und der Spieler drückt die Alt(e)-Taste, wird auf die Waffe 2 umgeschaltet, wenn sie vorhanden ist. Und genau das ist das Problem. Bei jeder Umschaltung muss geprüft werden, welche Waffe aktiv ist und welche Waffen der Spieler noch hat, um auf die nächste in der Reihe umzuschalten.
Es kann also sein, dass der Spieler mit Waffe 2 spielt, umschaltet, Waffe 3 und 4 nicht vorhanden sind und dann die Waffe 5 kommt. Folgt man der Logik, ergibt das sehr lange, sehr komplexe if-Abfragen. Gibt es dafür auch eine einfachere Methode?

Mein Raumschiff kann bis zu 9 Waffen haben, die man zwischen zwei Missionen in einem Shop kaufen kann. Waffe 1 hat das Raumschiff von Anfang an, die 8 weiteren KANN man sich kaufen, muss man aber nicht.
Im Prinzip ist es einfach. Aktuell kann man mit Ctrl schießen und mit den Zahlen 1-9 schaltet man die Waffen durch. Ob die Waffe da ist, wird durch eine globale Variable geprüft.
Nun will ich dem Spieler die Möglichkeit geben, mit Alt durch die Waffen zu schalten. Ist Waffe 1 aktiv und der Spieler drückt die Alt(e)-Taste, wird auf die Waffe 2 umgeschaltet, wenn sie vorhanden ist. Und genau das ist das Problem. Bei jeder Umschaltung muss geprüft werden, welche Waffe aktiv ist und welche Waffen der Spieler noch hat, um auf die nächste in der Reihe umzuschalten.
Es kann also sein, dass der Spieler mit Waffe 2 spielt, umschaltet, Waffe 3 und 4 nicht vorhanden sind und dann die Waffe 5 kommt. Folgt man der Logik, ergibt das sehr lange, sehr komplexe if-Abfragen. Gibt es dafür auch eine einfachere Methode?