-
Krieger
ok, ich lese grade noch, aber mir fällt direkt etwas ins auge.
du versuchst flags (flags werden in der programmierung bitwerte, also 0 und 1, genannt) nachzubasteln, nutzt aber die zehner stellen. das mag an für sich einfacher sein, ist aber meiner ansicht nacht wenig zweckmäßig.
wenn du sowieso nur an oder aus hast, kannst du auch entsprechend auch folgendes machen:
im menü nutzbar = 1
im kampf nutzbar = 2
verbrauchbar = 4
etc = 8
jetzt hast du mit zwei zehnerstellen schon 4 mögliche flags, die beliebig miteinander kombiniert werden können.
lass mich eben zeigen, wie man das macht:
sagen wir, du hast ein item mit der ID 100013. jetzt wenden wir den modulo darauf an. aber welchen wert wenden wir an? wir nehmen einfach die nächst höhere zehnerpotenz. wir haben 4 flags. diese potenzieren wir mit 2 und subtrahieren 1, was 15 entspricht (15 ist der höchste wert, den die item flags haben können, wenn alle flags gesetzt sind). die nächst höhere zehner potenz nach 15 ist 100, also machen wir 100013 % 100. raus bekommen wir 13.
jetzt beginnt das richtige aufschlüsseln:
wir beginnen mit dem höchsten flag wert, und schauen ob der in unseren wert hinein passt.
unser flag etc hat einen wert von 8. 8 ist kleiner als 13, also setzen wir einen zwischenspeicher switch auf an und subtrahieren 8 von 13. am ende bleibt die 5. der nächste flag hat den wert 4. gleiches spiel wieder. 4 passt in 5, also wieder einen anderen switch auf an, und am ende bleibt die 1. der nächste flag hat den wert 2. 2 ist größer als 1 also ist der flag nicht gesetzt, gehen wir also weiter.
zum schluss steht dann noch die 1, 1 passt in 1 also ist der flag mit dem wert 1 gesetzt, und wir setzen wieder einen hilfsswitch auf 1.
am ende wäre dann unser ergebnis:
im menü nutzbar = ja
im kampf nutzbar = nein
verbrauchbar = ja
etc = ja
das ganze ist beliebig erweiterbar.
hoffe es ist verständlich geworden, was ich meine
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln