For any IF statement, it's always implied <> 0 for a truth expression.
IF holdspace THEN ...
The above is the exact same as if you had typed IF holdspace <> 0 THEN ...
The above *should be* the same as typing IF _KEYDOWN(32) = 0 AND holdspace <> 0 THEN holdspace = 0.
The reason I say *should* is that sometimes those types of statements can get resolved in an unexpected order such as IF _KEYDOWN(32) = (0 AND holdspace) THEN.... If I was writing that line of code, I think I'd either write it as:
IF NOT _KEYDOWN(32) AND holdspace THEN holdspace = 0
Or, perhaps as:
IF (_KEYDOWN(32) = 0) AND (holdspace <> 0) THEN holdspace = 0
I'm a strong believer in taking the ambiguity out of any order of operations. As written, I'd personally question if it's doing exactly what I'd be expecting it to do for me.
IF holdspace THEN ...
The above is the exact same as if you had typed IF holdspace <> 0 THEN ...
Code: (Select All)
IF _KEYDOWN(32) = 0 AND holdspace THEN holdspace = 0
The above *should be* the same as typing IF _KEYDOWN(32) = 0 AND holdspace <> 0 THEN holdspace = 0.
The reason I say *should* is that sometimes those types of statements can get resolved in an unexpected order such as IF _KEYDOWN(32) = (0 AND holdspace) THEN.... If I was writing that line of code, I think I'd either write it as:
IF NOT _KEYDOWN(32) AND holdspace THEN holdspace = 0
Or, perhaps as:
IF (_KEYDOWN(32) = 0) AND (holdspace <> 0) THEN holdspace = 0
I'm a strong believer in taking the ambiguity out of any order of operations. As written, I'd personally question if it's doing exactly what I'd be expecting it to do for me.