planetmaker
Tycoon
    
Beiträge: 1.309
Registriert seit: Oct 2008
|
RE: NML - NewGRF Meta Language
bitmask(n) ist das Gleiche wie 2^n
bitmask(2,3,7) ist das Gleiche wie 2^2 + 2^3 + 2^7
Sprich das Nutzen von Bitmask nimmt die das Jonglieren mit den Potenzen von Zwei ab.
Um ein bestimmtes Bit n einer solchen Bitmask auszulesen kannst Du entweder
Code:
HasBit(bitmask_consist_info, n)
oder das identische
Code:
(bitmask_consist_info & bitmask(n)) > 0
verwenden. Letzteres erlaubt das Testen auf mehrere Bits gleichzeitig:
Code:
(bitmask_consist_info & bitmask(a,b,c)) == bitmask(a,b,c)
bitmask_consist_info hat acht Bits, numeriert von 0 bis 7. Der Wertebereich von bitmask_consist_info liegt also zwischen 0 und 255 (= 2^0 + 2^1 + 2^2 + ... 2^7)
![[Bild: 4q27gcl]](http://tinyurl.com/4q27gcl)
Schreib Deine eigenen NewGRFs, KIs oder Skripte. Siehe dazu DevZone, NML und Tutorien
(Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2011 16:42 von planetmaker.)
|
|
| 27.08.2011 16:40 |
|